summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/DocBook/kernel-hacking.tmpl2
-rw-r--r--arch/alpha/kernel/irq.c2
-rw-r--r--arch/alpha/kernel/signal.c2
-rw-r--r--arch/alpha/kernel/smp.c2
-rw-r--r--arch/alpha/kernel/sys_alcor.c2
-rw-r--r--arch/alpha/kernel/sys_cabriolet.c2
-rw-r--r--arch/alpha/kernel/sys_dp264.c2
-rw-r--r--arch/alpha/kernel/sys_eb64p.c2
-rw-r--r--arch/alpha/kernel/sys_eiger.c2
-rw-r--r--arch/alpha/kernel/sys_marvel.c2
-rw-r--r--arch/alpha/kernel/sys_mikasa.c2
-rw-r--r--arch/alpha/kernel/sys_nautilus.c2
-rw-r--r--arch/alpha/kernel/sys_noritake.c2
-rw-r--r--arch/alpha/kernel/sys_rx164.c2
-rw-r--r--arch/alpha/kernel/sys_sx164.c2
-rw-r--r--arch/alpha/kernel/sys_titan.c2
-rw-r--r--arch/alpha/kernel/sys_wildfire.c2
-rw-r--r--arch/arm/vfp/vfpdouble.c2
-rw-r--r--arch/arm/vfp/vfpsingle.c2
-rw-r--r--arch/arm26/machine/small_page.c2
-rw-r--r--arch/cris/arch-v10/drivers/ethernet.c2
-rw-r--r--arch/cris/arch-v10/drivers/serial.c2
-rw-r--r--arch/cris/kernel/irq.c2
-rw-r--r--arch/i386/kernel/i8259.c2
-rw-r--r--arch/ia64/hp/common/sba_iommu.c2
-rw-r--r--arch/ia64/hp/sim/simeth.c2
-rw-r--r--arch/ia64/kernel/irq.c2
-rw-r--r--arch/ia64/kernel/irq_ia64.c2
-rw-r--r--arch/ia64/kernel/perfmon.c2
-rw-r--r--arch/ia64/kernel/smp.c2
-rw-r--r--arch/ia64/kernel/smpboot.c2
-rw-r--r--arch/ia64/lib/bitop.c2
-rw-r--r--arch/ia64/mm/init.c2
-rw-r--r--arch/ia64/sn/kernel/sn2/sn2_smp.c2
-rw-r--r--arch/m32r/kernel/irq.c2
-rw-r--r--arch/m32r/mm/init.c2
-rw-r--r--arch/m68k/sun3/mmu_emu.c2
-rw-r--r--arch/mips/au1000/common/au1xxx_irqmap.c2
-rw-r--r--arch/mips/au1000/common/irq.c2
-rw-r--r--arch/mips/au1000/csb250/irqmap.c2
-rw-r--r--arch/mips/au1000/db1x00/irqmap.c2
-rw-r--r--arch/mips/au1000/hydrogen3/irqmap.c2
-rw-r--r--arch/mips/au1000/mtx-1/irqmap.c2
-rw-r--r--arch/mips/au1000/pb1000/irqmap.c2
-rw-r--r--arch/mips/au1000/pb1100/irqmap.c2
-rw-r--r--arch/mips/au1000/pb1500/irqmap.c2
-rw-r--r--arch/mips/au1000/pb1550/irqmap.c2
-rw-r--r--arch/mips/au1000/xxs1500/irqmap.c2
-rw-r--r--arch/mips/baget/irq.c2
-rw-r--r--arch/mips/gt64120/ev64120/irq.c2
-rw-r--r--arch/mips/gt64120/momenco_ocelot/irq.c2
-rw-r--r--arch/mips/ite-boards/generic/irq.c2
-rw-r--r--arch/mips/jmr3927/rbhma3100/irq.c2
-rw-r--r--arch/mips/kernel/signal.c2
-rw-r--r--arch/mips/kernel/signal32.c2
-rw-r--r--arch/mips/kernel/signal_n32.c2
-rw-r--r--arch/mips/momentum/ocelot_c/irq.c2
-rw-r--r--arch/mips/momentum/ocelot_g/irq.c2
-rw-r--r--arch/mips/pmc-sierra/yosemite/irq.c2
-rw-r--r--arch/mips/sgi-ip27/ip27-irq.c2
-rw-r--r--arch/mips/sgi-ip32/ip32-irq.c1
-rw-r--r--arch/mips/tx4927/common/tx4927_irq.c2
-rw-r--r--arch/mips/tx4927/common/tx4927_setup.c2
-rw-r--r--arch/parisc/kernel/smp.c2
-rw-r--r--arch/ppc/4xx_io/serial_sicc.c2
-rw-r--r--arch/ppc/8260_io/enet.c2
-rw-r--r--arch/ppc/8260_io/fcc_enet.c2
-rw-r--r--arch/ppc/8xx_io/enet.c2
-rw-r--r--arch/ppc/8xx_io/fec.c2
-rw-r--r--arch/ppc/kernel/bitops.c2
-rw-r--r--arch/ppc/kernel/irq.c2
-rw-r--r--arch/ppc/kernel/ppc_htab.c2
-rw-r--r--arch/ppc/kernel/ppc_ksyms.c2
-rw-r--r--arch/ppc/platforms/pmac_setup.c2
-rw-r--r--arch/ppc/syslib/prom.c2
-rw-r--r--arch/ppc/syslib/prom_init.c2
-rw-r--r--arch/ppc/xmon/start.c4
-rw-r--r--arch/ppc/xmon/xmon.c2
-rw-r--r--arch/ppc64/kernel/LparData.c2
-rw-r--r--arch/ppc64/kernel/bitops.c2
-rw-r--r--arch/ppc64/kernel/iommu.c2
-rw-r--r--arch/ppc64/kernel/irq.c2
-rw-r--r--arch/ppc64/kernel/lmb.c2
-rw-r--r--arch/ppc64/kernel/pmac_setup.c3
-rw-r--r--arch/ppc64/kernel/ppc_ksyms.c2
-rw-r--r--arch/ppc64/kernel/prom.c2
-rw-r--r--arch/ppc64/kernel/prom_init.c2
-rw-r--r--arch/ppc64/kernel/ras.c2
-rw-r--r--arch/ppc64/kernel/rtas-proc.c2
-rw-r--r--arch/sh/boards/bigsur/irq.c2
-rw-r--r--arch/sh/boards/bigsur/setup.c2
-rw-r--r--arch/sh/kernel/cpu/irq_imask.c2
-rw-r--r--arch/sh/kernel/irq.c2
-rw-r--r--arch/sh64/kernel/irq.c2
-rw-r--r--arch/sh64/kernel/irq_intc.c6
-rw-r--r--arch/sparc/kernel/signal.c2
-rw-r--r--arch/sparc/lib/bitext.c2
-rw-r--r--arch/sparc/mm/io-unit.c2
-rw-r--r--arch/sparc64/kernel/signal.c2
-rw-r--r--arch/sparc64/kernel/signal32.c2
-rw-r--r--arch/sparc64/kernel/unaligned.c2
-rw-r--r--arch/sparc64/lib/find_bit.c2
-rw-r--r--arch/v850/kernel/fpga85e2c.c2
-rw-r--r--arch/x86_64/kernel/i8259.c2
-rw-r--r--arch/x86_64/kernel/pci-gart.c2
-rw-r--r--arch/x86_64/kernel/setup64.c2
-rw-r--r--arch/x86_64/lib/bitops.c2
-rw-r--r--arch/x86_64/lib/bitstr.c2
-rw-r--r--drivers/acorn/block/fd1772.c2
-rw-r--r--drivers/block/z2ram.c2
-rw-r--r--drivers/bluetooth/bt3c_cs.c2
-rw-r--r--drivers/bluetooth/btuart_cs.c2
-rw-r--r--drivers/bluetooth/dtl1_cs.c2
-rw-r--r--drivers/char/amiserial.c2
-rw-r--r--drivers/char/cyclades.c2
-rw-r--r--drivers/char/ec3104_keyb.c2
-rw-r--r--drivers/char/hpet.c2
-rw-r--r--drivers/char/ip2main.c2
-rw-r--r--drivers/char/moxa.c2
-rw-r--r--drivers/char/mwave/3780i.c2
-rw-r--r--drivers/char/n_hdlc.c2
-rw-r--r--drivers/char/n_tty.c2
-rw-r--r--drivers/char/pcmcia/synclink_cs.c2
-rw-r--r--drivers/char/pcxx.c2
-rw-r--r--drivers/char/pty.c2
-rw-r--r--drivers/char/qtronix.c2
-rw-r--r--drivers/char/rocket.c2
-rw-r--r--drivers/char/serial167.c2
-rw-r--r--drivers/char/synclink.c2
-rw-r--r--drivers/char/synclinkmp.c2
-rw-r--r--drivers/char/tipar.c2
-rw-r--r--drivers/char/tty_io.c2
-rw-r--r--drivers/char/tty_ioctl.c2
-rw-r--r--drivers/char/vt.c2
-rw-r--r--drivers/char/watchdog/ixp2000_wdt.c2
-rw-r--r--drivers/char/watchdog/ixp4xx_wdt.c2
-rw-r--r--drivers/fc4/soc.c2
-rw-r--r--drivers/fc4/socal.c2
-rw-r--r--drivers/ide/ide-default.c2
-rw-r--r--drivers/ide/ide-floppy.c2
-rw-r--r--drivers/ide/ide-iops.c2
-rw-r--r--drivers/ide/ide-lib.c2
-rw-r--r--drivers/ide/ide-tape.c2
-rw-r--r--drivers/ide/ide-taskfile.c2
-rw-r--r--drivers/ide/ide.c2
-rw-r--r--drivers/input/serio/q40kbd.c2
-rw-r--r--drivers/isdn/i4l/isdn_bsdcomp.c2
-rw-r--r--drivers/macintosh/macserial.c2
-rw-r--r--drivers/md/raid5.c2
-rw-r--r--drivers/md/raid6main.c2
-rw-r--r--drivers/media/dvb/bt8xx/dvb-bt8xx.c2
-rw-r--r--drivers/media/dvb/frontends/at76c651.c5
-rw-r--r--drivers/media/dvb/ttpci/av7110_ir.c2
-rw-r--r--drivers/net/3c501.c2
-rw-r--r--drivers/net/3c505.c2
-rw-r--r--drivers/net/3c507.c2
-rw-r--r--drivers/net/3c509.c2
-rw-r--r--drivers/net/3c515.c2
-rw-r--r--drivers/net/3c523.c2
-rw-r--r--drivers/net/3c527.c2
-rw-r--r--drivers/net/3c59x.c2
-rw-r--r--drivers/net/7990.c2
-rw-r--r--drivers/net/82596.c2
-rw-r--r--drivers/net/8390.c2
-rw-r--r--drivers/net/a2065.c2
-rw-r--r--drivers/net/appletalk/cops.c2
-rw-r--r--drivers/net/appletalk/ltpc.c2
-rw-r--r--drivers/net/ariadne.c2
-rw-r--r--drivers/net/arm/am79c961a.c2
-rw-r--r--drivers/net/arm/ether1.c2
-rw-r--r--drivers/net/arm/ether3.c2
-rw-r--r--drivers/net/arm/etherh.c2
-rw-r--r--drivers/net/at1700.c2
-rw-r--r--drivers/net/atari_bionet.c2
-rw-r--r--drivers/net/atari_pamsnet.c2
-rw-r--r--drivers/net/atarilance.c2
-rw-r--r--drivers/net/atp.c2
-rw-r--r--drivers/net/au1000_eth.c2
-rw-r--r--drivers/net/bagetlance.c2
-rw-r--r--drivers/net/bonding/bond_main.c2
-rw-r--r--drivers/net/cs89x0.c2
-rw-r--r--drivers/net/defxx.c2
-rw-r--r--drivers/net/depca.c2
-rw-r--r--drivers/net/dgrs.c2
-rw-r--r--drivers/net/dl2k.h2
-rw-r--r--drivers/net/e1000/e1000.h2
-rw-r--r--drivers/net/eepro.c2
-rw-r--r--drivers/net/eepro100.c2
-rw-r--r--drivers/net/eexpress.c2
-rw-r--r--drivers/net/epic100.c2
-rw-r--r--drivers/net/eth16i.c2
-rw-r--r--drivers/net/ewrk3.c2
-rw-r--r--drivers/net/fealnx.c2
-rw-r--r--drivers/net/fec.c2
-rw-r--r--drivers/net/fec_8xx/fec_8xx-netta.c2
-rw-r--r--drivers/net/fec_8xx/fec_main.c2
-rw-r--r--drivers/net/fec_8xx/fec_mii.c2
-rw-r--r--drivers/net/fmv18x.c2
-rw-r--r--drivers/net/gt96100eth.c2
-rw-r--r--drivers/net/hamachi.c2
-rw-r--r--drivers/net/hamradio/6pack.c2
-rw-r--r--drivers/net/hamradio/baycom_par.c2
-rw-r--r--drivers/net/hamradio/hdlcdrv.c2
-rw-r--r--drivers/net/hamradio/mkiss.c2
-rw-r--r--drivers/net/hamradio/scc.c2
-rw-r--r--drivers/net/hamradio/yam.c2
-rw-r--r--drivers/net/hp100.c2
-rw-r--r--drivers/net/hydra.c2
-rw-r--r--drivers/net/ibm_emac/ibm_emac_core.c2
-rw-r--r--drivers/net/ibmlana.c2
-rw-r--r--drivers/net/irda/au1k_ir.c2
-rw-r--r--drivers/net/irda/irport.c2
-rw-r--r--drivers/net/isa-skeleton.c2
-rw-r--r--drivers/net/ixgb/ixgb.h2
-rw-r--r--drivers/net/jazzsonic.c2
-rw-r--r--drivers/net/lance.c2
-rw-r--r--drivers/net/lasi_82596.c2
-rw-r--r--drivers/net/lp486e.c2
-rw-r--r--drivers/net/mac8390.c2
-rw-r--r--drivers/net/macsonic.c2
-rw-r--r--drivers/net/mv643xx_eth.c2
-rw-r--r--drivers/net/myri_sbus.c2
-rw-r--r--drivers/net/natsemi.c2
-rw-r--r--drivers/net/ne2.c2
-rw-r--r--drivers/net/ni5010.c2
-rw-r--r--drivers/net/ni52.c2
-rw-r--r--drivers/net/ni65.c2
-rw-r--r--drivers/net/pcmcia/3c574_cs.c2
-rw-r--r--drivers/net/pcmcia/3c589_cs.c2
-rw-r--r--drivers/net/pcmcia/axnet_cs.c2
-rw-r--r--drivers/net/pcmcia/nmclan_cs.c2
-rw-r--r--drivers/net/pcmcia/xirc2ps_cs.c2
-rw-r--r--drivers/net/pcnet32.c2
-rw-r--r--drivers/net/plip.c2
-rw-r--r--drivers/net/sb1000.c2
-rw-r--r--drivers/net/sb1250-mac.c2
-rw-r--r--drivers/net/seeq8005.c2
-rw-r--r--drivers/net/sgiseeq.c2
-rw-r--r--drivers/net/sis900.c2
-rw-r--r--drivers/net/sk98lin/h/skdrv1st.h2
-rw-r--r--drivers/net/sk98lin/skge.c2
-rw-r--r--drivers/net/sk_g16.c2
-rw-r--r--drivers/net/sk_mca.c2
-rw-r--r--drivers/net/skfp/skfddi.c2
-rw-r--r--drivers/net/slip.c2
-rw-r--r--drivers/net/smc9194.c2
-rw-r--r--drivers/net/sun3_82586.c2
-rw-r--r--drivers/net/sun3lance.c2
-rw-r--r--drivers/net/sunbmac.c2
-rw-r--r--drivers/net/sundance.c2
-rw-r--r--drivers/net/sungem.c2
-rw-r--r--drivers/net/sunhme.c2
-rw-r--r--drivers/net/sunlance.c2
-rw-r--r--drivers/net/sunqe.c2
-rw-r--r--drivers/net/tc35815.c2
-rw-r--r--drivers/net/tokenring/3c359.c2
-rw-r--r--drivers/net/tokenring/lanstreamer.c2
-rw-r--r--drivers/net/tokenring/olympic.c2
-rw-r--r--drivers/net/tokenring/smctr.c2
-rw-r--r--drivers/net/tokenring/tms380tr.c2
-rw-r--r--drivers/net/tulip/de4x5.c2
-rw-r--r--drivers/net/tulip/dmfe.c2
-rw-r--r--drivers/net/tulip/winbond-840.c2
-rw-r--r--drivers/net/tulip/xircom_cb.c2
-rw-r--r--drivers/net/typhoon.c2
-rw-r--r--drivers/net/via-rhine.c2
-rw-r--r--drivers/net/wan/dlci.c2
-rw-r--r--drivers/net/wan/hd6457x.c2
-rw-r--r--drivers/net/wan/lmc/lmc_main.c2
-rw-r--r--drivers/net/wan/lmc/lmc_media.c2
-rw-r--r--drivers/net/wan/lmc/lmc_proto.c2
-rw-r--r--drivers/net/wan/sdla.c2
-rw-r--r--drivers/net/wan/x25_asy.c2
-rw-r--r--drivers/net/wireless/airo.c2
-rw-r--r--drivers/net/wireless/arlan.h2
-rw-r--r--drivers/net/wireless/netwave_cs.c2
-rw-r--r--drivers/net/wireless/strip.c2
-rw-r--r--drivers/net/wireless/wavelan.p.h2
-rw-r--r--drivers/net/wireless/wavelan_cs.p.h2
-rw-r--r--drivers/net/yellowfin.c2
-rw-r--r--drivers/net/znet.c2
-rw-r--r--drivers/pcmcia/i82365.c2
-rw-r--r--drivers/pcmcia/tcic.c2
-rw-r--r--drivers/s390/net/ctcmain.c2
-rw-r--r--drivers/s390/net/netiucv.c2
-rw-r--r--drivers/s390/net/qeth.h3
-rw-r--r--drivers/sbus/char/aurora.c2
-rw-r--r--drivers/scsi/NCR53c406a.c2
-rw-r--r--drivers/scsi/arm/acornscsi.c2
-rw-r--r--drivers/scsi/atari_scsi.c2
-rw-r--r--drivers/scsi/ultrastor.c2
-rw-r--r--drivers/serial/68328serial.c2
-rw-r--r--drivers/serial/8250_pci.c2
-rw-r--r--drivers/serial/8250_pnp.c2
-rw-r--r--drivers/serial/icom.c2
-rw-r--r--drivers/serial/mcfserial.c2
-rw-r--r--drivers/serial/pmac_zilog.c2
-rw-r--r--drivers/serial/sh-sci.c2
-rw-r--r--drivers/tc/zs.c2
-rw-r--r--drivers/usb/host/uhci-hcd.c2
-rw-r--r--drivers/usb/net/catc.c2
-rw-r--r--drivers/zorro/zorro.c2
-rw-r--r--fs/adfs/super.c2
-rw-r--r--fs/autofs/inode.c2
-rw-r--r--fs/autofs4/inode.c2
-rw-r--r--fs/buffer.c2
-rw-r--r--fs/coda/sysctl.c2
-rw-r--r--fs/devfs/base.c2
-rw-r--r--fs/devfs/util.c2
-rw-r--r--fs/eventpoll.c2
-rw-r--r--fs/ext3/ialloc.c2
-rw-r--r--fs/file.c3
-rw-r--r--fs/jfs/jfs_incore.h2
-rw-r--r--fs/minix/bitmap.c2
-rw-r--r--fs/partitions/devfs.c2
-rw-r--r--fs/proc/generic.c2
-rw-r--r--fs/proc/proc_tty.c2
-rw-r--r--fs/proc/root.c2
-rw-r--r--fs/qnx4/bitmap.c3
-rw-r--r--fs/udf/balloc.c2
-rw-r--r--fs/ufs/balloc.c2
-rw-r--r--fs/ufs/cylinder.c2
-rw-r--r--fs/ufs/ialloc.c2
-rw-r--r--fs/ufs/super.c2
-rw-r--r--include/linux/idr.h2
-rw-r--r--include/linux/mtd/gen_probe.h2
-rw-r--r--include/net/pkt_act.h2
-rw-r--r--kernel/rcupdate.c2
-rw-r--r--lib/bitmap.c2
-rw-r--r--net/core/dev.c2
-rw-r--r--net/core/dev_mcast.c2
-rw-r--r--net/core/link_watch.c2
-rw-r--r--net/core/pktgen.c2
-rw-r--r--net/econet/af_econet.c2
-rw-r--r--net/ipv4/devinet.c2
-rw-r--r--net/ipv4/fib_frontend.c2
-rw-r--r--net/ipv4/fib_hash.c2
-rw-r--r--net/ipv4/fib_rules.c2
-rw-r--r--net/ipv4/fib_semantics.c2
-rw-r--r--net/ipv4/route.c2
-rw-r--r--net/irda/irlan/irlan_client.c2
-rw-r--r--net/irda/irlan/irlan_common.c2
-rw-r--r--net/irda/irlan/irlan_provider.c2
-rw-r--r--net/netlink/netlink_dev.c2
-rw-r--r--net/sched/act_api.c2
-rw-r--r--net/sched/cls_api.c2
-rw-r--r--net/sched/cls_fw.c2
-rw-r--r--net/sched/cls_route.c2
-rw-r--r--net/sched/cls_rsvp.c2
-rw-r--r--net/sched/cls_rsvp6.c2
-rw-r--r--net/sched/cls_u32.c2
-rw-r--r--net/sched/estimator.c2
-rw-r--r--net/sched/gact.c2
-rw-r--r--net/sched/police.c2
-rw-r--r--net/sched/sch_api.c2
-rw-r--r--net/sched/sch_cbq.c2
-rw-r--r--net/sched/sch_fifo.c2
-rw-r--r--net/sched/sch_generic.c2
-rw-r--r--net/sched/sch_gred.c2
-rw-r--r--net/sched/sch_htb.c2
-rw-r--r--net/sched/sch_netem.c2
-rw-r--r--net/sched/sch_prio.c2
-rw-r--r--net/sched/sch_red.c2
-rw-r--r--net/sched/sch_sfq.c2
-rw-r--r--net/sched/sch_tbf.c2
-rw-r--r--net/sched/sch_teql.c2
-rw-r--r--sound/pci/bt87x.c2
367 files changed, 369 insertions, 377 deletions
diff --git a/Documentation/DocBook/kernel-hacking.tmpl b/Documentation/DocBook/kernel-hacking.tmpl
index cd1bc1574613..1e8219d85255 100644
--- a/Documentation/DocBook/kernel-hacking.tmpl
+++ b/Documentation/DocBook/kernel-hacking.tmpl
@@ -888,7 +888,7 @@ printk(KERN_INFO "my ip: %d.%d.%d.%d\n", NIPQUAD(ipaddress));
The second class of atomic operations is atomic bit operations on a
<type>long</type>, defined in
- <filename class="headerfile">include/asm/bitops.h</filename>. These
+ <filename class="headerfile">include/linux/bitops.h</filename>. These
operations generally take a pointer to the bit pattern, and a bit
number: 0 is the least significant bit.
<function>set_bit()</function>, <function>clear_bit()</function>
diff --git a/arch/alpha/kernel/irq.c b/arch/alpha/kernel/irq.c
index 199435fb9640..b6114f5c0d2b 100644
--- a/arch/alpha/kernel/irq.c
+++ b/arch/alpha/kernel/irq.c
@@ -26,10 +26,10 @@
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/profile.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/io.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
/*
diff --git a/arch/alpha/kernel/signal.c b/arch/alpha/kernel/signal.c
index 94ff1b330ce4..974329cf0e5b 100644
--- a/arch/alpha/kernel/signal.c
+++ b/arch/alpha/kernel/signal.c
@@ -19,8 +19,8 @@
#include <linux/stddef.h>
#include <linux/tty.h>
#include <linux/binfmts.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/sigcontext.h>
#include <asm/ucontext.h>
diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c
index 6d4d09c43912..04a4d366b2a6 100644
--- a/arch/alpha/kernel/smp.c
+++ b/arch/alpha/kernel/smp.c
@@ -26,6 +26,7 @@
#include <linux/irq.h>
#include <linux/cache.h>
#include <linux/profile.h>
+#include <linux/bitops.h>
#include <asm/hwrpb.h>
#include <asm/ptrace.h>
@@ -33,7 +34,6 @@
#include <asm/io.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/pgtable.h>
#include <asm/pgalloc.h>
#include <asm/mmu_context.h>
diff --git a/arch/alpha/kernel/sys_alcor.c b/arch/alpha/kernel/sys_alcor.c
index 6852eeedf93b..145dcde143ae 100644
--- a/arch/alpha/kernel/sys_alcor.c
+++ b/arch/alpha/kernel/sys_alcor.c
@@ -16,12 +16,12 @@
#include <linux/pci.h>
#include <linux/init.h>
#include <linux/reboot.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/io.h>
#include <asm/dma.h>
-#include <asm/bitops.h>
#include <asm/mmu_context.h>
#include <asm/irq.h>
#include <asm/pgtable.h>
diff --git a/arch/alpha/kernel/sys_cabriolet.c b/arch/alpha/kernel/sys_cabriolet.c
index c3f9dbc1ecc0..8e3374d34c95 100644
--- a/arch/alpha/kernel/sys_cabriolet.c
+++ b/arch/alpha/kernel/sys_cabriolet.c
@@ -16,12 +16,12 @@
#include <linux/sched.h>
#include <linux/pci.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/dma.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/mmu_context.h>
#include <asm/io.h>
#include <asm/pgtable.h>
diff --git a/arch/alpha/kernel/sys_dp264.c b/arch/alpha/kernel/sys_dp264.c
index 10973586f592..6e334292bbcd 100644
--- a/arch/alpha/kernel/sys_dp264.c
+++ b/arch/alpha/kernel/sys_dp264.c
@@ -19,12 +19,12 @@
#include <linux/sched.h>
#include <linux/pci.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/dma.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/mmu_context.h>
#include <asm/io.h>
#include <asm/pgtable.h>
diff --git a/arch/alpha/kernel/sys_eb64p.c b/arch/alpha/kernel/sys_eb64p.c
index 32d9c350b2c2..61a79c354f0b 100644
--- a/arch/alpha/kernel/sys_eb64p.c
+++ b/arch/alpha/kernel/sys_eb64p.c
@@ -15,12 +15,12 @@
#include <linux/sched.h>
#include <linux/pci.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/dma.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/mmu_context.h>
#include <asm/io.h>
#include <asm/pgtable.h>
diff --git a/arch/alpha/kernel/sys_eiger.c b/arch/alpha/kernel/sys_eiger.c
index f98be3e85b62..bd6e5f0e43c7 100644
--- a/arch/alpha/kernel/sys_eiger.c
+++ b/arch/alpha/kernel/sys_eiger.c
@@ -15,12 +15,12 @@
#include <linux/sched.h>
#include <linux/pci.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/dma.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/mmu_context.h>
#include <asm/io.h>
#include <asm/pci.h>
diff --git a/arch/alpha/kernel/sys_marvel.c b/arch/alpha/kernel/sys_marvel.c
index 52873d5fc824..804727853d25 100644
--- a/arch/alpha/kernel/sys_marvel.c
+++ b/arch/alpha/kernel/sys_marvel.c
@@ -10,12 +10,12 @@
#include <linux/sched.h>
#include <linux/pci.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/dma.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/mmu_context.h>
#include <asm/io.h>
#include <asm/pgtable.h>
diff --git a/arch/alpha/kernel/sys_mikasa.c b/arch/alpha/kernel/sys_mikasa.c
index a55c109f5c86..d78a0daa6168 100644
--- a/arch/alpha/kernel/sys_mikasa.c
+++ b/arch/alpha/kernel/sys_mikasa.c
@@ -15,12 +15,12 @@
#include <linux/sched.h>
#include <linux/pci.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/dma.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/mmu_context.h>
#include <asm/io.h>
#include <asm/pgtable.h>
diff --git a/arch/alpha/kernel/sys_nautilus.c b/arch/alpha/kernel/sys_nautilus.c
index dd3bdedb71f2..c0d696efec5b 100644
--- a/arch/alpha/kernel/sys_nautilus.c
+++ b/arch/alpha/kernel/sys_nautilus.c
@@ -32,12 +32,12 @@
#include <linux/init.h>
#include <linux/reboot.h>
#include <linux/bootmem.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/dma.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/mmu_context.h>
#include <asm/io.h>
#include <asm/pci.h>
diff --git a/arch/alpha/kernel/sys_noritake.c b/arch/alpha/kernel/sys_noritake.c
index 02363fa79962..65061f5d7410 100644
--- a/arch/alpha/kernel/sys_noritake.c
+++ b/arch/alpha/kernel/sys_noritake.c
@@ -16,12 +16,12 @@
#include <linux/sched.h>
#include <linux/pci.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/dma.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/mmu_context.h>
#include <asm/io.h>
#include <asm/pgtable.h>
diff --git a/arch/alpha/kernel/sys_rx164.c b/arch/alpha/kernel/sys_rx164.c
index dfe16bc122ff..58404243057b 100644
--- a/arch/alpha/kernel/sys_rx164.c
+++ b/arch/alpha/kernel/sys_rx164.c
@@ -14,12 +14,12 @@
#include <linux/sched.h>
#include <linux/pci.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/dma.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/mmu_context.h>
#include <asm/io.h>
#include <asm/pgtable.h>
diff --git a/arch/alpha/kernel/sys_sx164.c b/arch/alpha/kernel/sys_sx164.c
index 3ee73b68efd4..94ad68b7c0ae 100644
--- a/arch/alpha/kernel/sys_sx164.c
+++ b/arch/alpha/kernel/sys_sx164.c
@@ -14,12 +14,12 @@
#include <linux/sched.h>
#include <linux/pci.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/dma.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/mmu_context.h>
#include <asm/io.h>
#include <asm/pgtable.h>
diff --git a/arch/alpha/kernel/sys_titan.c b/arch/alpha/kernel/sys_titan.c
index 4466af674bc0..147058fae0c1 100644
--- a/arch/alpha/kernel/sys_titan.c
+++ b/arch/alpha/kernel/sys_titan.c
@@ -19,12 +19,12 @@
#include <linux/sched.h>
#include <linux/pci.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/dma.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/mmu_context.h>
#include <asm/io.h>
#include <asm/pgtable.h>
diff --git a/arch/alpha/kernel/sys_wildfire.c b/arch/alpha/kernel/sys_wildfire.c
index 959e8d7dffc3..57be096764a0 100644
--- a/arch/alpha/kernel/sys_wildfire.c
+++ b/arch/alpha/kernel/sys_wildfire.c
@@ -12,12 +12,12 @@
#include <linux/sched.h>
#include <linux/pci.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/dma.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/mmu_context.h>
#include <asm/io.h>
#include <asm/pgtable.h>
diff --git a/arch/arm/vfp/vfpdouble.c b/arch/arm/vfp/vfpdouble.c
index 54649c1ee43d..3a4df3ffad3e 100644
--- a/arch/arm/vfp/vfpdouble.c
+++ b/arch/arm/vfp/vfpdouble.c
@@ -31,7 +31,7 @@
* ===========================================================================
*/
#include <linux/kernel.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/vfp.h>
diff --git a/arch/arm/vfp/vfpsingle.c b/arch/arm/vfp/vfpsingle.c
index 92aa8412709e..265de1dee1e9 100644
--- a/arch/arm/vfp/vfpsingle.c
+++ b/arch/arm/vfp/vfpsingle.c
@@ -31,7 +31,7 @@
* ===========================================================================
*/
#include <linux/kernel.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/vfp.h>
diff --git a/arch/arm26/machine/small_page.c b/arch/arm26/machine/small_page.c
index 3cbeffa01718..78e9198c2e60 100644
--- a/arch/arm26/machine/small_page.c
+++ b/arch/arm26/machine/small_page.c
@@ -24,8 +24,8 @@
#include <linux/mm.h>
#include <linux/swap.h>
#include <linux/smp.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/pgtable.h>
#define PEDANTIC
diff --git a/arch/cris/arch-v10/drivers/ethernet.c b/arch/cris/arch-v10/drivers/ethernet.c
index 2b9d9b7163f5..2e6a34135ece 100644
--- a/arch/cris/arch-v10/drivers/ethernet.c
+++ b/arch/cris/arch-v10/drivers/ethernet.c
@@ -222,13 +222,13 @@
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/ethtool.h>
+#include <linux/bitops.h>
#include <asm/arch/svinto.h>/* DMA and register descriptions */
#include <asm/io.h> /* LED_* I/O functions */
#include <asm/irq.h>
#include <asm/dma.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/ethernet.h>
#include <asm/cache.h>
diff --git a/arch/cris/arch-v10/drivers/serial.c b/arch/cris/arch-v10/drivers/serial.c
index 272795de9f5b..5881533878d1 100644
--- a/arch/cris/arch-v10/drivers/serial.c
+++ b/arch/cris/arch-v10/drivers/serial.c
@@ -435,7 +435,7 @@ static char *serial_version = "$Revision: 1.20 $";
#include <asm/irq.h>
#include <asm/system.h>
#include <asm/segment.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/delay.h>
#include <asm/arch/svinto.h>
diff --git a/arch/cris/kernel/irq.c b/arch/cris/kernel/irq.c
index bb8d2e4e7a9c..2a9ed1806764 100644
--- a/arch/cris/kernel/irq.c
+++ b/arch/cris/kernel/irq.c
@@ -36,9 +36,9 @@
#include <linux/init.h>
#include <linux/seq_file.h>
#include <linux/errno.h>
+#include <linux/bitops.h>
#include <asm/io.h>
-#include <asm/bitops.h>
/* Defined in arch specific irq.c */
extern void arch_setup_irq(int irq);
diff --git a/arch/i386/kernel/i8259.c b/arch/i386/kernel/i8259.c
index dec7ebf49a48..686a95bd0bd7 100644
--- a/arch/i386/kernel/i8259.c
+++ b/arch/i386/kernel/i8259.c
@@ -10,6 +10,7 @@
#include <linux/init.h>
#include <linux/kernel_stat.h>
#include <linux/sysdev.h>
+#include <linux/bitops.h>
#include <asm/8253pit.h>
#include <asm/atomic.h>
@@ -17,7 +18,6 @@
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/timer.h>
-#include <asm/bitops.h>
#include <asm/pgtable.h>
#include <asm/delay.h>
#include <asm/desc.h>
diff --git a/arch/ia64/hp/common/sba_iommu.c b/arch/ia64/hp/common/sba_iommu.c
index e50c446e0f4f..64295162dcb2 100644
--- a/arch/ia64/hp/common/sba_iommu.c
+++ b/arch/ia64/hp/common/sba_iommu.c
@@ -33,13 +33,13 @@
#include <linux/seq_file.h>
#include <linux/acpi.h>
#include <linux/efi.h>
+#include <linux/bitops.h> /* hweight64() */
#include <asm/delay.h> /* ia64_get_itc() */
#include <asm/io.h>
#include <asm/page.h> /* PAGE_OFFSET */
#include <asm/dma.h>
#include <asm/system.h> /* wmb() */
-#include <asm/bitops.h> /* hweight64() */
#include <asm/acpi-ext.h>
diff --git a/arch/ia64/hp/sim/simeth.c b/arch/ia64/hp/sim/simeth.c
index 3c9c3072b68c..45d69f4d3c72 100644
--- a/arch/ia64/hp/sim/simeth.c
+++ b/arch/ia64/hp/sim/simeth.c
@@ -20,7 +20,7 @@
#include <linux/if_arp.h>
#include <linux/skbuff.h>
#include <linux/notifier.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/irq.h>
diff --git a/arch/ia64/kernel/irq.c b/arch/ia64/kernel/irq.c
index f779d97a43a7..b3afd073b9dc 100644
--- a/arch/ia64/kernel/irq.c
+++ b/arch/ia64/kernel/irq.c
@@ -43,13 +43,13 @@
#include <linux/seq_file.h>
#include <linux/kallsyms.h>
#include <linux/notifier.h>
+#include <linux/bitops.h>
#include <asm/atomic.h>
#include <asm/cpu.h>
#include <asm/io.h>
#include <asm/smp.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/pgalloc.h>
#include <asm/tlbflush.h>
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c
index 335d827ceb9f..946df2d55836 100644
--- a/arch/ia64/kernel/irq_ia64.c
+++ b/arch/ia64/kernel/irq_ia64.c
@@ -30,8 +30,8 @@
#include <linux/smp.h>
#include <linux/smp_lock.h>
#include <linux/threads.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/delay.h>
#include <asm/intrinsics.h>
#include <asm/io.h>
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c
index 8561f8dcffba..4c8043b74c88 100644
--- a/arch/ia64/kernel/perfmon.c
+++ b/arch/ia64/kernel/perfmon.c
@@ -38,8 +38,8 @@
#include <linux/pagemap.h>
#include <linux/mount.h>
#include <linux/version.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/errno.h>
#include <asm/intrinsics.h>
#include <asm/page.h>
diff --git a/arch/ia64/kernel/smp.c b/arch/ia64/kernel/smp.c
index 14134f2e3952..4041bb3bdfd2 100644
--- a/arch/ia64/kernel/smp.c
+++ b/arch/ia64/kernel/smp.c
@@ -29,9 +29,9 @@
#include <linux/cache.h>
#include <linux/delay.h>
#include <linux/efi.h>
+#include <linux/bitops.h>
#include <asm/atomic.h>
-#include <asm/bitops.h>
#include <asm/current.h>
#include <asm/delay.h>
#include <asm/machvec.h>
diff --git a/arch/ia64/kernel/smpboot.c b/arch/ia64/kernel/smpboot.c
index f0dd8c3dc67e..0a0bf975199c 100644
--- a/arch/ia64/kernel/smpboot.c
+++ b/arch/ia64/kernel/smpboot.c
@@ -29,9 +29,9 @@
#include <linux/spinlock.h>
#include <linux/efi.h>
#include <linux/percpu.h>
+#include <linux/bitops.h>
#include <asm/atomic.h>
-#include <asm/bitops.h>
#include <asm/cache.h>
#include <asm/current.h>
#include <asm/delay.h>
diff --git a/arch/ia64/lib/bitop.c b/arch/ia64/lib/bitop.c
index 1c6ee49fd3cf..d509e204c238 100644
--- a/arch/ia64/lib/bitop.c
+++ b/arch/ia64/lib/bitop.c
@@ -2,7 +2,7 @@
#include <linux/types.h>
#include <asm/intrinsics.h>
#include <linux/module.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
/*
* Find next zero bit in a bitmap reasonably efficiently..
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
index 3bfbb7dc1f31..f7c6ddbf4ca3 100644
--- a/arch/ia64/mm/init.c
+++ b/arch/ia64/mm/init.c
@@ -19,9 +19,9 @@
#include <linux/slab.h>
#include <linux/swap.h>
#include <linux/proc_fs.h>
+#include <linux/bitops.h>
#include <asm/a.out.h>
-#include <asm/bitops.h>
#include <asm/dma.h>
#include <asm/ia32.h>
#include <asm/io.h>
diff --git a/arch/ia64/sn/kernel/sn2/sn2_smp.c b/arch/ia64/sn/kernel/sn2/sn2_smp.c
index 29a6915fadd1..5fa8f1f1a066 100644
--- a/arch/ia64/sn/kernel/sn2/sn2_smp.c
+++ b/arch/ia64/sn/kernel/sn2/sn2_smp.c
@@ -18,6 +18,7 @@
#include <linux/irq.h>
#include <linux/mmzone.h>
#include <linux/module.h>
+#include <linux/bitops.h>
#include <asm/processor.h>
#include <asm/irq.h>
@@ -28,7 +29,6 @@
#include <asm/smp.h>
#include <asm/tlb.h>
#include <asm/numa.h>
-#include <asm/bitops.h>
#include <asm/hw_irq.h>
#include <asm/current.h>
#include <asm/sn/sn_cpuid.h>
diff --git a/arch/m32r/kernel/irq.c b/arch/m32r/kernel/irq.c
index ba135773308a..74ab2ec74e59 100644
--- a/arch/m32r/kernel/irq.c
+++ b/arch/m32r/kernel/irq.c
@@ -42,12 +42,12 @@
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/kallsyms.h>
+#include <linux/bitops.h>
#include <asm/atomic.h>
#include <asm/io.h>
#include <asm/smp.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/delay.h>
#include <asm/irq.h>
diff --git a/arch/m32r/mm/init.c b/arch/m32r/mm/init.c
index a290e3793caf..b6a5aaceaadf 100644
--- a/arch/m32r/mm/init.c
+++ b/arch/m32r/mm/init.c
@@ -18,9 +18,9 @@
#include <linux/bootmem.h>
#include <linux/swap.h>
#include <linux/highmem.h>
+#include <linux/bitops.h>
#include <asm/types.h>
#include <asm/processor.h>
-#include <asm/bitops.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/pgalloc.h>
diff --git a/arch/m68k/sun3/mmu_emu.c b/arch/m68k/sun3/mmu_emu.c
index 0d9876190af0..5ced6d3c9926 100644
--- a/arch/m68k/sun3/mmu_emu.c
+++ b/arch/m68k/sun3/mmu_emu.c
@@ -12,6 +12,7 @@
#include <linux/ptrace.h>
#include <linux/delay.h>
#include <linux/bootmem.h>
+#include <linux/bitops.h>
#include <asm/setup.h>
#include <asm/traps.h>
@@ -21,7 +22,6 @@
#include <asm/pgtable.h>
#include <asm/sun3mmu.h>
#include <asm/segment.h>
-#include <asm/bitops.h>
#include <asm/oplib.h>
#include <asm/mmu_context.h>
#include <asm/dvma.h>
diff --git a/arch/mips/au1000/common/au1xxx_irqmap.c b/arch/mips/au1000/common/au1xxx_irqmap.c
index afac7edd2f58..2043ec5205c7 100644
--- a/arch/mips/au1000/common/au1xxx_irqmap.c
+++ b/arch/mips/au1000/common/au1xxx_irqmap.c
@@ -39,8 +39,8 @@
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/mipsregs.h>
diff --git a/arch/mips/au1000/common/irq.c b/arch/mips/au1000/common/irq.c
index 5104328f7d74..989b7b5bb2b0 100644
--- a/arch/mips/au1000/common/irq.c
+++ b/arch/mips/au1000/common/irq.c
@@ -41,8 +41,8 @@
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/mipsregs.h>
diff --git a/arch/mips/au1000/csb250/irqmap.c b/arch/mips/au1000/csb250/irqmap.c
index d7fbda4921bb..5cb1166be35c 100644
--- a/arch/mips/au1000/csb250/irqmap.c
+++ b/arch/mips/au1000/csb250/irqmap.c
@@ -39,8 +39,8 @@
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/mipsregs.h>
diff --git a/arch/mips/au1000/db1x00/irqmap.c b/arch/mips/au1000/db1x00/irqmap.c
index cbae591f022a..8f6ef0dbe1f8 100644
--- a/arch/mips/au1000/db1x00/irqmap.c
+++ b/arch/mips/au1000/db1x00/irqmap.c
@@ -40,8 +40,8 @@
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/mipsregs.h>
diff --git a/arch/mips/au1000/hydrogen3/irqmap.c b/arch/mips/au1000/hydrogen3/irqmap.c
index a335c90bdec5..6eacaa0daa49 100644
--- a/arch/mips/au1000/hydrogen3/irqmap.c
+++ b/arch/mips/au1000/hydrogen3/irqmap.c
@@ -39,8 +39,8 @@
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/mipsregs.h>
diff --git a/arch/mips/au1000/mtx-1/irqmap.c b/arch/mips/au1000/mtx-1/irqmap.c
index 720bc759d62d..51fcc2cbe0af 100644
--- a/arch/mips/au1000/mtx-1/irqmap.c
+++ b/arch/mips/au1000/mtx-1/irqmap.c
@@ -39,8 +39,8 @@
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/mipsregs.h>
diff --git a/arch/mips/au1000/pb1000/irqmap.c b/arch/mips/au1000/pb1000/irqmap.c
index 215b07a6d0d9..4950c33a4bdc 100644
--- a/arch/mips/au1000/pb1000/irqmap.c
+++ b/arch/mips/au1000/pb1000/irqmap.c
@@ -39,8 +39,8 @@
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/mipsregs.h>
diff --git a/arch/mips/au1000/pb1100/irqmap.c b/arch/mips/au1000/pb1100/irqmap.c
index 6333deb601e1..bfb389e7e17c 100644
--- a/arch/mips/au1000/pb1100/irqmap.c
+++ b/arch/mips/au1000/pb1100/irqmap.c
@@ -39,8 +39,8 @@
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/mipsregs.h>
diff --git a/arch/mips/au1000/pb1500/irqmap.c b/arch/mips/au1000/pb1500/irqmap.c
index 79c4e0fd6ef5..476e25001681 100644
--- a/arch/mips/au1000/pb1500/irqmap.c
+++ b/arch/mips/au1000/pb1500/irqmap.c
@@ -39,8 +39,8 @@
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/mipsregs.h>
diff --git a/arch/mips/au1000/pb1550/irqmap.c b/arch/mips/au1000/pb1550/irqmap.c
index 4f692163b9c9..889d4949ee76 100644
--- a/arch/mips/au1000/pb1550/irqmap.c
+++ b/arch/mips/au1000/pb1550/irqmap.c
@@ -39,8 +39,8 @@
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/mipsregs.h>
diff --git a/arch/mips/au1000/xxs1500/irqmap.c b/arch/mips/au1000/xxs1500/irqmap.c
index d751f48a69d9..954800a0ab52 100644
--- a/arch/mips/au1000/xxs1500/irqmap.c
+++ b/arch/mips/au1000/xxs1500/irqmap.c
@@ -39,8 +39,8 @@
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/mipsregs.h>
diff --git a/arch/mips/baget/irq.c b/arch/mips/baget/irq.c
index 3dcc16efd08a..341562d6eca0 100644
--- a/arch/mips/baget/irq.c
+++ b/arch/mips/baget/irq.c
@@ -18,8 +18,8 @@
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/irq.h>
diff --git a/arch/mips/gt64120/ev64120/irq.c b/arch/mips/gt64120/ev64120/irq.c
index 537eab3fd314..656aaeb8bf2a 100644
--- a/arch/mips/gt64120/ev64120/irq.c
+++ b/arch/mips/gt64120/ev64120/irq.c
@@ -39,7 +39,7 @@
#include <linux/timex.h>
#include <linux/slab.h>
#include <linux/random.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/mipsregs.h>
diff --git a/arch/mips/gt64120/momenco_ocelot/irq.c b/arch/mips/gt64120/momenco_ocelot/irq.c
index 6812277807bf..d04c62b073d9 100644
--- a/arch/mips/gt64120/momenco_ocelot/irq.c
+++ b/arch/mips/gt64120/momenco_ocelot/irq.c
@@ -41,7 +41,7 @@
#include <linux/timex.h>
#include <linux/slab.h>
#include <linux/random.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/irq.h>
diff --git a/arch/mips/ite-boards/generic/irq.c b/arch/mips/ite-boards/generic/irq.c
index 4be10d820687..941590ec70ce 100644
--- a/arch/mips/ite-boards/generic/irq.c
+++ b/arch/mips/ite-boards/generic/irq.c
@@ -47,8 +47,8 @@
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/serial_reg.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/mipsregs.h>
diff --git a/arch/mips/jmr3927/rbhma3100/irq.c b/arch/mips/jmr3927/rbhma3100/irq.c
index 4ab85b5b2b4d..abb2ba632670 100644
--- a/arch/mips/jmr3927/rbhma3100/irq.c
+++ b/arch/mips/jmr3927/rbhma3100/irq.c
@@ -45,8 +45,8 @@
#include <linux/random.h>
#include <linux/smp.h>
#include <linux/smp_lock.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/mipsregs.h>
#include <asm/system.h>
diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c
index 325705fcc5c1..025faa57be56 100644
--- a/arch/mips/kernel/signal.c
+++ b/arch/mips/kernel/signal.c
@@ -20,9 +20,9 @@
#include <linux/ptrace.h>
#include <linux/suspend.h>
#include <linux/unistd.h>
+#include <linux/bitops.h>
#include <asm/asm.h>
-#include <asm/bitops.h>
#include <asm/cacheflush.h>
#include <asm/fpu.h>
#include <asm/sim.h>
diff --git a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c
index a449a5651c42..e12e1dbd15fe 100644
--- a/arch/mips/kernel/signal32.c
+++ b/arch/mips/kernel/signal32.c
@@ -19,9 +19,9 @@
#include <linux/ptrace.h>
#include <linux/compat.h>
#include <linux/suspend.h>
+#include <linux/bitops.h>
#include <asm/asm.h>
-#include <asm/bitops.h>
#include <asm/cacheflush.h>
#include <asm/sim.h>
#include <asm/uaccess.h>
diff --git a/arch/mips/kernel/signal_n32.c b/arch/mips/kernel/signal_n32.c
index d2f8b8cf67e0..4a61749221f0 100644
--- a/arch/mips/kernel/signal_n32.c
+++ b/arch/mips/kernel/signal_n32.c
@@ -26,9 +26,9 @@
#include <linux/ptrace.h>
#include <linux/unistd.h>
#include <linux/compat.h>
+#include <linux/bitops.h>
#include <asm/asm.h>
-#include <asm/bitops.h>
#include <asm/cacheflush.h>
#include <asm/sim.h>
#include <asm/uaccess.h>
diff --git a/arch/mips/momentum/ocelot_c/irq.c b/arch/mips/momentum/ocelot_c/irq.c
index 13dd8bd74041..dd10713e174b 100644
--- a/arch/mips/momentum/ocelot_c/irq.c
+++ b/arch/mips/momentum/ocelot_c/irq.c
@@ -41,7 +41,7 @@
#include <linux/timex.h>
#include <linux/slab.h>
#include <linux/random.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/irq_cpu.h>
diff --git a/arch/mips/momentum/ocelot_g/irq.c b/arch/mips/momentum/ocelot_g/irq.c
index 7d838c132c89..c5adfa6d8231 100644
--- a/arch/mips/momentum/ocelot_g/irq.c
+++ b/arch/mips/momentum/ocelot_g/irq.c
@@ -41,7 +41,7 @@
#include <linux/timex.h>
#include <linux/slab.h>
#include <linux/random.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/irq.h>
diff --git a/arch/mips/pmc-sierra/yosemite/irq.c b/arch/mips/pmc-sierra/yosemite/irq.c
index e8b7ed63eaa0..df38a4209d04 100644
--- a/arch/mips/pmc-sierra/yosemite/irq.c
+++ b/arch/mips/pmc-sierra/yosemite/irq.c
@@ -37,7 +37,7 @@
#include <linux/timex.h>
#include <linux/slab.h>
#include <linux/random.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/irq.h>
diff --git a/arch/mips/sgi-ip27/ip27-irq.c b/arch/mips/sgi-ip27/ip27-irq.c
index 917c1ee7aef2..6678b903c074 100644
--- a/arch/mips/sgi-ip27/ip27-irq.c
+++ b/arch/mips/sgi-ip27/ip27-irq.c
@@ -20,8 +20,8 @@
#include <linux/smp_lock.h>
#include <linux/kernel_stat.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/mipsregs.h>
diff --git a/arch/mips/sgi-ip32/ip32-irq.c b/arch/mips/sgi-ip32/ip32-irq.c
index 75846d6e8154..3d7b04c66ade 100644
--- a/arch/mips/sgi-ip32/ip32-irq.c
+++ b/arch/mips/sgi-ip32/ip32-irq.c
@@ -20,7 +20,6 @@
#include <linux/random.h>
#include <linux/sched.h>
-#include <asm/bitops.h>
#include <asm/mipsregs.h>
#include <asm/signal.h>
#include <asm/system.h>
diff --git a/arch/mips/tx4927/common/tx4927_irq.c b/arch/mips/tx4927/common/tx4927_irq.c
index bf59409eea36..c89dd5f94d93 100644
--- a/arch/mips/tx4927/common/tx4927_irq.c
+++ b/arch/mips/tx4927/common/tx4927_irq.c
@@ -37,7 +37,7 @@
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/irq.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/irq.h>
diff --git a/arch/mips/tx4927/common/tx4927_setup.c b/arch/mips/tx4927/common/tx4927_setup.c
index 73d188ff6a46..88d02973d132 100644
--- a/arch/mips/tx4927/common/tx4927_setup.c
+++ b/arch/mips/tx4927/common/tx4927_setup.c
@@ -38,7 +38,7 @@
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/irq.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/irq.h>
diff --git a/arch/parisc/kernel/smp.c b/arch/parisc/kernel/smp.c
index 9def95a4313b..ddc53e1bf044 100644
--- a/arch/parisc/kernel/smp.c
+++ b/arch/parisc/kernel/smp.c
@@ -33,10 +33,10 @@
#include <linux/kernel_stat.h>
#include <linux/mm.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/atomic.h>
-#include <asm/bitops.h>
#include <asm/current.h>
#include <asm/delay.h>
#include <asm/pgalloc.h> /* for flush_tlb_all() proto/macro */
diff --git a/arch/ppc/4xx_io/serial_sicc.c b/arch/ppc/4xx_io/serial_sicc.c
index f0728f3c0e7b..0e7ba9ecba26 100644
--- a/arch/ppc/4xx_io/serial_sicc.c
+++ b/arch/ppc/4xx_io/serial_sicc.c
@@ -51,12 +51,12 @@
#include <linux/serial.h>
#include <linux/console.h>
#include <linux/sysrq.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/serial.h>
diff --git a/arch/ppc/8260_io/enet.c b/arch/ppc/8260_io/enet.c
index 3f8aa419771e..ac6d55fe2235 100644
--- a/arch/ppc/8260_io/enet.c
+++ b/arch/ppc/8260_io/enet.c
@@ -39,11 +39,11 @@
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/spinlock.h>
+#include <linux/bitops.h>
#include <asm/immap_cpm2.h>
#include <asm/pgtable.h>
#include <asm/mpc8260.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/cpm2.h>
#include <asm/irq.h>
diff --git a/arch/ppc/8260_io/fcc_enet.c b/arch/ppc/8260_io/fcc_enet.c
index 41ca12432d8e..a38487b11503 100644
--- a/arch/ppc/8260_io/fcc_enet.c
+++ b/arch/ppc/8260_io/fcc_enet.c
@@ -34,12 +34,12 @@
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/spinlock.h>
+#include <linux/bitops.h>
#include <asm/immap_cpm2.h>
#include <asm/pgtable.h>
#include <asm/mpc8260.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/cpm2.h>
diff --git a/arch/ppc/8xx_io/enet.c b/arch/ppc/8xx_io/enet.c
index 8ddef1c5cf11..3508f31b6d3b 100644
--- a/arch/ppc/8xx_io/enet.c
+++ b/arch/ppc/8xx_io/enet.c
@@ -38,11 +38,11 @@
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/spinlock.h>
+#include <linux/bitops.h>
#include <asm/8xx_immap.h>
#include <asm/pgtable.h>
#include <asm/mpc8xx.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/commproc.h>
diff --git a/arch/ppc/8xx_io/fec.c b/arch/ppc/8xx_io/fec.c
index 5c7c914f84ea..30ea33a5fbb4 100644
--- a/arch/ppc/8xx_io/fec.c
+++ b/arch/ppc/8xx_io/fec.c
@@ -44,6 +44,7 @@
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/spinlock.h>
+#include <linux/bitops.h>
#ifdef CONFIG_FEC_PACKETHOOK
#include <linux/pkthook.h>
#endif
@@ -52,7 +53,6 @@
#include <asm/pgtable.h>
#include <asm/mpc8xx.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/commproc.h>
diff --git a/arch/ppc/kernel/bitops.c b/arch/ppc/kernel/bitops.c
index c00bad67db41..7f53d193968b 100644
--- a/arch/ppc/kernel/bitops.c
+++ b/arch/ppc/kernel/bitops.c
@@ -3,7 +3,7 @@
*/
#include <linux/kernel.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
/*
* If the bitops are not inlined in bitops.h, they are defined here.
diff --git a/arch/ppc/kernel/irq.c b/arch/ppc/kernel/irq.c
index 168dcd718546..7b842826c88a 100644
--- a/arch/ppc/kernel/irq.c
+++ b/arch/ppc/kernel/irq.c
@@ -47,9 +47,9 @@
#include <linux/seq_file.h>
#include <linux/cpumask.h>
#include <linux/profile.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/system.h>
#include <asm/io.h>
#include <asm/pgtable.h>
diff --git a/arch/ppc/kernel/ppc_htab.c b/arch/ppc/kernel/ppc_htab.c
index d8e027fd4849..b5cd7e411e65 100644
--- a/arch/ppc/kernel/ppc_htab.c
+++ b/arch/ppc/kernel/ppc_htab.c
@@ -21,9 +21,9 @@
#include <linux/smp_lock.h>
#include <linux/seq_file.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/mmu.h>
#include <asm/residual.h>
#include <asm/io.h>
diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c
index 44114bac11d0..85b47a7f4a15 100644
--- a/arch/ppc/kernel/ppc_ksyms.c
+++ b/arch/ppc/kernel/ppc_ksyms.c
@@ -15,6 +15,7 @@
#include <linux/delay.h>
#include <linux/ide.h>
#include <linux/pm.h>
+#include <linux/bitops.h>
#include <asm/page.h>
#include <asm/semaphore.h>
@@ -23,7 +24,6 @@
#include <asm/io.h>
#include <asm/ide.h>
#include <asm/atomic.h>
-#include <asm/bitops.h>
#include <asm/checksum.h>
#include <asm/pgtable.h>
#include <asm/tlbflush.h>
diff --git a/arch/ppc/platforms/pmac_setup.c b/arch/ppc/platforms/pmac_setup.c
index 79fc295143eb..513952331986 100644
--- a/arch/ppc/platforms/pmac_setup.c
+++ b/arch/ppc/platforms/pmac_setup.c
@@ -51,13 +51,13 @@
#include <linux/irq.h>
#include <linux/seq_file.h>
#include <linux/root_dev.h>
+#include <linux/bitops.h>
#include <asm/reg.h>
#include <asm/sections.h>
#include <asm/prom.h>
#include <asm/system.h>
#include <asm/pgtable.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/pci-bridge.h>
#include <asm/ohare.h>
diff --git a/arch/ppc/syslib/prom.c b/arch/ppc/syslib/prom.c
index 1ddb0c0eb8bb..1b23f1e23ae3 100644
--- a/arch/ppc/syslib/prom.c
+++ b/arch/ppc/syslib/prom.c
@@ -19,6 +19,7 @@
#include <linux/ioport.h>
#include <linux/pci.h>
#include <linux/slab.h>
+#include <linux/bitops.h>
#include <asm/sections.h>
#include <asm/prom.h>
@@ -31,7 +32,6 @@
#include <asm/system.h>
#include <asm/mmu.h>
#include <asm/pgtable.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/btext.h>
#include <asm/pci-bridge.h>
diff --git a/arch/ppc/syslib/prom_init.c b/arch/ppc/syslib/prom_init.c
index ac4c8b158041..3d6ea5ee8f6f 100644
--- a/arch/ppc/syslib/prom_init.c
+++ b/arch/ppc/syslib/prom_init.c
@@ -15,6 +15,7 @@
#include <linux/ioport.h>
#include <linux/pci.h>
#include <linux/slab.h>
+#include <linux/bitops.h>
#include <asm/sections.h>
#include <asm/prom.h>
@@ -26,7 +27,6 @@
#include <asm/system.h>
#include <asm/mmu.h>
#include <asm/pgtable.h>
-#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/btext.h>
#include <asm/pci-bridge.h>
diff --git a/arch/ppc/xmon/start.c b/arch/ppc/xmon/start.c
index d88096739064..bbe463913e74 100644
--- a/arch/ppc/xmon/start.c
+++ b/arch/ppc/xmon/start.c
@@ -12,6 +12,7 @@
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/sysrq.h>
+#include <linux/bitops.h>
#include <asm/xmon.h>
#include <asm/prom.h>
#include <asm/bootx.h>
@@ -21,9 +22,6 @@
#include <asm/processor.h>
#include <asm/delay.h>
#include <asm/btext.h>
-#ifdef CONFIG_SMP
-#include <asm/bitops.h>
-#endif
static volatile unsigned char *sccc, *sccd;
unsigned int TXRDY, RXRDY, DLAB;
diff --git a/arch/ppc/xmon/xmon.c b/arch/ppc/xmon/xmon.c
index e7fe8d4c25ee..9976e7cb5b0d 100644
--- a/arch/ppc/xmon/xmon.c
+++ b/arch/ppc/xmon/xmon.c
@@ -8,10 +8,10 @@
#include <linux/sched.h>
#include <linux/smp.h>
#include <linux/interrupt.h>
+#include <linux/bitops.h>
#include <asm/ptrace.h>
#include <asm/string.h>
#include <asm/prom.h>
-#include <asm/bitops.h>
#include <asm/bootx.h>
#include <asm/machdep.h>
#include <asm/xmon.h>
diff --git a/arch/ppc64/kernel/LparData.c b/arch/ppc64/kernel/LparData.c
index 73d919bf858e..4400095f9501 100644
--- a/arch/ppc64/kernel/LparData.c
+++ b/arch/ppc64/kernel/LparData.c
@@ -11,11 +11,11 @@
#include <stddef.h>
#include <linux/threads.h>
#include <linux/module.h>
+#include <linux/bitops.h>
#include <asm/processor.h>
#include <asm/ptrace.h>
#include <asm/naca.h>
#include <asm/abs_addr.h>
-#include <asm/bitops.h>
#include <asm/iSeries/ItLpNaca.h>
#include <asm/iSeries/ItLpPaca.h>
#include <asm/iSeries/ItLpRegSave.h>
diff --git a/arch/ppc64/kernel/bitops.c b/arch/ppc64/kernel/bitops.c
index 6b24b0219090..ae329e8b4acb 100644
--- a/arch/ppc64/kernel/bitops.c
+++ b/arch/ppc64/kernel/bitops.c
@@ -4,7 +4,7 @@
#include <linux/kernel.h>
#include <linux/module.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/byteorder.h>
unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
diff --git a/arch/ppc64/kernel/iommu.c b/arch/ppc64/kernel/iommu.c
index d5d64d1d7258..3c476ee1d89e 100644
--- a/arch/ppc64/kernel/iommu.c
+++ b/arch/ppc64/kernel/iommu.c
@@ -33,12 +33,12 @@
#include <linux/string.h>
#include <linux/dma-mapping.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/prom.h>
#include <asm/iommu.h>
#include <asm/pci-bridge.h>
#include <asm/machdep.h>
-#include <asm/bitops.h>
#define DBG(...)
diff --git a/arch/ppc64/kernel/irq.c b/arch/ppc64/kernel/irq.c
index 55e5387123ec..9410bbf260d3 100644
--- a/arch/ppc64/kernel/irq.c
+++ b/arch/ppc64/kernel/irq.c
@@ -42,9 +42,9 @@
#include <linux/random.h>
#include <linux/kallsyms.h>
#include <linux/profile.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/system.h>
#include <asm/io.h>
#include <asm/pgtable.h>
diff --git a/arch/ppc64/kernel/lmb.c b/arch/ppc64/kernel/lmb.c
index 56a26eec0b1a..56d7ba87fe60 100644
--- a/arch/ppc64/kernel/lmb.c
+++ b/arch/ppc64/kernel/lmb.c
@@ -13,12 +13,12 @@
#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/types.h>
#include <asm/page.h>
#include <asm/prom.h>
#include <asm/lmb.h>
#include <asm/abs_addr.h>
-#include <asm/bitops.h>
struct lmb lmb;
diff --git a/arch/ppc64/kernel/pmac_setup.c b/arch/ppc64/kernel/pmac_setup.c
index 3d1de0f9bf83..49fb81444522 100644
--- a/arch/ppc64/kernel/pmac_setup.c
+++ b/arch/ppc64/kernel/pmac_setup.c
@@ -53,13 +53,12 @@
#include <linux/irq.h>
#include <linux/seq_file.h>
#include <linux/root_dev.h>
+#include <linux/bitops.h>
#include <asm/processor.h>
#include <asm/sections.h>
#include <asm/prom.h>
#include <asm/system.h>
-#include <asm/pgtable.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/pci-bridge.h>
#include <asm/iommu.h>
diff --git a/arch/ppc64/kernel/ppc_ksyms.c b/arch/ppc64/kernel/ppc_ksyms.c
index 3732fe0482a2..cf543e042665 100644
--- a/arch/ppc64/kernel/ppc_ksyms.c
+++ b/arch/ppc64/kernel/ppc_ksyms.c
@@ -21,6 +21,7 @@
#include <linux/delay.h>
#include <linux/smp_lock.h>
#include <linux/syscalls.h>
+#include <linux/bitops.h>
#include <asm/page.h>
#include <asm/semaphore.h>
@@ -28,7 +29,6 @@
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/atomic.h>
-#include <asm/bitops.h>
#include <asm/checksum.h>
#include <asm/pgtable.h>
#include <asm/prom.h>
diff --git a/arch/ppc64/kernel/prom.c b/arch/ppc64/kernel/prom.c
index f121ffbc2069..f9eec2a5405b 100644
--- a/arch/ppc64/kernel/prom.c
+++ b/arch/ppc64/kernel/prom.c
@@ -31,6 +31,7 @@
#include <linux/stringify.h>
#include <linux/delay.h>
#include <linux/initrd.h>
+#include <linux/bitops.h>
#include <asm/prom.h>
#include <asm/rtas.h>
#include <asm/lmb.h>
@@ -43,7 +44,6 @@
#include <asm/system.h>
#include <asm/mmu.h>
#include <asm/pgtable.h>
-#include <asm/bitops.h>
#include <asm/naca.h>
#include <asm/pci.h>
#include <asm/iommu.h>
diff --git a/arch/ppc64/kernel/prom_init.c b/arch/ppc64/kernel/prom_init.c
index f62bda79e102..2add2f88d440 100644
--- a/arch/ppc64/kernel/prom_init.c
+++ b/arch/ppc64/kernel/prom_init.c
@@ -31,6 +31,7 @@
#include <linux/stringify.h>
#include <linux/delay.h>
#include <linux/initrd.h>
+#include <linux/bitops.h>
#include <asm/prom.h>
#include <asm/rtas.h>
#include <asm/abs_addr.h>
@@ -42,7 +43,6 @@
#include <asm/system.h>
#include <asm/mmu.h>
#include <asm/pgtable.h>
-#include <asm/bitops.h>
#include <asm/naca.h>
#include <asm/pci.h>
#include <asm/iommu.h>
diff --git a/arch/ppc64/kernel/ras.c b/arch/ppc64/kernel/ras.c
index 75ced99c5d7c..06f69b37fe34 100644
--- a/arch/ppc64/kernel/ras.c
+++ b/arch/ppc64/kernel/ras.c
@@ -37,9 +37,9 @@
#include <linux/irq.h>
#include <linux/random.h>
#include <linux/sysrq.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/system.h>
#include <asm/io.h>
#include <asm/pgtable.h>
diff --git a/arch/ppc64/kernel/rtas-proc.c b/arch/ppc64/kernel/rtas-proc.c
index bd75066cc047..c857aa14d6b2 100644
--- a/arch/ppc64/kernel/rtas-proc.c
+++ b/arch/ppc64/kernel/rtas-proc.c
@@ -22,9 +22,9 @@
#include <linux/string.h>
#include <linux/init.h>
#include <linux/seq_file.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/processor.h>
#include <asm/io.h>
#include <asm/prom.h>
diff --git a/arch/sh/boards/bigsur/irq.c b/arch/sh/boards/bigsur/irq.c
index 082472448611..c188fc32dc9a 100644
--- a/arch/sh/boards/bigsur/irq.c
+++ b/arch/sh/boards/bigsur/irq.c
@@ -29,10 +29,10 @@
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/irq.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/bigsur/io.h>
#include <asm/hd64465/hd64465.h>
diff --git a/arch/sh/boards/bigsur/setup.c b/arch/sh/boards/bigsur/setup.c
index 9cb329269260..e69be05195f5 100644
--- a/arch/sh/boards/bigsur/setup.c
+++ b/arch/sh/boards/bigsur/setup.c
@@ -29,10 +29,10 @@
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/irq.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/machvec.h>
#include <asm/bigsur/io.h>
#include <asm/hd64465/hd64465.h>
diff --git a/arch/sh/kernel/cpu/irq_imask.c b/arch/sh/kernel/cpu/irq_imask.c
index be2c82385d97..f76901e732fb 100644
--- a/arch/sh/kernel/cpu/irq_imask.c
+++ b/arch/sh/kernel/cpu/irq_imask.c
@@ -18,10 +18,10 @@
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <linux/spinlock.h>
#include <linux/cache.h>
diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c
index 73ec3365d0d0..9a7d936263fd 100644
--- a/arch/sh/kernel/irq.c
+++ b/arch/sh/kernel/irq.c
@@ -31,10 +31,10 @@
#include <linux/init.h>
#include <linux/seq_file.h>
#include <linux/kallsyms.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/io.h>
-#include <asm/bitops.h>
#include <asm/pgalloc.h>
#include <asm/delay.h>
#include <asm/irq.h>
diff --git a/arch/sh64/kernel/irq.c b/arch/sh64/kernel/irq.c
index 7d0f422e1133..b0f138f545a8 100644
--- a/arch/sh64/kernel/irq.c
+++ b/arch/sh64/kernel/irq.c
@@ -30,9 +30,9 @@
#include <linux/smp_lock.h>
#include <linux/init.h>
#include <linux/seq_file.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/io.h>
-#include <asm/bitops.h>
#include <asm/smp.h>
#include <asm/pgalloc.h>
#include <asm/delay.h>
diff --git a/arch/sh64/kernel/irq_intc.c b/arch/sh64/kernel/irq_intc.c
index 4062ae55e1ae..43f88f3a78b0 100644
--- a/arch/sh64/kernel/irq_intc.c
+++ b/arch/sh64/kernel/irq_intc.c
@@ -20,12 +20,12 @@
#include <linux/irq.h>
#include <linux/kernel.h>
#include <linux/stddef.h>
+#include <linux/bitops.h> /* this includes also <asm/registers.h */
+ /* which is required to remap register */
+ /* names used into __asm__ blocks... */
#include <asm/hardware.h>
#include <asm/platform.h>
-#include <asm/bitops.h> /* this includes also <asm/registers.h */
- /* which is required to remap register */
- /* names used into __asm__ blocks... */
#include <asm/page.h>
#include <asm/io.h>
#include <asm/irq.h>
diff --git a/arch/sparc/kernel/signal.c b/arch/sparc/kernel/signal.c
index 276860da53bd..7f677a39c1a9 100644
--- a/arch/sparc/kernel/signal.c
+++ b/arch/sparc/kernel/signal.c
@@ -20,9 +20,9 @@
#include <linux/smp.h>
#include <linux/smp_lock.h>
#include <linux/binfmts.h> /* do_coredum */
+#include <linux/bitops.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/ptrace.h>
#include <asm/svr4.h>
#include <asm/pgalloc.h>
diff --git a/arch/sparc/lib/bitext.c b/arch/sparc/lib/bitext.c
index f375c8e361df..1e711bb665b7 100644
--- a/arch/sparc/lib/bitext.c
+++ b/arch/sparc/lib/bitext.c
@@ -10,9 +10,9 @@
*/
#include <linux/smp_lock.h>
+#include <linux/bitops.h>
#include <asm/bitext.h>
-#include <asm/bitops.h>
/**
* bit_map_string_get - find and set a bit string in bit map.
diff --git a/arch/sparc/mm/io-unit.c b/arch/sparc/mm/io-unit.c
index 7eddc56b749f..40b36f0b3307 100644
--- a/arch/sparc/mm/io-unit.c
+++ b/arch/sparc/mm/io-unit.c
@@ -11,6 +11,7 @@
#include <linux/spinlock.h>
#include <linux/mm.h>
#include <linux/highmem.h> /* pte_offset_map => kmap_atomic */
+#include <linux/bitops.h>
#include <asm/scatterlist.h>
#include <asm/pgalloc.h>
@@ -19,7 +20,6 @@
#include <asm/io.h>
#include <asm/io-unit.h>
#include <asm/mxcc.h>
-#include <asm/bitops.h>
#include <asm/cacheflush.h>
#include <asm/tlbflush.h>
#include <asm/dma.h>
diff --git a/arch/sparc64/kernel/signal.c b/arch/sparc64/kernel/signal.c
index d81bfab517f0..aa298d31d33c 100644
--- a/arch/sparc64/kernel/signal.c
+++ b/arch/sparc64/kernel/signal.c
@@ -23,9 +23,9 @@
#include <linux/tty.h>
#include <linux/smp_lock.h>
#include <linux/binfmts.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/ptrace.h>
#include <asm/svr4.h>
#include <asm/pgtable.h>
diff --git a/arch/sparc64/kernel/signal32.c b/arch/sparc64/kernel/signal32.c
index 63d9cec39754..ab266049499e 100644
--- a/arch/sparc64/kernel/signal32.c
+++ b/arch/sparc64/kernel/signal32.c
@@ -20,9 +20,9 @@
#include <linux/smp_lock.h>
#include <linux/binfmts.h>
#include <linux/compat.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/ptrace.h>
#include <asm/svr4.h>
#include <asm/pgtable.h>
diff --git a/arch/sparc64/kernel/unaligned.c b/arch/sparc64/kernel/unaligned.c
index 646a788fa9d2..8a9d3b6bfe5c 100644
--- a/arch/sparc64/kernel/unaligned.c
+++ b/arch/sparc64/kernel/unaligned.c
@@ -19,8 +19,8 @@
#include <asm/uaccess.h>
#include <linux/smp.h>
#include <linux/smp_lock.h>
+#include <linux/bitops.h>
#include <asm/fpumacro.h>
-#include <asm/bitops.h>
/* #define DEBUG_MNA */
diff --git a/arch/sparc64/lib/find_bit.c b/arch/sparc64/lib/find_bit.c
index 5852614492bb..27545fbf5da7 100644
--- a/arch/sparc64/lib/find_bit.c
+++ b/arch/sparc64/lib/find_bit.c
@@ -1,4 +1,4 @@
-#include <asm/bitops.h>
+#include <linux/bitops.h>
/**
* find_next_bit - find the next set bit in a memory region
diff --git a/arch/v850/kernel/fpga85e2c.c b/arch/v850/kernel/fpga85e2c.c
index 17e3dbafc371..af2e804b7283 100644
--- a/arch/v850/kernel/fpga85e2c.c
+++ b/arch/v850/kernel/fpga85e2c.c
@@ -20,11 +20,11 @@
#include <linux/swap.h>
#include <linux/bootmem.h>
#include <linux/irq.h>
+#include <linux/bitops.h>
#include <asm/atomic.h>
#include <asm/page.h>
#include <asm/machdep.h>
-#include <asm/bitops.h>
#include "mach.h"
diff --git a/arch/x86_64/kernel/i8259.c b/arch/x86_64/kernel/i8259.c
index f5d084a990d3..7929a2e534a6 100644
--- a/arch/x86_64/kernel/i8259.c
+++ b/arch/x86_64/kernel/i8259.c
@@ -12,6 +12,7 @@
#include <linux/init.h>
#include <linux/kernel_stat.h>
#include <linux/sysdev.h>
+#include <linux/bitops.h>
#include <asm/acpi.h>
#include <asm/atomic.h>
@@ -19,7 +20,6 @@
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/hw_irq.h>
-#include <asm/bitops.h>
#include <asm/pgtable.h>
#include <asm/delay.h>
#include <asm/desc.h>
diff --git a/arch/x86_64/kernel/pci-gart.c b/arch/x86_64/kernel/pci-gart.c
index ca608a2a0aaf..bf2d2d0bf5d2 100644
--- a/arch/x86_64/kernel/pci-gart.c
+++ b/arch/x86_64/kernel/pci-gart.c
@@ -22,10 +22,10 @@
#include <linux/module.h>
#include <linux/topology.h>
#include <linux/interrupt.h>
+#include <linux/bitops.h>
#include <asm/atomic.h>
#include <asm/io.h>
#include <asm/mtrr.h>
-#include <asm/bitops.h>
#include <asm/pgtable.h>
#include <asm/proto.h>
#include <asm/cacheflush.h>
diff --git a/arch/x86_64/kernel/setup64.c b/arch/x86_64/kernel/setup64.c
index b7f2bfa57c55..8c68b5d34cf6 100644
--- a/arch/x86_64/kernel/setup64.c
+++ b/arch/x86_64/kernel/setup64.c
@@ -11,11 +11,11 @@
#include <linux/sched.h>
#include <linux/string.h>
#include <linux/bootmem.h>
+#include <linux/bitops.h>
#include <asm/pda.h>
#include <asm/pgtable.h>
#include <asm/processor.h>
#include <asm/desc.h>
-#include <asm/bitops.h>
#include <asm/atomic.h>
#include <asm/mmu_context.h>
#include <asm/smp.h>
diff --git a/arch/x86_64/lib/bitops.c b/arch/x86_64/lib/bitops.c
index 6060dd9084aa..994d766503dd 100644
--- a/arch/x86_64/lib/bitops.c
+++ b/arch/x86_64/lib/bitops.c
@@ -1,5 +1,5 @@
#include <linux/module.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#undef find_first_zero_bit
#undef find_next_zero_bit
diff --git a/arch/x86_64/lib/bitstr.c b/arch/x86_64/lib/bitstr.c
index e7ce82a0a332..24676609a6ac 100644
--- a/arch/x86_64/lib/bitstr.c
+++ b/arch/x86_64/lib/bitstr.c
@@ -1,5 +1,5 @@
#include <linux/module.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
/* Find string of zero bits in a bitmap */
unsigned long
diff --git a/drivers/acorn/block/fd1772.c b/drivers/acorn/block/fd1772.c
index 0e7a399d2470..9cc2e8436b45 100644
--- a/drivers/acorn/block/fd1772.c
+++ b/drivers/acorn/block/fd1772.c
@@ -138,9 +138,9 @@
#include <linux/types.h>
#include <linux/delay.h>
#include <linux/mm.h>
+#include <linux/bitops.h>
#include <asm/arch/oldlatches.h>
-#include <asm/bitops.h>
#include <asm/dma.h>
#include <asm/hardware.h>
#include <asm/hardware/ioc.h>
diff --git a/drivers/block/z2ram.c b/drivers/block/z2ram.c
index 958a5e1f70c7..8dc889498306 100644
--- a/drivers/block/z2ram.c
+++ b/drivers/block/z2ram.c
@@ -32,9 +32,9 @@
#include <linux/init.h>
#include <linux/module.h>
#include <linux/blkdev.h>
+#include <linux/bitops.h>
#include <asm/setup.h>
-#include <asm/bitops.h>
#include <asm/amigahw.h>
#include <asm/pgtable.h>
diff --git a/drivers/bluetooth/bt3c_cs.c b/drivers/bluetooth/bt3c_cs.c
index d67d0385f20b..305e030eb447 100644
--- a/drivers/bluetooth/bt3c_cs.c
+++ b/drivers/bluetooth/bt3c_cs.c
@@ -39,8 +39,8 @@
#include <linux/string.h>
#include <linux/serial.h>
#include <linux/serial_reg.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <linux/device.h>
diff --git a/drivers/bluetooth/btuart_cs.c b/drivers/bluetooth/btuart_cs.c
index b44fa7dd38c3..f039c84e8218 100644
--- a/drivers/bluetooth/btuart_cs.c
+++ b/drivers/bluetooth/btuart_cs.c
@@ -38,8 +38,8 @@
#include <linux/string.h>
#include <linux/serial.h>
#include <linux/serial_reg.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <pcmcia/version.h>
diff --git a/drivers/bluetooth/dtl1_cs.c b/drivers/bluetooth/dtl1_cs.c
index 79ec1ce7841d..91e0a2edf720 100644
--- a/drivers/bluetooth/dtl1_cs.c
+++ b/drivers/bluetooth/dtl1_cs.c
@@ -38,8 +38,8 @@
#include <linux/string.h>
#include <linux/serial.h>
#include <linux/serial_reg.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <pcmcia/version.h>
diff --git a/drivers/char/amiserial.c b/drivers/char/amiserial.c
index bcf906bb24ff..b657ac4ff7cc 100644
--- a/drivers/char/amiserial.c
+++ b/drivers/char/amiserial.c
@@ -85,13 +85,13 @@ static char *serial_version = "4.30";
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
#include <asm/setup.h>
#include <asm/system.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/amigahw.h>
#include <asm/amigaints.h>
diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c
index 46002d5bada1..d3fd1c9c9301 100644
--- a/drivers/char/cyclades.c
+++ b/drivers/char/cyclades.c
@@ -652,12 +652,12 @@ static char rcsid[] =
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/spinlock.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#define CY_LOCK(info,flags) \
do { \
diff --git a/drivers/char/ec3104_keyb.c b/drivers/char/ec3104_keyb.c
index b3289d9d23f5..452d45c7b13b 100644
--- a/drivers/char/ec3104_keyb.c
+++ b/drivers/char/ec3104_keyb.c
@@ -43,9 +43,9 @@
#include <linux/slab.h>
#include <linux/kbd_kern.h>
#include <linux/smp_lock.h>
+#include <linux/bitops.h>
#include <asm/keyboard.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/irq.h>
#include <asm/system.h>
diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
index e8ad7da73f6f..7ee8a1d70ee8 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
@@ -28,13 +28,13 @@
#include <linux/wait.h>
#include <linux/bcd.h>
#include <linux/seq_file.h>
+#include <linux/bitops.h>
#include <asm/current.h>
#include <asm/uaccess.h>
#include <asm/system.h>
#include <asm/io.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/div64.h>
#include <linux/acpi.h>
diff --git a/drivers/char/ip2main.c b/drivers/char/ip2main.c
index e0cbd7552eb8..3d3ae6856bbd 100644
--- a/drivers/char/ip2main.c
+++ b/drivers/char/ip2main.c
@@ -112,11 +112,11 @@
#include <linux/cdk.h>
#include <linux/comstats.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/io.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <linux/vmalloc.h>
#include <linux/init.h>
diff --git a/drivers/char/moxa.c b/drivers/char/moxa.c
index 11373907f29f..36b90e087031 100644
--- a/drivers/char/moxa.c
+++ b/drivers/char/moxa.c
@@ -50,10 +50,10 @@
#include <linux/delay.h>
#include <linux/pci.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/io.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#define MOXA_VERSION "5.1k"
diff --git a/drivers/char/mwave/3780i.c b/drivers/char/mwave/3780i.c
index 8832ed21d412..0dee98b146fb 100644
--- a/drivers/char/mwave/3780i.c
+++ b/drivers/char/mwave/3780i.c
@@ -52,11 +52,11 @@
#include <linux/delay.h>
#include <linux/ioport.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/uaccess.h>
#include <asm/system.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include "smapi.h"
#include "mwavedd.h"
#include "3780i.h"
diff --git a/drivers/char/n_hdlc.c b/drivers/char/n_hdlc.c
index 3e10c700d685..0a684d8cc112 100644
--- a/drivers/char/n_hdlc.c
+++ b/drivers/char/n_hdlc.c
@@ -103,9 +103,9 @@
#include <linux/string.h> /* used in new tty drivers */
#include <linux/signal.h> /* used in new tty drivers */
#include <linux/if.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/termios.h>
#include <asm/uaccess.h>
diff --git a/drivers/char/n_tty.c b/drivers/char/n_tty.c
index 5a3be050e7bf..3bca97c2ae45 100644
--- a/drivers/char/n_tty.c
+++ b/drivers/char/n_tty.c
@@ -44,10 +44,10 @@
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/poll.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
/* number of characters left in xmit buffer before select has we have room */
#define WAKEUP_CHARS 256
diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c
index f334dbfcf21f..522de1ec92c4 100644
--- a/drivers/char/pcmcia/synclink_cs.c
+++ b/drivers/char/pcmcia/synclink_cs.c
@@ -65,7 +65,7 @@
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/dma.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/types.h>
#include <linux/termios.h>
#include <linux/workqueue.h>
diff --git a/drivers/char/pcxx.c b/drivers/char/pcxx.c
index 97fd9da9c5ef..d489a1322e0d 100644
--- a/drivers/char/pcxx.c
+++ b/drivers/char/pcxx.c
@@ -65,6 +65,7 @@
#include <linux/tty_driver.h>
#include <linux/slab.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#ifndef MODULE
#include <linux/ctype.h> /* We only need it for parsing the "digi="-line */
@@ -73,7 +74,6 @@
#include <asm/system.h>
#include <asm/io.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/semaphore.h>
#define VERSION "1.6.3"
diff --git a/drivers/char/pty.c b/drivers/char/pty.c
index 9826bbd0f67a..2e0eda2d40bf 100644
--- a/drivers/char/pty.c
+++ b/drivers/char/pty.c
@@ -29,7 +29,7 @@
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/devpts_fs.h>
/* These are global because they are accessed in tty_io.c */
diff --git a/drivers/char/qtronix.c b/drivers/char/qtronix.c
index 4698af2d62e3..e0bb00f3c05d 100644
--- a/drivers/char/qtronix.c
+++ b/drivers/char/qtronix.c
@@ -79,7 +79,7 @@
#include <linux/pc_keyb.h>
#include <asm/keyboard.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <asm/irq.h>
#include <asm/system.h>
diff --git a/drivers/char/rocket.c b/drivers/char/rocket.c
index 9f13fad3fc11..4a0840ed50c9 100644
--- a/drivers/char/rocket.c
+++ b/drivers/char/rocket.c
@@ -91,7 +91,7 @@
#include <linux/pci.h>
#include <asm/uaccess.h>
#include <asm/atomic.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/spinlock.h>
#include <asm/semaphore.h>
#include <linux/init.h>
diff --git a/drivers/char/serial167.c b/drivers/char/serial167.c
index b2538a6b85b0..028044f79045 100644
--- a/drivers/char/serial167.c
+++ b/drivers/char/serial167.c
@@ -59,10 +59,10 @@
#include <linux/mm.h>
#include <linux/console.h>
#include <linux/module.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/io.h>
-#include <asm/bitops.h>
#include <asm/mvme16xhw.h>
#include <asm/bootinfo.h>
#include <asm/setup.h>
diff --git a/drivers/char/synclink.c b/drivers/char/synclink.c
index edf89fffe4e1..84224b99353f 100644
--- a/drivers/char/synclink.c
+++ b/drivers/char/synclink.c
@@ -97,7 +97,7 @@
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/dma.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/types.h>
#include <linux/termios.h>
#include <linux/workqueue.h>
diff --git a/drivers/char/synclinkmp.c b/drivers/char/synclinkmp.c
index 9ccce79fdf4e..cb4de2ebb15e 100644
--- a/drivers/char/synclinkmp.c
+++ b/drivers/char/synclinkmp.c
@@ -63,7 +63,7 @@
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/dma.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/types.h>
#include <linux/termios.h>
#include <linux/workqueue.h>
diff --git a/drivers/char/tipar.c b/drivers/char/tipar.c
index 48d7a7cc0c2b..2fd2901ffc45 100644
--- a/drivers/char/tipar.c
+++ b/drivers/char/tipar.c
@@ -55,7 +55,7 @@
#include <asm/uaccess.h>
#include <linux/ioport.h>
#include <asm/io.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/devfs_fs_kernel.h> /* DevFs support */
#include <linux/parport.h> /* Our code depend on parport */
#include <linux/device.h>
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
index 9d5e4ba9dc25..b27ae629e6e2 100644
--- a/drivers/char/tty_io.c
+++ b/drivers/char/tty_io.c
@@ -93,10 +93,10 @@
#include <linux/device.h>
#include <linux/idr.h>
#include <linux/wait.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <linux/kbd_kern.h>
#include <linux/vt_kern.h>
diff --git a/drivers/char/tty_ioctl.c b/drivers/char/tty_ioctl.c
index 830c665a3bd5..d1060b2d5579 100644
--- a/drivers/char/tty_ioctl.c
+++ b/drivers/char/tty_ioctl.c
@@ -19,9 +19,9 @@
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/module.h>
+#include <linux/bitops.h>
#include <asm/io.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/system.h>
diff --git a/drivers/char/vt.c b/drivers/char/vt.c
index cffa77b92629..185d19ab1214 100644
--- a/drivers/char/vt.c
+++ b/drivers/char/vt.c
@@ -101,11 +101,11 @@
#include <linux/bootmem.h>
#include <linux/pm.h>
#include <linux/font.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/system.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include "console_macros.h"
diff --git a/drivers/char/watchdog/ixp2000_wdt.c b/drivers/char/watchdog/ixp2000_wdt.c
index ebcaf79ce8bc..ab659d37b4d2 100644
--- a/drivers/char/watchdog/ixp2000_wdt.c
+++ b/drivers/char/watchdog/ixp2000_wdt.c
@@ -25,9 +25,9 @@
#include <linux/miscdevice.h>
#include <linux/watchdog.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/hardware.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#ifdef CONFIG_WATCHDOG_NOWAYOUT
diff --git a/drivers/char/watchdog/ixp4xx_wdt.c b/drivers/char/watchdog/ixp4xx_wdt.c
index a6781dede6c8..eb13091b8b15 100644
--- a/drivers/char/watchdog/ixp4xx_wdt.c
+++ b/drivers/char/watchdog/ixp4xx_wdt.c
@@ -22,9 +22,9 @@
#include <linux/miscdevice.h>
#include <linux/watchdog.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/hardware.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#ifdef CONFIG_WATCHDOG_NOWAYOUT
diff --git a/drivers/fc4/soc.c b/drivers/fc4/soc.c
index 3f8b4c15115d..392e216696d9 100644
--- a/drivers/fc4/soc.c
+++ b/drivers/fc4/soc.c
@@ -32,7 +32,7 @@ static char *version =
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/init.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <linux/errno.h>
diff --git a/drivers/fc4/socal.c b/drivers/fc4/socal.c
index 5ee4dda53743..162985ca9d57 100644
--- a/drivers/fc4/socal.c
+++ b/drivers/fc4/socal.c
@@ -27,8 +27,8 @@ static char *version =
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <linux/errno.h>
diff --git a/drivers/ide/ide-default.c b/drivers/ide/ide-default.c
index ef6e2c8c21d3..a6bea5d0de03 100644
--- a/drivers/ide/ide-default.c
+++ b/drivers/ide/ide-default.c
@@ -23,13 +23,13 @@
#include <linux/slab.h>
#include <linux/cdrom.h>
#include <linux/ide.h>
+#include <linux/bitops.h>
#include <asm/byteorder.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/unaligned.h>
-#include <asm/bitops.h>
#define IDEDEFAULT_VERSION "0.9.newide"
/*
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
index 3b092c387193..39819daed56c 100644
--- a/drivers/ide/ide-floppy.c
+++ b/drivers/ide/ide-floppy.c
@@ -97,13 +97,13 @@
#include <linux/slab.h>
#include <linux/cdrom.h>
#include <linux/ide.h>
+#include <linux/bitops.h>
#include <asm/byteorder.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/unaligned.h>
-#include <asm/bitops.h>
/*
* The following are used to debug the driver.
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c
index c104120ae669..d2316daebd38 100644
--- a/drivers/ide/ide-iops.c
+++ b/drivers/ide/ide-iops.c
@@ -23,12 +23,12 @@
#include <linux/delay.h>
#include <linux/hdreg.h>
#include <linux/ide.h>
+#include <linux/bitops.h>
#include <asm/byteorder.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
#include <asm/io.h>
-#include <asm/bitops.h>
/*
* Conventional PIO operations for ATA devices
diff --git a/drivers/ide/ide-lib.c b/drivers/ide/ide-lib.c
index b2fa5eccdcad..8acad305be8b 100644
--- a/drivers/ide/ide-lib.c
+++ b/drivers/ide/ide-lib.c
@@ -15,12 +15,12 @@
#include <linux/delay.h>
#include <linux/hdreg.h>
#include <linux/ide.h>
+#include <linux/bitops.h>
#include <asm/byteorder.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
#include <asm/io.h>
-#include <asm/bitops.h>
/*
* IDE library routines. These are plug in code that most
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index 3ec7ff671c65..82e471ffd713 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -442,13 +442,13 @@
#include <linux/ide.h>
#include <linux/smp_lock.h>
#include <linux/completion.h>
+#include <linux/bitops.h>
#include <asm/byteorder.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/unaligned.h>
-#include <asm/bitops.h>
/*
* partition
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c
index 4a8019475c02..c7eea8dd31a3 100644
--- a/drivers/ide/ide-taskfile.c
+++ b/drivers/ide/ide-taskfile.c
@@ -44,12 +44,12 @@
#include <linux/delay.h>
#include <linux/hdreg.h>
#include <linux/ide.h>
+#include <linux/bitops.h>
#include <asm/byteorder.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
#include <asm/io.h>
-#include <asm/bitops.h>
#define DEBUG_TASKFILE 0 /* unset when fixed */
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index 5f0a43527219..75baad1eafca 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -153,12 +153,12 @@
#include <linux/cdrom.h>
#include <linux/seq_file.h>
#include <linux/device.h>
+#include <linux/bitops.h>
#include <asm/byteorder.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
#include <asm/io.h>
-#include <asm/bitops.h>
/* default maximum number of failures */
diff --git a/drivers/input/serio/q40kbd.c b/drivers/input/serio/q40kbd.c
index 7d5ecce92346..a56ea2b73f12 100644
--- a/drivers/input/serio/q40kbd.c
+++ b/drivers/input/serio/q40kbd.c
@@ -36,8 +36,8 @@
#include <linux/serio.h>
#include <linux/interrupt.h>
#include <linux/err.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/uaccess.h>
#include <asm/q40_master.h>
diff --git a/drivers/isdn/i4l/isdn_bsdcomp.c b/drivers/isdn/i4l/isdn_bsdcomp.c
index fd80b86388a9..baf4bcad9bf9 100644
--- a/drivers/isdn/i4l/isdn_bsdcomp.c
+++ b/drivers/isdn/i4l/isdn_bsdcomp.c
@@ -68,9 +68,9 @@
#include <linux/errno.h>
#include <linux/string.h> /* used in new tty drivers */
#include <linux/signal.h> /* used in new tty drivers */
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/byteorder.h>
#include <asm/types.h>
diff --git a/drivers/macintosh/macserial.c b/drivers/macintosh/macserial.c
index a3a5372f7aeb..e35a141adaa6 100644
--- a/drivers/macintosh/macserial.c
+++ b/drivers/macintosh/macserial.c
@@ -32,6 +32,7 @@
#include <linux/console.h>
#endif
#include <linux/slab.h>
+#include <linux/bitops.h>
#include <asm/sections.h>
#include <asm/io.h>
@@ -40,7 +41,6 @@
#include <asm/prom.h>
#include <asm/system.h>
#include <asm/segment.h>
-#include <asm/bitops.h>
#include <asm/machdep.h>
#include <asm/pmac_feature.h>
#include <linux/adb.h>
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index d1f54a9ad324..e5f6bb754f5a 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -21,7 +21,7 @@
#include <linux/slab.h>
#include <linux/raid/raid5.h>
#include <linux/highmem.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/atomic.h>
/*
diff --git a/drivers/md/raid6main.c b/drivers/md/raid6main.c
index aea1a1be5845..b6050c837bb6 100644
--- a/drivers/md/raid6main.c
+++ b/drivers/md/raid6main.c
@@ -25,7 +25,7 @@
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/highmem.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/atomic.h>
#include "raid6.h"
diff --git a/drivers/media/dvb/bt8xx/dvb-bt8xx.c b/drivers/media/dvb/bt8xx/dvb-bt8xx.c
index e33fdd99b3d3..f53ce50411a2 100644
--- a/drivers/media/dvb/bt8xx/dvb-bt8xx.c
+++ b/drivers/media/dvb/bt8xx/dvb-bt8xx.c
@@ -19,7 +19,7 @@
*
*/
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/init.h>
diff --git a/drivers/media/dvb/frontends/at76c651.c b/drivers/media/dvb/frontends/at76c651.c
index 0dceacee31d5..d221723ac909 100644
--- a/drivers/media/dvb/frontends/at76c651.c
+++ b/drivers/media/dvb/frontends/at76c651.c
@@ -35,10 +35,7 @@
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/slab.h>
-
-#if defined(__powerpc__)
-#include <asm/bitops.h>
-#endif
+#include <linux/bitops.h>
#include "dvb_frontend.h"
diff --git a/drivers/media/dvb/ttpci/av7110_ir.c b/drivers/media/dvb/ttpci/av7110_ir.c
index f3fed48366cf..32292be4bacc 100644
--- a/drivers/media/dvb/ttpci/av7110_ir.c
+++ b/drivers/media/dvb/ttpci/av7110_ir.c
@@ -4,7 +4,7 @@
#include <linux/moduleparam.h>
#include <linux/input.h>
#include <linux/proc_fs.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include "av7110.h"
diff --git a/drivers/net/3c501.c b/drivers/net/3c501.c
index 0c99115637bf..7628bda82c91 100644
--- a/drivers/net/3c501.c
+++ b/drivers/net/3c501.c
@@ -124,9 +124,9 @@ static const char version[] =
#include <linux/spinlock.h>
#include <linux/ethtool.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <linux/netdevice.h>
diff --git a/drivers/net/3c505.c b/drivers/net/3c505.c
index 3aa8409fe5f9..6bff013a941d 100644
--- a/drivers/net/3c505.c
+++ b/drivers/net/3c505.c
@@ -107,9 +107,9 @@
#include <linux/spinlock.h>
#include <linux/ethtool.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/3c507.c b/drivers/net/3c507.c
index 4866a09c0708..8c2a06bfefc7 100644
--- a/drivers/net/3c507.c
+++ b/drivers/net/3c507.c
@@ -59,8 +59,8 @@ static const char version[] =
#include <linux/skbuff.h>
#include <linux/slab.h>
#include <linux/init.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/dma.h>
#include <asm/io.h>
#include <asm/system.h>
diff --git a/drivers/net/3c509.c b/drivers/net/3c509.c
index b053f53bb13e..7d25f2e36fc7 100644
--- a/drivers/net/3c509.c
+++ b/drivers/net/3c509.c
@@ -90,9 +90,9 @@ static int max_interrupt_work = 10;
#include <linux/ethtool.h>
#include <linux/device.h>
#include <linux/eisa.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/irq.h>
diff --git a/drivers/net/3c515.c b/drivers/net/3c515.c
index bcdc0d60846a..7dca6e585e66 100644
--- a/drivers/net/3c515.c
+++ b/drivers/net/3c515.c
@@ -72,9 +72,9 @@ static int max_interrupt_work = 20;
#include <linux/interrupt.h>
#include <linux/timer.h>
#include <linux/ethtool.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/3c523.c b/drivers/net/3c523.c
index 1902f792199e..0a5df59d46fd 100644
--- a/drivers/net/3c523.c
+++ b/drivers/net/3c523.c
@@ -104,10 +104,10 @@
#include <linux/delay.h>
#include <linux/mca-legacy.h>
#include <linux/ethtool.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <asm/processor.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include "3c523.h"
diff --git a/drivers/net/3c527.c b/drivers/net/3c527.c
index a39c446c3429..15550b1442f8 100644
--- a/drivers/net/3c527.c
+++ b/drivers/net/3c527.c
@@ -102,11 +102,11 @@ DRV_NAME ".c:v" DRV_VERSION " " DRV_RELDATE " Richard Procter <rnp@paradise.net.
#include <linux/wait.h>
#include <linux/ethtool.h>
#include <linux/completion.h>
+#include <linux/bitops.h>
#include <asm/semaphore.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
index adcbf6853357..5b45341d3a6a 100644
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -257,8 +257,8 @@ static int vortex_debug = 1;
#include <linux/ethtool.h>
#include <linux/highmem.h>
#include <linux/eisa.h>
+#include <linux/bitops.h>
#include <asm/irq.h> /* For NR_IRQS only. */
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/7990.c b/drivers/net/7990.c
index 0e5aec0d57d1..a18ecab20637 100644
--- a/drivers/net/7990.c
+++ b/drivers/net/7990.c
@@ -32,9 +32,9 @@
#include <linux/skbuff.h>
/* Used for the temporal inet entries and routing */
#include <linux/socket.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/pgtable.h>
diff --git a/drivers/net/82596.c b/drivers/net/82596.c
index c835712edef9..33bcdf612cba 100644
--- a/drivers/net/82596.c
+++ b/drivers/net/82596.c
@@ -53,8 +53,8 @@
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/init.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/pgtable.h>
diff --git a/drivers/net/8390.c b/drivers/net/8390.c
index 04dcacda870d..c89a61289401 100644
--- a/drivers/net/8390.c
+++ b/drivers/net/8390.c
@@ -58,9 +58,9 @@ static const char version[] =
#include <linux/fs.h>
#include <linux/types.h>
#include <linux/string.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <linux/delay.h>
diff --git a/drivers/net/a2065.c b/drivers/net/a2065.c
index 0d95f0bf964c..8e538a6d7d97 100644
--- a/drivers/net/a2065.c
+++ b/drivers/net/a2065.c
@@ -52,8 +52,8 @@
#include <linux/init.h>
#include <linux/crc32.h>
#include <linux/zorro.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/irq.h>
#include <asm/amigaints.h>
#include <asm/amigahw.h>
diff --git a/drivers/net/appletalk/cops.c b/drivers/net/appletalk/cops.c
index 925dd04774fa..00bb1b2ae4a0 100644
--- a/drivers/net/appletalk/cops.c
+++ b/drivers/net/appletalk/cops.c
@@ -69,9 +69,9 @@ static const char *version =
#include <linux/delay.h> /* For udelay() */
#include <linux/atalk.h>
#include <linux/spinlock.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/appletalk/ltpc.c b/drivers/net/appletalk/ltpc.c
index 70a7a181b8d8..118503bc3823 100644
--- a/drivers/net/appletalk/ltpc.c
+++ b/drivers/net/appletalk/ltpc.c
@@ -227,9 +227,9 @@ static int dma;
#include <linux/delay.h>
#include <linux/timer.h>
#include <linux/atalk.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/dma.h>
#include <asm/io.h>
diff --git a/drivers/net/ariadne.c b/drivers/net/ariadne.c
index 10a94c54427e..9fe93acfc8ef 100644
--- a/drivers/net/ariadne.c
+++ b/drivers/net/ariadne.c
@@ -47,8 +47,8 @@
#include <linux/skbuff.h>
#include <linux/init.h>
#include <linux/zorro.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/amigaints.h>
#include <asm/amigahw.h>
#include <asm/irq.h>
diff --git a/drivers/net/arm/am79c961a.c b/drivers/net/arm/am79c961a.c
index a6d42aa9fac5..9b659e3c8d67 100644
--- a/drivers/net/arm/am79c961a.c
+++ b/drivers/net/arm/am79c961a.c
@@ -28,9 +28,9 @@
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/crc32.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/irq.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/arm/ether1.c b/drivers/net/arm/ether1.c
index fb401b27c3b1..6118f09c63cf 100644
--- a/drivers/net/arm/ether1.c
+++ b/drivers/net/arm/ether1.c
@@ -48,9 +48,9 @@
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/ecard.h>
diff --git a/drivers/net/arm/ether3.c b/drivers/net/arm/ether3.c
index d054876b9673..e0d22a31ea12 100644
--- a/drivers/net/arm/ether3.c
+++ b/drivers/net/arm/ether3.c
@@ -64,9 +64,9 @@
#include <linux/device.h>
#include <linux/init.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/ecard.h>
#include <asm/io.h>
#include <asm/irq.h>
diff --git a/drivers/net/arm/etherh.c b/drivers/net/arm/etherh.c
index d861c54a7766..f3f1a483f8ca 100644
--- a/drivers/net/arm/etherh.c
+++ b/drivers/net/arm/etherh.c
@@ -44,9 +44,9 @@
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/ecard.h>
#include <asm/io.h>
#include <asm/irq.h>
diff --git a/drivers/net/at1700.c b/drivers/net/at1700.c
index a3e7e63c39a6..0dcf27a51dd6 100644
--- a/drivers/net/at1700.c
+++ b/drivers/net/at1700.c
@@ -56,9 +56,9 @@
#include <linux/string.h>
#include <linux/init.h>
#include <linux/crc32.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/atari_bionet.c b/drivers/net/atari_bionet.c
index 92a2ec2e51da..1798ce7262c9 100644
--- a/drivers/net/atari_bionet.c
+++ b/drivers/net/atari_bionet.c
@@ -97,6 +97,7 @@ static char version[] =
#include <linux/delay.h>
#include <linux/timer.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
@@ -105,7 +106,6 @@ static char version[] =
#include <asm/setup.h>
#include <asm/pgtable.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/atarihw.h>
diff --git a/drivers/net/atari_pamsnet.c b/drivers/net/atari_pamsnet.c
index c74e5866293a..81c362c8cb97 100644
--- a/drivers/net/atari_pamsnet.c
+++ b/drivers/net/atari_pamsnet.c
@@ -88,9 +88,9 @@ static char *version =
#include <linux/in.h>
#include <linux/slab.h>
#include <linux/string.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/pgtable.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <linux/errno.h>
diff --git a/drivers/net/atarilance.c b/drivers/net/atarilance.c
index e462e2fca538..a5dfb1276c2d 100644
--- a/drivers/net/atarilance.c
+++ b/drivers/net/atarilance.c
@@ -56,12 +56,12 @@ static char version[] = "atarilance.c: v1.3 04/04/96 "
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/setup.h>
#include <asm/irq.h>
#include <asm/atarihw.h>
#include <asm/atariints.h>
-#include <asm/bitops.h>
#include <asm/io.h>
/* Debug level:
diff --git a/drivers/net/atp.c b/drivers/net/atp.c
index fd2e033fecc1..662e40f30031 100644
--- a/drivers/net/atp.c
+++ b/drivers/net/atp.c
@@ -141,9 +141,9 @@ static int xcvr[NUM_UNITS]; /* The data transfer mode. */
#include <linux/skbuff.h>
#include <linux/spinlock.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c
index afcdcffc7847..3328ed511bf8 100644
--- a/drivers/net/au1000_eth.c
+++ b/drivers/net/au1000_eth.c
@@ -36,10 +36,10 @@
#include <linux/skbuff.h>
#include <linux/delay.h>
#include <linux/crc32.h>
+#include <linux/bitops.h>
#include <asm/mipsregs.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/au1000.h>
diff --git a/drivers/net/bagetlance.c b/drivers/net/bagetlance.c
index e62ad3ad6e58..55a0f66f6cf8 100644
--- a/drivers/net/bagetlance.c
+++ b/drivers/net/bagetlance.c
@@ -25,9 +25,9 @@ static char *version = "bagetlance.c: v1.1 11/10/98\n";
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/baget/baget.h>
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 6917b665b65a..e1097f90c883 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -491,8 +491,8 @@
#include <linux/socket.h>
#include <linux/ctype.h>
#include <linux/inet.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/cs89x0.c b/drivers/net/cs89x0.c
index 3ce3237b1686..e8c74071fed3 100644
--- a/drivers/net/cs89x0.c
+++ b/drivers/net/cs89x0.c
@@ -135,9 +135,9 @@
#include <linux/spinlock.h>
#include <linux/string.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#if ALLOW_DMA
#include <asm/dma.h>
diff --git a/drivers/net/defxx.c b/drivers/net/defxx.c
index 85d1bb3a9865..c7ef439ea1de 100644
--- a/drivers/net/defxx.c
+++ b/drivers/net/defxx.c
@@ -207,9 +207,9 @@
#include <linux/netdevice.h>
#include <linux/fddidevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/byteorder.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include "defxx.h"
diff --git a/drivers/net/depca.c b/drivers/net/depca.c
index 5d62a032b8c8..49ebfbe6cff8 100644
--- a/drivers/net/depca.c
+++ b/drivers/net/depca.c
@@ -255,9 +255,9 @@
#include <linux/ctype.h>
#include <linux/moduleparam.h>
#include <linux/device.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/dgrs.c b/drivers/net/dgrs.c
index 639aa7508502..779af1727eef 100644
--- a/drivers/net/dgrs.c
+++ b/drivers/net/dgrs.c
@@ -97,8 +97,8 @@
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/byteorder.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/dl2k.h b/drivers/net/dl2k.h
index d46367392595..6e75482d75f2 100644
--- a/drivers/net/dl2k.h
+++ b/drivers/net/dl2k.h
@@ -28,8 +28,8 @@
#include <linux/init.h>
#include <linux/crc32.h>
#include <linux/ethtool.h>
+#include <linux/bitops.h>
#include <asm/processor.h> /* Processor type for cache alignment. */
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/uaccess.h>
#include <linux/delay.h>
diff --git a/drivers/net/e1000/e1000.h b/drivers/net/e1000/e1000.h
index 1951644a9afc..30c7d5433b69 100644
--- a/drivers/net/e1000/e1000.h
+++ b/drivers/net/e1000/e1000.h
@@ -54,7 +54,7 @@
#include <linux/string.h>
#include <linux/pagemap.h>
#include <linux/dma-mapping.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <linux/capability.h>
diff --git a/drivers/net/eepro.c b/drivers/net/eepro.c
index 9f5ea60758b1..3f05a33e7c69 100644
--- a/drivers/net/eepro.c
+++ b/drivers/net/eepro.c
@@ -145,9 +145,9 @@ static const char version[] =
#include <linux/spinlock.h>
#include <linux/init.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c
index 13850a3177c0..e02b6aec703a 100644
--- a/drivers/net/eepro100.c
+++ b/drivers/net/eepro100.c
@@ -102,8 +102,8 @@ static int options[] = {-1, -1, -1, -1, -1, -1, -1, -1};
#include <linux/init.h>
#include <linux/mii.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/uaccess.h>
#include <asm/irq.h>
diff --git a/drivers/net/eexpress.c b/drivers/net/eexpress.c
index 1880fc0ba665..8d0585f7841b 100644
--- a/drivers/net/eexpress.c
+++ b/drivers/net/eexpress.c
@@ -115,9 +115,9 @@
#include <linux/slab.h>
#include <linux/mca-legacy.h>
#include <linux/spinlock.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/irq.h>
diff --git a/drivers/net/epic100.c b/drivers/net/epic100.c
index ec327ad3a33f..459013762bd8 100644
--- a/drivers/net/epic100.c
+++ b/drivers/net/epic100.c
@@ -133,7 +133,7 @@ static int rx_copybreak;
#include <linux/ethtool.h>
#include <linux/mii.h>
#include <linux/crc32.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/eth16i.c b/drivers/net/eth16i.c
index 5a9ae260f3d6..39f678270705 100644
--- a/drivers/net/eth16i.c
+++ b/drivers/net/eth16i.c
@@ -160,9 +160,9 @@ static char *version =
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/ewrk3.c b/drivers/net/ewrk3.c
index ccc8c52669e3..8f995141b518 100644
--- a/drivers/net/ewrk3.c
+++ b/drivers/net/ewrk3.c
@@ -161,8 +161,8 @@
#include <linux/types.h>
#include <linux/unistd.h>
#include <linux/ctype.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/fealnx.c b/drivers/net/fealnx.c
index 9112ca037315..fddc5360fd1c 100644
--- a/drivers/net/fealnx.c
+++ b/drivers/net/fealnx.c
@@ -85,9 +85,9 @@ static int full_duplex[MAX_UNITS] = { -1, -1, -1, -1, -1, -1, -1, -1 };
#include <linux/ethtool.h>
#include <linux/crc32.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
#include <asm/processor.h> /* Processor type for cache alignment. */
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index b9e59da66b56..645122086a94 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -39,9 +39,9 @@
#include <linux/skbuff.h>
#include <linux/spinlock.h>
#include <linux/workqueue.h>
+#include <linux/bitops.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/pgtable.h>
diff --git a/drivers/net/fec_8xx/fec_8xx-netta.c b/drivers/net/fec_8xx/fec_8xx-netta.c
index 7d73661aa367..29c275e1d566 100644
--- a/drivers/net/fec_8xx/fec_8xx-netta.c
+++ b/drivers/net/fec_8xx/fec_8xx-netta.c
@@ -21,12 +21,12 @@
#include <linux/spinlock.h>
#include <linux/mii.h>
#include <linux/ethtool.h>
+#include <linux/bitops.h>
#include <asm/8xx_immap.h>
#include <asm/pgtable.h>
#include <asm/mpc8xx.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/commproc.h>
diff --git a/drivers/net/fec_8xx/fec_main.c b/drivers/net/fec_8xx/fec_main.c
index 1bf15eed626a..b4f3a9f8a535 100644
--- a/drivers/net/fec_8xx/fec_main.c
+++ b/drivers/net/fec_8xx/fec_main.c
@@ -30,12 +30,12 @@
#include <linux/spinlock.h>
#include <linux/mii.h>
#include <linux/ethtool.h>
+#include <linux/bitops.h>
#include <asm/8xx_immap.h>
#include <asm/pgtable.h>
#include <asm/mpc8xx.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/commproc.h>
#include <asm/dma-mapping.h>
diff --git a/drivers/net/fec_8xx/fec_mii.c b/drivers/net/fec_8xx/fec_mii.c
index 700233655e52..8fd1495fafe2 100644
--- a/drivers/net/fec_8xx/fec_mii.c
+++ b/drivers/net/fec_8xx/fec_mii.c
@@ -30,12 +30,12 @@
#include <linux/spinlock.h>
#include <linux/mii.h>
#include <linux/ethtool.h>
+#include <linux/bitops.h>
#include <asm/8xx_immap.h>
#include <asm/pgtable.h>
#include <asm/mpc8xx.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/commproc.h>
diff --git a/drivers/net/fmv18x.c b/drivers/net/fmv18x.c
index f0b6f9c9dcfb..04c748523471 100644
--- a/drivers/net/fmv18x.c
+++ b/drivers/net/fmv18x.c
@@ -51,9 +51,9 @@ static const char version[] =
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/gt96100eth.c b/drivers/net/gt96100eth.c
index a41ccc452007..b6f1e8be445b 100644
--- a/drivers/net/gt96100eth.c
+++ b/drivers/net/gt96100eth.c
@@ -44,9 +44,9 @@
#include <linux/skbuff.h>
#include <linux/delay.h>
#include <linux/ctype.h>
+#include <linux/bitops.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#define DESC_BE 1
diff --git a/drivers/net/hamachi.c b/drivers/net/hamachi.c
index 7dda9988e13b..9b885efadf00 100644
--- a/drivers/net/hamachi.c
+++ b/drivers/net/hamachi.c
@@ -170,10 +170,10 @@ static int tx_params[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1};
#include <linux/skbuff.h>
#include <linux/ip.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <asm/processor.h> /* Processor type for cache alignment. */
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/unaligned.h>
#include <asm/cache.h>
diff --git a/drivers/net/hamradio/6pack.c b/drivers/net/hamradio/6pack.c
index e6dba5623add..738cef65b728 100644
--- a/drivers/net/hamradio/6pack.c
+++ b/drivers/net/hamradio/6pack.c
@@ -16,7 +16,7 @@
#include <linux/module.h>
#include <asm/system.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/interrupt.h>
diff --git a/drivers/net/hamradio/baycom_par.c b/drivers/net/hamradio/baycom_par.c
index 4bd7c09656d8..77f29fdde8ef 100644
--- a/drivers/net/hamradio/baycom_par.c
+++ b/drivers/net/hamradio/baycom_par.c
@@ -83,9 +83,9 @@
#include <linux/hdlcdrv.h>
#include <linux/baycom.h>
#include <linux/parport.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
/* --------------------------------------------------------------------- */
diff --git a/drivers/net/hamradio/hdlcdrv.c b/drivers/net/hamradio/hdlcdrv.c
index 86deb52100be..8e115b5a6a11 100644
--- a/drivers/net/hamradio/hdlcdrv.c
+++ b/drivers/net/hamradio/hdlcdrv.c
@@ -51,7 +51,7 @@
#include <linux/slab.h>
#include <linux/errno.h>
#include <linux/init.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <linux/netdevice.h>
diff --git a/drivers/net/hamradio/mkiss.c b/drivers/net/hamradio/mkiss.c
index e2a28b562446..d51712a17fd3 100644
--- a/drivers/net/hamradio/mkiss.c
+++ b/drivers/net/hamradio/mkiss.c
@@ -30,7 +30,7 @@
#include <linux/config.h>
#include <linux/module.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <linux/string.h>
#include <linux/mm.h>
diff --git a/drivers/net/hamradio/scc.c b/drivers/net/hamradio/scc.c
index 2049556d1764..8da1948026c6 100644
--- a/drivers/net/hamradio/scc.c
+++ b/drivers/net/hamradio/scc.c
@@ -173,6 +173,7 @@
#include <linux/kernel.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
+#include <linux/bitops.h>
#include <net/ax25.h>
@@ -180,7 +181,6 @@
#include <asm/system.h>
#include <asm/io.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include "z8530.h"
diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c
index c516e7156ca1..acae5949a9ea 100644
--- a/drivers/net/hamradio/yam.c
+++ b/drivers/net/hamradio/yam.c
@@ -50,7 +50,7 @@
#include <linux/if.h>
#include <linux/slab.h>
#include <linux/errno.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/system.h>
#include <linux/interrupt.h>
diff --git a/drivers/net/hp100.c b/drivers/net/hp100.c
index 675ad8f523db..2392d4523a3d 100644
--- a/drivers/net/hp100.c
+++ b/drivers/net/hp100.c
@@ -114,8 +114,8 @@
#include <linux/config.h> /* for CONFIG_PCI */
#include <linux/delay.h>
#include <linux/init.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include "hp100.h"
diff --git a/drivers/net/hydra.c b/drivers/net/hydra.c
index fecaec10291d..6e0ca7340a8f 100644
--- a/drivers/net/hydra.c
+++ b/drivers/net/hydra.c
@@ -23,8 +23,8 @@
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/init.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/amigaints.h>
diff --git a/drivers/net/ibm_emac/ibm_emac_core.c b/drivers/net/ibm_emac/ibm_emac_core.c
index 6b0328fbc97b..a68b29245b90 100644
--- a/drivers/net/ibm_emac/ibm_emac_core.c
+++ b/drivers/net/ibm_emac/ibm_emac_core.c
@@ -40,9 +40,9 @@
#include <linux/dma-mapping.h>
#include <linux/ethtool.h>
#include <linux/mii.h>
+#include <linux/bitops.h>
#include <asm/processor.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/irq.h>
diff --git a/drivers/net/ibmlana.c b/drivers/net/ibmlana.c
index 0aa0a826128c..e58b31c918a9 100644
--- a/drivers/net/ibmlana.c
+++ b/drivers/net/ibmlana.c
@@ -88,9 +88,9 @@ History:
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/processor.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#define _IBM_LANA_DRIVER_
diff --git a/drivers/net/irda/au1k_ir.c b/drivers/net/irda/au1k_ir.c
index c5af0cb78905..a02a2a25aa07 100644
--- a/drivers/net/irda/au1k_ir.c
+++ b/drivers/net/irda/au1k_ir.c
@@ -28,9 +28,9 @@
#include <linux/rtnetlink.h>
#include <linux/interrupt.h>
#include <linux/pm.h>
+#include <linux/bitops.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/au1000.h>
#if defined(CONFIG_MIPS_PB1000) || defined(CONFIG_MIPS_PB1100)
diff --git a/drivers/net/irda/irport.c b/drivers/net/irda/irport.c
index 6ad80edb2efa..c2c26b605357 100644
--- a/drivers/net/irda/irport.c
+++ b/drivers/net/irda/irport.c
@@ -51,9 +51,9 @@
#include <linux/spinlock.h>
#include <linux/delay.h>
#include <linux/rtnetlink.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <net/irda/irda.h>
diff --git a/drivers/net/isa-skeleton.c b/drivers/net/isa-skeleton.c
index 650943395087..50bebb55e9ee 100644
--- a/drivers/net/isa-skeleton.c
+++ b/drivers/net/isa-skeleton.c
@@ -55,9 +55,9 @@ static const char *version =
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/ixgb/ixgb.h b/drivers/net/ixgb/ixgb.h
index 24311a57a376..d5c6f477f916 100644
--- a/drivers/net/ixgb/ixgb.h
+++ b/drivers/net/ixgb/ixgb.h
@@ -50,7 +50,7 @@
#include <linux/string.h>
#include <linux/pagemap.h>
#include <linux/dma-mapping.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <linux/capability.h>
diff --git a/drivers/net/jazzsonic.c b/drivers/net/jazzsonic.c
index 8624bfc4905b..7046c4395266 100644
--- a/drivers/net/jazzsonic.c
+++ b/drivers/net/jazzsonic.c
@@ -27,10 +27,10 @@
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/bootinfo.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/pgtable.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/lance.c b/drivers/net/lance.c
index f04d0a82cf3b..87acad34266f 100644
--- a/drivers/net/lance.c
+++ b/drivers/net/lance.c
@@ -56,8 +56,8 @@ static const char version[] = "lance.c:v1.15ac 1999/11/13 dplatt@3do.com, becker
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/lasi_82596.c b/drivers/net/lasi_82596.c
index b315acb14362..188562f70130 100644
--- a/drivers/net/lasi_82596.c
+++ b/drivers/net/lasi_82596.c
@@ -83,8 +83,8 @@
#include <linux/init.h>
#include <linux/pci.h>
#include <linux/types.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/pgtable.h>
#include <asm/irq.h>
diff --git a/drivers/net/lp486e.c b/drivers/net/lp486e.c
index c87d90a837fb..70be2a9e3820 100644
--- a/drivers/net/lp486e.c
+++ b/drivers/net/lp486e.c
@@ -70,8 +70,8 @@ All other communication is through memory!
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/mac8390.c b/drivers/net/mac8390.c
index 0a8094eb3061..c4d742f67013 100644
--- a/drivers/net/mac8390.c
+++ b/drivers/net/mac8390.c
@@ -32,9 +32,9 @@
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/hwtest.h>
diff --git a/drivers/net/macsonic.c b/drivers/net/macsonic.c
index e67bf67f122f..a4dde8181d25 100644
--- a/drivers/net/macsonic.c
+++ b/drivers/net/macsonic.c
@@ -42,10 +42,10 @@
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/module.h>
+#include <linux/bitops.h>
#include <asm/bootinfo.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/pgtable.h>
#include <asm/io.h>
#include <asm/hwtest.h>
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
index 41d38b3b3b4f..362fee325e0a 100644
--- a/drivers/net/mv643xx_eth.c
+++ b/drivers/net/mv643xx_eth.c
@@ -49,7 +49,7 @@
#include <linux/etherdevice.h>
#include <net/ip.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/types.h>
#include <asm/pgtable.h>
diff --git a/drivers/net/myri_sbus.c b/drivers/net/myri_sbus.c
index c5f95959ccbe..d85e04bd7490 100644
--- a/drivers/net/myri_sbus.c
+++ b/drivers/net/myri_sbus.c
@@ -22,6 +22,7 @@ static char version[] =
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <net/dst.h>
#include <net/arp.h>
@@ -29,7 +30,6 @@ static char version[] =
#include <net/ipv6.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/byteorder.h>
diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c
index 41d93758bb3c..5bb12dc93496 100644
--- a/drivers/net/natsemi.c
+++ b/drivers/net/natsemi.c
@@ -159,8 +159,8 @@
#include <linux/rtnetlink.h>
#include <linux/mii.h>
#include <linux/crc32.h>
+#include <linux/bitops.h>
#include <asm/processor.h> /* Processor type for cache alignment. */
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/ne2.c b/drivers/net/ne2.c
index 5d690c9f1d25..4fe6e7574855 100644
--- a/drivers/net/ne2.c
+++ b/drivers/net/ne2.c
@@ -74,9 +74,9 @@ static const char *version = "ne2.c:v0.91 Nov 16 1998 Wim Dumon <wimpie@kotnet.o
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/ni5010.c b/drivers/net/ni5010.c
index 8124ad671698..2ab01a5d1d22 100644
--- a/drivers/net/ni5010.c
+++ b/drivers/net/ni5010.c
@@ -59,7 +59,7 @@
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/init.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/ni52.c b/drivers/net/ni52.c
index 234709ded746..a76c8575ccff 100644
--- a/drivers/net/ni52.c
+++ b/drivers/net/ni52.c
@@ -115,7 +115,7 @@ static int fifo=0x8; /* don't change */
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/init.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <linux/netdevice.h>
diff --git a/drivers/net/ni65.c b/drivers/net/ni65.c
index c43c4cf9e837..fd58f0d9e644 100644
--- a/drivers/net/ni65.c
+++ b/drivers/net/ni65.c
@@ -73,8 +73,8 @@
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/module.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/pcmcia/3c574_cs.c b/drivers/net/pcmcia/3c574_cs.c
index 7c4ed0ddd12a..b5c99d2f37b6 100644
--- a/drivers/net/pcmcia/3c574_cs.c
+++ b/drivers/net/pcmcia/3c574_cs.c
@@ -84,6 +84,7 @@ earlier 3Com products.
#include <linux/if_arp.h>
#include <linux/ioport.h>
#include <linux/ethtool.h>
+#include <linux/bitops.h>
#include <pcmcia/version.h>
#include <pcmcia/cs_types.h>
@@ -97,7 +98,6 @@ earlier 3Com products.
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/system.h>
-#include <asm/bitops.h>
/*====================================================================*/
diff --git a/drivers/net/pcmcia/3c589_cs.c b/drivers/net/pcmcia/3c589_cs.c
index 2e0135dad547..970ed7bb596f 100644
--- a/drivers/net/pcmcia/3c589_cs.c
+++ b/drivers/net/pcmcia/3c589_cs.c
@@ -38,6 +38,7 @@
#include <linux/skbuff.h>
#include <linux/if_arp.h>
#include <linux/ioport.h>
+#include <linux/bitops.h>
#include <pcmcia/version.h>
#include <pcmcia/cs_types.h>
@@ -50,7 +51,6 @@
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/system.h>
-#include <asm/bitops.h>
/* To minimize the size of the driver source I only define operating
constants if they are used several times. You'll need the manual
diff --git a/drivers/net/pcmcia/axnet_cs.c b/drivers/net/pcmcia/axnet_cs.c
index 0d9a06f8c561..3029129ae650 100644
--- a/drivers/net/pcmcia/axnet_cs.c
+++ b/drivers/net/pcmcia/axnet_cs.c
@@ -936,7 +936,7 @@ module_exit(exit_axnet_cs);
static const char *version_8390 =
"8390.c:v1.10cvs 9/23/94 Donald Becker (becker@scyld.com)\n";
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/irq.h>
#include <linux/fcntl.h>
#include <linux/in.h>
diff --git a/drivers/net/pcmcia/nmclan_cs.c b/drivers/net/pcmcia/nmclan_cs.c
index 947dad4ca55a..0ec78c327343 100644
--- a/drivers/net/pcmcia/nmclan_cs.c
+++ b/drivers/net/pcmcia/nmclan_cs.c
@@ -144,6 +144,7 @@ Include Files
#include <linux/skbuff.h>
#include <linux/if_arp.h>
#include <linux/ioport.h>
+#include <linux/bitops.h>
#include <pcmcia/version.h>
#include <pcmcia/cs_types.h>
@@ -155,7 +156,6 @@ Include Files
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/system.h>
-#include <asm/bitops.h>
/* ----------------------------------------------------------------------------
Defines
diff --git a/drivers/net/pcmcia/xirc2ps_cs.c b/drivers/net/pcmcia/xirc2ps_cs.c
index 5be2ba3b03e8..25c2fc991405 100644
--- a/drivers/net/pcmcia/xirc2ps_cs.c
+++ b/drivers/net/pcmcia/xirc2ps_cs.c
@@ -79,6 +79,7 @@
#include <linux/skbuff.h>
#include <linux/if_arp.h>
#include <linux/ioport.h>
+#include <linux/bitops.h>
#include <pcmcia/version.h>
#include <pcmcia/cs_types.h>
@@ -89,7 +90,6 @@
#include <asm/io.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#ifndef MANFID_COMPAQ
diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c
index a0af06c18a23..74d9062dc1c9 100644
--- a/drivers/net/pcnet32.c
+++ b/drivers/net/pcnet32.c
@@ -47,8 +47,8 @@ DRV_NAME ".c:v" DRV_VERSION " " DRV_RELDATE " tsbogend@alpha.franken.de\n";
#include <linux/skbuff.h>
#include <linux/spinlock.h>
#include <linux/moduleparam.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/dma.h>
#include <asm/io.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/plip.c b/drivers/net/plip.c
index 937b6198c229..3dd010328f16 100644
--- a/drivers/net/plip.c
+++ b/drivers/net/plip.c
@@ -109,11 +109,11 @@ static const char version[] = "NET3 PLIP version 2.4-parport gniibe@mri.co.jp\n"
#include <linux/ioport.h>
#include <linux/spinlock.h>
#include <linux/parport.h>
+#include <linux/bitops.h>
#include <net/neighbour.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/irq.h>
#include <asm/byteorder.h>
#include <asm/semaphore.h>
diff --git a/drivers/net/sb1000.c b/drivers/net/sb1000.c
index 03f28fdc0629..dcc64eb8dc4a 100644
--- a/drivers/net/sb1000.c
+++ b/drivers/net/sb1000.c
@@ -50,8 +50,8 @@ static char version[] = "sb1000.c:v1.1.2 6/01/98 (fventuri@mediaone.net)\n";
#include <linux/etherdevice.h>
#include <linux/pnp.h>
#include <linux/init.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/processor.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/sb1250-mac.c b/drivers/net/sb1250-mac.c
index e0f88fbd33f5..1534679529d2 100644
--- a/drivers/net/sb1250-mac.c
+++ b/drivers/net/sb1250-mac.c
@@ -68,8 +68,8 @@ static int int_timeout = 0;
#include <linux/skbuff.h>
#include <linux/init.h>
#include <linux/config.h>
+#include <linux/bitops.h>
#include <asm/processor.h> /* Processor type for cache alignment. */
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/cache.h>
diff --git a/drivers/net/seeq8005.c b/drivers/net/seeq8005.c
index 0f237b54d5b3..d9fd93004730 100644
--- a/drivers/net/seeq8005.c
+++ b/drivers/net/seeq8005.c
@@ -45,9 +45,9 @@ static const char version[] =
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/sgiseeq.c b/drivers/net/sgiseeq.c
index b71f45f5cb58..4385cd1677a0 100644
--- a/drivers/net/sgiseeq.c
+++ b/drivers/net/sgiseeq.c
@@ -19,11 +19,11 @@
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/byteorder.h>
#include <asm/io.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/sgi/hpc3.h>
diff --git a/drivers/net/sis900.c b/drivers/net/sis900.c
index 8ddf9d02f973..7bb0e9019d3c 100644
--- a/drivers/net/sis900.c
+++ b/drivers/net/sis900.c
@@ -64,9 +64,9 @@
#include <linux/delay.h>
#include <linux/ethtool.h>
#include <linux/crc32.h>
+#include <linux/bitops.h>
#include <asm/processor.h> /* Processor type for cache alignment. */
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/uaccess.h> /* User space memory access functions */
diff --git a/drivers/net/sk98lin/h/skdrv1st.h b/drivers/net/sk98lin/h/skdrv1st.h
index 21d807390738..e65a19f8794a 100644
--- a/drivers/net/sk98lin/h/skdrv1st.h
+++ b/drivers/net/sk98lin/h/skdrv1st.h
@@ -66,8 +66,8 @@ typedef struct s_AC SK_AC;
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/pci.h>
+#include <linux/bitops.h>
#include <asm/byteorder.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
diff --git a/drivers/net/sk98lin/skge.c b/drivers/net/sk98lin/skge.c
index 58775e61963d..5db59c43f6a2 100644
--- a/drivers/net/sk98lin/skge.c
+++ b/drivers/net/sk98lin/skge.c
@@ -72,8 +72,8 @@
* <linux/slab.h>
* <linux/interrupt.h>
* <linux/pci.h>
+ * <linux/bitops.h>
* <asm/byteorder.h>
- * <asm/bitops.h>
* <asm/io.h>
* <linux/netdevice.h>
* <linux/etherdevice.h>
diff --git a/drivers/net/sk_g16.c b/drivers/net/sk_g16.c
index bc71b55a99c0..425012d48f07 100644
--- a/drivers/net/sk_g16.c
+++ b/drivers/net/sk_g16.c
@@ -72,10 +72,10 @@ static const char rcsid[] = "$Id: sk_g16.c,v 1.1 1994/06/30 16:25:15 root Exp $"
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/io.h>
-#include <asm/bitops.h>
#include "sk_g16.h"
diff --git a/drivers/net/sk_mca.c b/drivers/net/sk_mca.c
index 2039f22338fc..07b980281666 100644
--- a/drivers/net/sk_mca.c
+++ b/drivers/net/sk_mca.c
@@ -97,9 +97,9 @@ History:
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/processor.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#define _SK_MCA_DRIVER_
diff --git a/drivers/net/skfp/skfddi.c b/drivers/net/skfp/skfddi.c
index 8308bcc14ac6..e9ef28cbbd29 100644
--- a/drivers/net/skfp/skfddi.c
+++ b/drivers/net/skfp/skfddi.c
@@ -83,9 +83,9 @@ static const char *boot_msg =
#include <linux/netdevice.h>
#include <linux/fddidevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/byteorder.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/slip.c b/drivers/net/slip.c
index 0c1995bc2848..01c2c3e1d102 100644
--- a/drivers/net/slip.c
+++ b/drivers/net/slip.c
@@ -60,7 +60,7 @@
#include <asm/system.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/interrupt.h>
diff --git a/drivers/net/smc9194.c b/drivers/net/smc9194.c
index f5071b047315..de31ab71384c 100644
--- a/drivers/net/smc9194.c
+++ b/drivers/net/smc9194.c
@@ -72,8 +72,8 @@ static const char version[] =
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include "smc9194.h"
diff --git a/drivers/net/sun3_82586.c b/drivers/net/sun3_82586.c
index 053fcaf1c9e2..d5a58fb30d3a 100644
--- a/drivers/net/sun3_82586.c
+++ b/drivers/net/sun3_82586.c
@@ -39,7 +39,7 @@ static int fifo=0x8; /* don't change */
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/init.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/idprom.h>
#include <asm/machines.h>
diff --git a/drivers/net/sun3lance.c b/drivers/net/sun3lance.c
index 6faef842db46..1f43bbfbc1c7 100644
--- a/drivers/net/sun3lance.c
+++ b/drivers/net/sun3lance.c
@@ -36,10 +36,10 @@ static char *version = "sun3lance.c: v1.2 1/12/2001 Sam Creasey (sammy@sammy.ne
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/setup.h>
#include <asm/irq.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/pgtable.h>
#include <asm/dvma.h>
diff --git a/drivers/net/sunbmac.c b/drivers/net/sunbmac.c
index 25d35022bdb8..025dcd867eaa 100644
--- a/drivers/net/sunbmac.c
+++ b/drivers/net/sunbmac.c
@@ -22,9 +22,9 @@
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/auxio.h>
-#include <asm/bitops.h>
#include <asm/byteorder.h>
#include <asm/dma.h>
#include <asm/idprom.h>
diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c
index 42f665496524..776403daf634 100644
--- a/drivers/net/sundance.c
+++ b/drivers/net/sundance.c
@@ -162,9 +162,9 @@ static char *media[MAX_UNITS];
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <asm/processor.h> /* Processor type for cache alignment. */
-#include <asm/bitops.h>
#include <asm/io.h>
#include <linux/delay.h>
#include <linux/spinlock.h>
diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c
index eab667c7b1c6..85c1e1e5e89b 100644
--- a/drivers/net/sungem.c
+++ b/drivers/net/sungem.c
@@ -37,9 +37,9 @@
#include <linux/random.h>
#include <linux/workqueue.h>
#include <linux/if_vlan.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/byteorder.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c
index 0a11b5627804..525b9ca61972 100644
--- a/drivers/net/sunhme.c
+++ b/drivers/net/sunhme.c
@@ -36,9 +36,9 @@ static char version[] =
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/byteorder.h>
diff --git a/drivers/net/sunlance.c b/drivers/net/sunlance.c
index 6e4bb5781fe9..d2d34594bae7 100644
--- a/drivers/net/sunlance.c
+++ b/drivers/net/sunlance.c
@@ -94,9 +94,9 @@ static char lancestr[] = "LANCE";
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/ethtool.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/pgtable.h>
diff --git a/drivers/net/sunqe.c b/drivers/net/sunqe.c
index 1ed3ff5b3519..37ef1b82a6cb 100644
--- a/drivers/net/sunqe.c
+++ b/drivers/net/sunqe.c
@@ -27,9 +27,9 @@ static char version[] =
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/ethtool.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/byteorder.h>
diff --git a/drivers/net/tc35815.c b/drivers/net/tc35815.c
index 952ef81775fb..c2ec9fd8c31d 100644
--- a/drivers/net/tc35815.c
+++ b/drivers/net/tc35815.c
@@ -49,9 +49,9 @@ static const char *version =
#include <linux/pci.h>
#include <linux/proc_fs.h>
#include <linux/spinlock.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/byteorder.h>
diff --git a/drivers/net/tokenring/3c359.c b/drivers/net/tokenring/3c359.c
index a50df64b212c..47d7d6d4ca64 100644
--- a/drivers/net/tokenring/3c359.c
+++ b/drivers/net/tokenring/3c359.c
@@ -61,12 +61,12 @@
#include <linux/init.h>
#include <linux/pci.h>
#include <linux/spinlock.h>
+#include <linux/bitops.h>
#include <net/checksum.h>
#include <asm/io.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include "3c359.h"
diff --git a/drivers/net/tokenring/lanstreamer.c b/drivers/net/tokenring/lanstreamer.c
index dcf7f3e8ce93..63005ae6a418 100644
--- a/drivers/net/tokenring/lanstreamer.c
+++ b/drivers/net/tokenring/lanstreamer.c
@@ -120,12 +120,12 @@
#include <linux/pci.h>
#include <linux/spinlock.h>
#include <linux/version.h>
+#include <linux/bitops.h>
#include <net/checksum.h>
#include <asm/io.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include "lanstreamer.h"
diff --git a/drivers/net/tokenring/olympic.c b/drivers/net/tokenring/olympic.c
index 1ec45b2b9f4c..eed699bafbc8 100644
--- a/drivers/net/tokenring/olympic.c
+++ b/drivers/net/tokenring/olympic.c
@@ -99,12 +99,12 @@
#include <linux/init.h>
#include <linux/pci.h>
#include <linux/spinlock.h>
+#include <linux/bitops.h>
#include <net/checksum.h>
#include <asm/io.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include "olympic.h"
diff --git a/drivers/net/tokenring/smctr.c b/drivers/net/tokenring/smctr.c
index 599057ac316f..1331fd1d8f90 100644
--- a/drivers/net/tokenring/smctr.c
+++ b/drivers/net/tokenring/smctr.c
@@ -49,9 +49,9 @@
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/trdevice.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/irq.h>
diff --git a/drivers/net/tokenring/tms380tr.c b/drivers/net/tokenring/tms380tr.c
index 9d121890b6fb..df43b449e429 100644
--- a/drivers/net/tokenring/tms380tr.c
+++ b/drivers/net/tokenring/tms380tr.c
@@ -96,9 +96,9 @@ static const char version[] = "tms380tr.c: v1.10 30/12/2002 by Christoph Goos, A
#include <linux/skbuff.h>
#include <linux/trdevice.h>
#include <linux/firmware.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/irq.h>
diff --git a/drivers/net/tulip/de4x5.c b/drivers/net/tulip/de4x5.c
index 05e8947f9047..7afae1f70483 100644
--- a/drivers/net/tulip/de4x5.c
+++ b/drivers/net/tulip/de4x5.c
@@ -467,8 +467,8 @@
#include <linux/ctype.h>
#include <linux/dma-mapping.h>
#include <linux/moduleparam.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/byteorder.h>
diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c
index 7353f28ccc34..dfcb1657a0ac 100644
--- a/drivers/net/tulip/dmfe.c
+++ b/drivers/net/tulip/dmfe.c
@@ -86,9 +86,9 @@
#include <linux/delay.h>
#include <linux/spinlock.h>
#include <linux/crc32.h>
+#include <linux/bitops.h>
#include <asm/processor.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/tulip/winbond-840.c b/drivers/net/tulip/winbond-840.c
index 7174a278bddd..5bf05492a0ec 100644
--- a/drivers/net/tulip/winbond-840.c
+++ b/drivers/net/tulip/winbond-840.c
@@ -130,9 +130,9 @@ static int full_duplex[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1};
#include <linux/mii.h>
#include <linux/rtnetlink.h>
#include <linux/crc32.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <asm/processor.h> /* Processor type for cache alignment. */
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/irq.h>
diff --git a/drivers/net/tulip/xircom_cb.c b/drivers/net/tulip/xircom_cb.c
index 6e65890391a6..1555d632266d 100644
--- a/drivers/net/tulip/xircom_cb.c
+++ b/drivers/net/tulip/xircom_cb.c
@@ -28,9 +28,9 @@
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/ethtool.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#ifdef DEBUG
diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c
index d22567ede974..d763bf6d310f 100644
--- a/drivers/net/typhoon.c
+++ b/drivers/net/typhoon.c
@@ -115,8 +115,8 @@ static const int multicast_filter_limit = 32;
#include <linux/ethtool.h>
#include <linux/if_vlan.h>
#include <linux/crc32.h>
+#include <linux/bitops.h>
#include <asm/processor.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/uaccess.h>
#include <linux/in6.h>
diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c
index 33c3137c016e..5a011ee958b9 100644
--- a/drivers/net/via-rhine.c
+++ b/drivers/net/via-rhine.c
@@ -193,8 +193,8 @@ static const int multicast_filter_limit = 32;
#include <linux/mii.h>
#include <linux/ethtool.h>
#include <linux/crc32.h>
+#include <linux/bitops.h>
#include <asm/processor.h> /* Processor type for cache alignment. */
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/wan/dlci.c b/drivers/net/wan/dlci.c
index bad0d418580b..6e1ec5bf22fc 100644
--- a/drivers/net/wan/dlci.c
+++ b/drivers/net/wan/dlci.c
@@ -45,11 +45,11 @@
#include <linux/skbuff.h>
#include <linux/if_arp.h>
#include <linux/if_frad.h>
+#include <linux/bitops.h>
#include <net/sock.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/wan/hd6457x.c b/drivers/net/wan/hd6457x.c
index c98d7eca5c92..c96f5aaf4529 100644
--- a/drivers/net/wan/hd6457x.c
+++ b/drivers/net/wan/hd6457x.c
@@ -38,9 +38,9 @@
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/ioport.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/io.h>
diff --git a/drivers/net/wan/lmc/lmc_main.c b/drivers/net/wan/lmc/lmc_main.c
index b9800715d739..f88d9b64eafa 100644
--- a/drivers/net/wan/lmc/lmc_main.c
+++ b/drivers/net/wan/lmc/lmc_main.c
@@ -56,11 +56,11 @@
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/inet.h>
+#include <linux/bitops.h>
#include <net/syncppp.h>
#include <asm/processor.h> /* Processor type for cache alignment. */
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/wan/lmc/lmc_media.c b/drivers/net/wan/lmc/lmc_media.c
index 2aca8dc986f1..f55ce76b00ed 100644
--- a/drivers/net/wan/lmc/lmc_media.c
+++ b/drivers/net/wan/lmc/lmc_media.c
@@ -16,11 +16,11 @@
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/inet.h>
+#include <linux/bitops.h>
#include <net/syncppp.h>
#include <asm/processor.h> /* Processor type for cache alignment. */
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/wan/lmc/lmc_proto.c b/drivers/net/wan/lmc/lmc_proto.c
index bb9f1eab7cdb..74876c0073e8 100644
--- a/drivers/net/wan/lmc/lmc_proto.c
+++ b/drivers/net/wan/lmc/lmc_proto.c
@@ -36,11 +36,11 @@
#include <linux/inet.h>
#include <linux/workqueue.h>
#include <linux/proc_fs.h>
+#include <linux/bitops.h>
#include <net/syncppp.h>
#include <asm/processor.h> /* Processor type for cache alignment. */
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <linux/smp.h>
diff --git a/drivers/net/wan/sdla.c b/drivers/net/wan/sdla.c
index 12598181abed..f0ed00ef06fe 100644
--- a/drivers/net/wan/sdla.c
+++ b/drivers/net/wan/sdla.c
@@ -51,9 +51,9 @@
#include <linux/if_arp.h>
#include <linux/if_frad.h>
#include <linux/sdla.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/wan/x25_asy.c b/drivers/net/wan/x25_asy.c
index 467ad7b8cd86..c29233115d3f 100644
--- a/drivers/net/wan/x25_asy.c
+++ b/drivers/net/wan/x25_asy.c
@@ -18,7 +18,7 @@
#include <asm/system.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/interrupt.h>
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index 4246f6b8b656..0360693eb6fc 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -35,9 +35,9 @@
#include <linux/interrupt.h>
#include <linux/suspend.h>
#include <linux/in.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
diff --git a/drivers/net/wireless/arlan.h b/drivers/net/wireless/arlan.h
index a48af699c9c5..e499f4b52a51 100644
--- a/drivers/net/wireless/arlan.h
+++ b/drivers/net/wireless/arlan.h
@@ -19,8 +19,8 @@
#include <linux/timer.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <linux/errno.h>
#include <linux/delay.h>
diff --git a/drivers/net/wireless/netwave_cs.c b/drivers/net/wireless/netwave_cs.c
index 13641142bf77..15708eb78521 100644
--- a/drivers/net/wireless/netwave_cs.c
+++ b/drivers/net/wireless/netwave_cs.c
@@ -54,6 +54,7 @@
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
+#include <linux/bitops.h>
#ifdef CONFIG_NET_RADIO
#include <linux/wireless.h>
#if WIRELESS_EXT > 12
@@ -70,7 +71,6 @@
#include <pcmcia/mem_op.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/net/wireless/strip.c b/drivers/net/wireless/strip.c
index 7f44588cb6e7..69c92876f7fd 100644
--- a/drivers/net/wireless/strip.c
+++ b/drivers/net/wireless/strip.c
@@ -85,9 +85,9 @@ static const char StripVersion[] = "1.3A-STUART.CHESHIRE";
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
# include <linux/ctype.h>
#include <linux/string.h>
diff --git a/drivers/net/wireless/wavelan.p.h b/drivers/net/wireless/wavelan.p.h
index 24e66a8c2de1..475add67f5bf 100644
--- a/drivers/net/wireless/wavelan.p.h
+++ b/drivers/net/wireless/wavelan.p.h
@@ -377,8 +377,8 @@
#include <linux/in.h>
#include <linux/string.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/wireless/wavelan_cs.p.h b/drivers/net/wireless/wavelan_cs.p.h
index 381876f542a7..0c18af262494 100644
--- a/drivers/net/wireless/wavelan_cs.p.h
+++ b/drivers/net/wireless/wavelan_cs.p.h
@@ -428,10 +428,10 @@
#include <linux/spinlock.h>
#include <linux/in.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
diff --git a/drivers/net/yellowfin.c b/drivers/net/yellowfin.c
index 53fb0e88235c..9c2d0752ab90 100644
--- a/drivers/net/yellowfin.c
+++ b/drivers/net/yellowfin.c
@@ -124,10 +124,10 @@ static int gx_fix;
#include <linux/skbuff.h>
#include <linux/ethtool.h>
#include <linux/crc32.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <asm/processor.h> /* Processor type for cache alignment. */
#include <asm/unaligned.h>
-#include <asm/bitops.h>
#include <asm/io.h>
/* These identify the driver base version and may not be removed. */
diff --git a/drivers/net/znet.c b/drivers/net/znet.c
index 9ebd5ea34b88..d26121fa61df 100644
--- a/drivers/net/znet.c
+++ b/drivers/net/znet.c
@@ -98,9 +98,9 @@
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/if_arp.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
diff --git a/drivers/pcmcia/i82365.c b/drivers/pcmcia/i82365.c
index fd404eee5c6f..56ced25d993c 100644
--- a/drivers/pcmcia/i82365.c
+++ b/drivers/pcmcia/i82365.c
@@ -48,9 +48,9 @@
#include <linux/workqueue.h>
#include <linux/interrupt.h>
#include <linux/device.h>
+#include <linux/bitops.h>
#include <asm/irq.h>
#include <asm/io.h>
-#include <asm/bitops.h>
#include <asm/system.h>
#include <pcmcia/version.h>
diff --git a/drivers/pcmcia/tcic.c b/drivers/pcmcia/tcic.c
index 0bb9017d0b77..a651309eb84f 100644
--- a/drivers/pcmcia/tcic.c
+++ b/drivers/pcmcia/tcic.c
@@ -45,9 +45,9 @@
#include <linux/delay.h>
#include <linux/workqueue.h>
#include <linux/device.h>
+#include <linux/bitops.h>
#include <asm/io.h>
-#include <asm/bitops.h>
#include <asm/system.h>
#include <pcmcia/version.h>
diff --git a/drivers/s390/net/ctcmain.c b/drivers/s390/net/ctcmain.c
index 6a1cb3f86be9..ba0348a5fe06 100644
--- a/drivers/s390/net/ctcmain.c
+++ b/drivers/s390/net/ctcmain.c
@@ -51,6 +51,7 @@
#include <linux/interrupt.h>
#include <linux/timer.h>
#include <linux/sched.h>
+#include <linux/bitops.h>
#include <linux/signal.h>
#include <linux/string.h>
@@ -65,7 +66,6 @@
#include <asm/io.h>
#include <asm/ccwdev.h>
#include <asm/ccwgroup.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/idals.h>
diff --git a/drivers/s390/net/netiucv.c b/drivers/s390/net/netiucv.c
index e95272f1a03e..16e8e69afb10 100644
--- a/drivers/s390/net/netiucv.c
+++ b/drivers/s390/net/netiucv.c
@@ -45,6 +45,7 @@
#include <linux/interrupt.h>
#include <linux/timer.h>
#include <linux/sched.h>
+#include <linux/bitops.h>
#include <linux/signal.h>
#include <linux/string.h>
@@ -58,7 +59,6 @@
#include <net/dst.h>
#include <asm/io.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include "iucv.h"
diff --git a/drivers/s390/net/qeth.h b/drivers/s390/net/qeth.h
index 063430d3f2bc..56f0923c3219 100644
--- a/drivers/s390/net/qeth.h
+++ b/drivers/s390/net/qeth.h
@@ -15,7 +15,8 @@
#include <net/addrconf.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
+
#include <asm/debug.h>
#include <asm/qdio.h>
#include <asm/ccwdev.h>
diff --git a/drivers/sbus/char/aurora.c b/drivers/sbus/char/aurora.c
index 1ff81bec8741..db4c1c2b799c 100644
--- a/drivers/sbus/char/aurora.c
+++ b/drivers/sbus/char/aurora.c
@@ -60,12 +60,12 @@
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/delay.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/oplib.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/kdebug.h>
#include <asm/sbus.h>
#include <asm/uaccess.h>
diff --git a/drivers/scsi/NCR53c406a.c b/drivers/scsi/NCR53c406a.c
index c407e8643bab..c685d546f838 100644
--- a/drivers/scsi/NCR53c406a.c
+++ b/drivers/scsi/NCR53c406a.c
@@ -46,9 +46,9 @@
#include <linux/proc_fs.h>
#include <linux/stat.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
-#include <asm/bitops.h>
#include <asm/irq.h>
#include <linux/blkdev.h>
diff --git a/drivers/scsi/arm/acornscsi.c b/drivers/scsi/arm/acornscsi.c
index e5e86962f0d1..24dd0b890dd2 100644
--- a/drivers/scsi/arm/acornscsi.c
+++ b/drivers/scsi/arm/acornscsi.c
@@ -142,8 +142,8 @@
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/init.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/system.h>
#include <asm/io.h>
#include <asm/irq.h>
diff --git a/drivers/scsi/atari_scsi.c b/drivers/scsi/atari_scsi.c
index c3d8bc82eb74..af8adb629b33 100644
--- a/drivers/scsi/atari_scsi.c
+++ b/drivers/scsi/atari_scsi.c
@@ -91,6 +91,7 @@
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/nvram.h>
+#include <linux/bitops.h>
#include <asm/setup.h>
#include <asm/atarihw.h>
@@ -99,7 +100,6 @@
#include <asm/pgtable.h>
#include <asm/irq.h>
#include <asm/traps.h>
-#include <asm/bitops.h>
#include "scsi.h"
#include <scsi/scsi_host.h>
diff --git a/drivers/scsi/ultrastor.c b/drivers/scsi/ultrastor.c
index cb0a05d56722..3d0a0f2f7f89 100644
--- a/drivers/scsi/ultrastor.c
+++ b/drivers/scsi/ultrastor.c
@@ -137,9 +137,9 @@
#include <linux/proc_fs.h>
#include <linux/spinlock.h>
#include <linux/stat.h>
+#include <linux/bitops.h>
#include <asm/io.h>
-#include <asm/bitops.h>
#include <asm/system.h>
#include <asm/dma.h>
diff --git a/drivers/serial/68328serial.c b/drivers/serial/68328serial.c
index 6dd522466d34..299c2bcea221 100644
--- a/drivers/serial/68328serial.c
+++ b/drivers/serial/68328serial.c
@@ -34,12 +34,12 @@
#include <linux/keyboard.h>
#include <linux/init.h>
#include <linux/pm.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/system.h>
#include <asm/segment.h>
-#include <asm/bitops.h>
#include <asm/delay.h>
#include <asm/uaccess.h>
diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c
index 2d69c47e61db..ef536ae16861 100644
--- a/drivers/serial/8250_pci.c
+++ b/drivers/serial/8250_pci.c
@@ -24,8 +24,8 @@
#include <linux/tty.h>
#include <linux/serial_core.h>
#include <linux/8250_pci.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/byteorder.h>
#include <asm/io.h>
diff --git a/drivers/serial/8250_pnp.c b/drivers/serial/8250_pnp.c
index efa91660adcd..5c8f1fbd5040 100644
--- a/drivers/serial/8250_pnp.c
+++ b/drivers/serial/8250_pnp.c
@@ -25,8 +25,8 @@
#include <linux/serial.h>
#include <linux/serialP.h>
#include <linux/serial_core.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/byteorder.h>
#include <asm/serial.h>
diff --git a/drivers/serial/icom.c b/drivers/serial/icom.c
index c15c8a0aac58..df71e2370f97 100644
--- a/drivers/serial/icom.c
+++ b/drivers/serial/icom.c
@@ -54,13 +54,13 @@
#include <linux/spinlock.h>
#include <linux/kobject.h>
#include <linux/firmware.h>
+#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/segment.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include "icom.h"
diff --git a/drivers/serial/mcfserial.c b/drivers/serial/mcfserial.c
index 7f1b9ee7e03f..46bcd19f2c45 100644
--- a/drivers/serial/mcfserial.c
+++ b/drivers/serial/mcfserial.c
@@ -34,13 +34,13 @@
#include <linux/serialP.h>
#include <linux/console.h>
#include <linux/init.h>
+#include <linux/bitops.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/system.h>
#include <asm/segment.h>
#include <asm/semaphore.h>
-#include <asm/bitops.h>
#include <asm/delay.h>
#include <asm/coldfire.h>
#include <asm/mcfsim.h>
diff --git a/drivers/serial/pmac_zilog.c b/drivers/serial/pmac_zilog.c
index 72586594be4c..bda0c8088fac 100644
--- a/drivers/serial/pmac_zilog.c
+++ b/drivers/serial/pmac_zilog.c
@@ -53,11 +53,11 @@
#include <linux/slab.h>
#include <linux/adb.h>
#include <linux/pmu.h>
+#include <linux/bitops.h>
#include <asm/sections.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/prom.h>
-#include <asm/bitops.h>
#include <asm/machdep.h>
#include <asm/pmac_feature.h>
#include <asm/dbdma.h>
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c
index b44e820a6d8b..ad5b776d779b 100644
--- a/drivers/serial/sh-sci.c
+++ b/drivers/serial/sh-sci.c
@@ -41,6 +41,7 @@
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/console.h>
+#include <linux/bitops.h>
#ifdef CONFIG_CPU_FREQ
#include <linux/notifier.h>
@@ -51,7 +52,6 @@
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include <linux/generic_serial.h>
diff --git a/drivers/tc/zs.c b/drivers/tc/zs.c
index c5befc9af125..74aea012129c 100644
--- a/drivers/tc/zs.c
+++ b/drivers/tc/zs.c
@@ -55,6 +55,7 @@
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/ioport.h>
+#include <linux/bitops.h>
#ifdef CONFIG_SERIAL_CONSOLE
#include <linux/console.h>
#endif
@@ -63,7 +64,6 @@
#include <asm/pgtable.h>
#include <asm/irq.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/wbflush.h>
#include <asm/bootinfo.h>
diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c
index 95dce5995859..b9f57d391a34 100644
--- a/drivers/usb/host/uhci-hcd.c
+++ b/drivers/usb/host/uhci-hcd.c
@@ -51,8 +51,8 @@
#include <linux/dmapool.h>
#include <linux/dma-mapping.h>
#include <linux/usb.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/irq.h>
diff --git a/drivers/usb/net/catc.c b/drivers/usb/net/catc.c
index 920fbd6608e5..decd7ab1c7fe 100644
--- a/drivers/usb/net/catc.c
+++ b/drivers/usb/net/catc.c
@@ -43,7 +43,7 @@
#include <linux/spinlock.h>
#include <linux/ethtool.h>
#include <linux/crc32.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#undef DEBUG
diff --git a/drivers/zorro/zorro.c b/drivers/zorro/zorro.c
index c10bc4bcd383..6d70b40d3fa5 100644
--- a/drivers/zorro/zorro.c
+++ b/drivers/zorro/zorro.c
@@ -15,8 +15,8 @@
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/zorro.h>
+#include <linux/bitops.h>
#include <asm/setup.h>
-#include <asm/bitops.h>
#include <asm/amigahw.h>
#include "zorro.h"
diff --git a/fs/adfs/super.c b/fs/adfs/super.c
index 87e8694509f7..243963228d10 100644
--- a/fs/adfs/super.c
+++ b/fs/adfs/super.c
@@ -19,8 +19,8 @@
#include <linux/buffer_head.h>
#include <linux/vfs.h>
#include <linux/parser.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/system.h>
diff --git a/fs/autofs/inode.c b/fs/autofs/inode.c
index a50096dd1595..579e432794a8 100644
--- a/fs/autofs/inode.c
+++ b/fs/autofs/inode.c
@@ -15,7 +15,7 @@
#include <linux/slab.h>
#include <linux/file.h>
#include <linux/parser.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include "autofs_i.h"
#include <linux/module.h>
diff --git a/fs/autofs4/inode.c b/fs/autofs4/inode.c
index 3b8e34a7aeb1..72f579c47ca8 100644
--- a/fs/autofs4/inode.c
+++ b/fs/autofs4/inode.c
@@ -15,7 +15,7 @@
#include <linux/file.h>
#include <linux/pagemap.h>
#include <linux/parser.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include "autofs_i.h"
#include <linux/module.h>
diff --git a/fs/buffer.c b/fs/buffer.c
index 2a75b3f9efe4..d4027fca46bc 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -38,7 +38,7 @@
#include <linux/bio.h>
#include <linux/notifier.h>
#include <linux/cpu.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
static int fsync_buffers_list(spinlock_t *lock, struct list_head *list);
static void invalidate_bh_lrus(void);
diff --git a/fs/coda/sysctl.c b/fs/coda/sysctl.c
index fd98626ba280..5b71f47e27dd 100644
--- a/fs/coda/sysctl.c
+++ b/fs/coda/sysctl.c
@@ -19,7 +19,7 @@
#include <linux/slab.h>
#include <linux/stat.h>
#include <linux/ctype.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <linux/utsname.h>
#include <linux/module.h>
diff --git a/fs/devfs/base.c b/fs/devfs/base.c
index 65e299a2d97e..22e3cf0852aa 100644
--- a/fs/devfs/base.c
+++ b/fs/devfs/base.c
@@ -677,13 +677,13 @@
#include <linux/rwsem.h>
#include <linux/sched.h>
#include <linux/namei.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/processor.h>
#include <asm/system.h>
#include <asm/pgtable.h>
-#include <asm/bitops.h>
#include <asm/atomic.h>
#define DEVFS_VERSION "2004-01-31"
diff --git a/fs/devfs/util.c b/fs/devfs/util.c
index 06a2d827e3e5..db06d388c9ac 100644
--- a/fs/devfs/util.c
+++ b/fs/devfs/util.c
@@ -71,7 +71,7 @@
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <linux/genhd.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
int devfs_register_tape(const char *name)
{
diff --git a/fs/eventpoll.c b/fs/eventpoll.c
index 7d6a12f66a6f..b11ab1a9ceee 100644
--- a/fs/eventpoll.c
+++ b/fs/eventpoll.c
@@ -33,7 +33,7 @@
#include <linux/wait.h>
#include <linux/eventpoll.h>
#include <linux/mount.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <asm/system.h>
#include <asm/io.h>
diff --git a/fs/ext3/ialloc.c b/fs/ext3/ialloc.c
index a3ca0238635a..e6bcf5fac48d 100644
--- a/fs/ext3/ialloc.c
+++ b/fs/ext3/ialloc.c
@@ -22,8 +22,8 @@
#include <linux/quotaops.h>
#include <linux/buffer_head.h>
#include <linux/random.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/byteorder.h>
#include "xattr.h"
diff --git a/fs/file.c b/fs/file.c
index d40c4028fab2..862a89c3dffe 100644
--- a/fs/file.c
+++ b/fs/file.c
@@ -12,8 +12,7 @@
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <linux/file.h>
-
-#include <asm/bitops.h>
+#include <linux/bitops.h>
/*
diff --git a/fs/jfs/jfs_incore.h b/fs/jfs/jfs_incore.h
index 5496bfb149cf..2357d95c2a90 100644
--- a/fs/jfs/jfs_incore.h
+++ b/fs/jfs/jfs_incore.h
@@ -21,7 +21,7 @@
#include <linux/rwsem.h>
#include <linux/slab.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include "jfs_types.h"
#include "jfs_xtree.h"
#include "jfs_dtree.h"
diff --git a/fs/minix/bitmap.c b/fs/minix/bitmap.c
index daae633cc43d..4a4a74326959 100644
--- a/fs/minix/bitmap.c
+++ b/fs/minix/bitmap.c
@@ -14,7 +14,7 @@
#include "minix.h"
#include <linux/smp_lock.h>
#include <linux/buffer_head.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
static int nibblemap[] = { 4,3,3,2,3,2,2,1,3,2,2,1,2,1,1,0 };
diff --git a/fs/partitions/devfs.c b/fs/partitions/devfs.c
index 9b4d03742c87..87f50444fd39 100644
--- a/fs/partitions/devfs.c
+++ b/fs/partitions/devfs.c
@@ -5,7 +5,7 @@
#include <linux/devfs_fs_kernel.h>
#include <linux/vmalloc.h>
#include <linux/genhd.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/semaphore.h>
diff --git a/fs/proc/generic.c b/fs/proc/generic.c
index 72febc00fa3b..e0e72ec5b978 100644
--- a/fs/proc/generic.c
+++ b/fs/proc/generic.c
@@ -18,8 +18,8 @@
#include <linux/init.h>
#include <linux/idr.h>
#include <linux/namei.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
static ssize_t proc_file_read(struct file *file, char __user *buf,
size_t nbytes, loff_t *ppos);
diff --git a/fs/proc/proc_tty.c b/fs/proc/proc_tty.c
index 93cbcbaf6f0c..e4e2f6b5e9c1 100644
--- a/fs/proc/proc_tty.c
+++ b/fs/proc/proc_tty.c
@@ -13,7 +13,7 @@
#include <linux/stat.h>
#include <linux/tty.h>
#include <linux/seq_file.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
static int tty_ldiscs_read_proc(char *page, char **start, off_t off,
int count, int *eof, void *data);
diff --git a/fs/proc/root.c b/fs/proc/root.c
index 76779d4e5a75..aef148f099a2 100644
--- a/fs/proc/root.c
+++ b/fs/proc/root.c
@@ -15,7 +15,7 @@
#include <linux/config.h>
#include <linux/init.h>
#include <linux/module.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/smp_lock.h>
struct proc_dir_entry *proc_net, *proc_net_stat, *proc_bus, *proc_root_fs, *proc_root_driver;
diff --git a/fs/qnx4/bitmap.c b/fs/qnx4/bitmap.c
index 72327856f893..ea634dc47b92 100644
--- a/fs/qnx4/bitmap.c
+++ b/fs/qnx4/bitmap.c
@@ -21,8 +21,7 @@
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/buffer_head.h>
-
-#include <asm/bitops.h>
+#include <linux/bitops.h>
int qnx4_new_block(struct super_block *sb)
{
diff --git a/fs/udf/balloc.c b/fs/udf/balloc.c
index 235418f35f65..cddb733d20fb 100644
--- a/fs/udf/balloc.c
+++ b/fs/udf/balloc.c
@@ -28,7 +28,7 @@
#include <linux/quotaops.h>
#include <linux/buffer_head.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include "udf_i.h"
#include "udf_sb.h"
diff --git a/fs/ufs/balloc.c b/fs/ufs/balloc.c
index 9195c9dfa803..997640c99c7d 100644
--- a/fs/ufs/balloc.c
+++ b/fs/ufs/balloc.c
@@ -14,7 +14,7 @@
#include <linux/quotaops.h>
#include <linux/buffer_head.h>
#include <linux/sched.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/byteorder.h>
#include "swab.h"
diff --git a/fs/ufs/cylinder.c b/fs/ufs/cylinder.c
index 105a695aad8f..14abb8b835f7 100644
--- a/fs/ufs/cylinder.c
+++ b/fs/ufs/cylinder.c
@@ -13,8 +13,8 @@
#include <linux/time.h>
#include <linux/stat.h>
#include <linux/string.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/byteorder.h>
#include "swab.h"
diff --git a/fs/ufs/ialloc.c b/fs/ufs/ialloc.c
index 767cb8fbbebf..ed6e546fc4fb 100644
--- a/fs/ufs/ialloc.c
+++ b/fs/ufs/ialloc.c
@@ -28,7 +28,7 @@
#include <linux/quotaops.h>
#include <linux/buffer_head.h>
#include <linux/sched.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/byteorder.h>
#include "swab.h"
diff --git a/fs/ufs/super.c b/fs/ufs/super.c
index 4ff38a0ab44a..7bcd4fc8d651 100644
--- a/fs/ufs/super.c
+++ b/fs/ufs/super.c
@@ -66,10 +66,10 @@
#include <linux/config.h>
#include <linux/module.h>
+#include <linux/bitops.h>
#include <stdarg.h>
-#include <asm/bitops.h>
#include <asm/uaccess.h>
#include <asm/system.h>
diff --git a/include/linux/idr.h b/include/linux/idr.h
index 1b0c1e6d1e2d..ca3b7e462576 100644
--- a/include/linux/idr.h
+++ b/include/linux/idr.h
@@ -9,7 +9,7 @@
* tables.
*/
#include <linux/types.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#if BITS_PER_LONG == 32
# define IDR_BITS 5
diff --git a/include/linux/mtd/gen_probe.h b/include/linux/mtd/gen_probe.h
index 2d66b33f805d..f6208098660c 100644
--- a/include/linux/mtd/gen_probe.h
+++ b/include/linux/mtd/gen_probe.h
@@ -10,7 +10,7 @@
#include <linux/mtd/flashchip.h>
#include <linux/mtd/map.h>
#include <linux/mtd/cfi.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
struct chip_probe {
char *name;
diff --git a/include/net/pkt_act.h b/include/net/pkt_act.h
index e7e7da355012..7c30074c4a6f 100644
--- a/include/net/pkt_act.h
+++ b/include/net/pkt_act.h
@@ -3,7 +3,7 @@
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/config.h>
#include <linux/types.h>
#include <linux/kernel.h>
diff --git a/kernel/rcupdate.c b/kernel/rcupdate.c
index 1b16bfc7d1ee..80cac1cd0859 100644
--- a/kernel/rcupdate.c
+++ b/kernel/rcupdate.c
@@ -38,7 +38,7 @@
#include <linux/interrupt.h>
#include <linux/sched.h>
#include <asm/atomic.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/module.h>
#include <linux/completion.h>
#include <linux/moduleparam.h>
diff --git a/lib/bitmap.c b/lib/bitmap.c
index 8ffd202dcdd6..f7414e7fd046 100644
--- a/lib/bitmap.c
+++ b/lib/bitmap.c
@@ -9,7 +9,7 @@
#include <linux/ctype.h>
#include <linux/errno.h>
#include <linux/bitmap.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
/*
diff --git a/net/core/dev.c b/net/core/dev.c
index 5ab736ff0087..88fffb4be34b 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -74,7 +74,7 @@
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/config.h>
#include <linux/cpu.h>
#include <linux/types.h>
diff --git a/net/core/dev_mcast.c b/net/core/dev_mcast.c
index e8ce25b759ee..db098ff3cd6a 100644
--- a/net/core/dev_mcast.c
+++ b/net/core/dev_mcast.c
@@ -25,7 +25,7 @@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/net/core/link_watch.c b/net/core/link_watch.c
index 6dd61ea39b2d..0a84b0d8db74 100644
--- a/net/core/link_watch.c
+++ b/net/core/link_watch.c
@@ -22,7 +22,7 @@
#include <linux/list.h>
#include <linux/slab.h>
#include <linux/workqueue.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <asm/types.h>
diff --git a/net/core/pktgen.c b/net/core/pktgen.c
index 1d1c5451f303..6cd292a83719 100644
--- a/net/core/pktgen.c
+++ b/net/core/pktgen.c
@@ -74,8 +74,8 @@
#include <linux/init.h>
#include <linux/inet.h>
#include <linux/rcupdate.h>
+#include <linux/bitops.h>
#include <asm/byteorder.h>
-#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/uaccess.h>
diff --git a/net/econet/af_econet.c b/net/econet/af_econet.c
index fc31ae1209d1..03890eeb7fc4 100644
--- a/net/econet/af_econet.c
+++ b/net/econet/af_econet.c
@@ -40,10 +40,10 @@
#include <net/ip.h>
#include <linux/spinlock.h>
#include <linux/rcupdate.h>
+#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
static struct proto_ops econet_ops;
static struct hlist_head econet_sklist;
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index 19eb795a1140..bda63766b6ab 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -31,7 +31,7 @@
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/module.h>
#include <linux/types.h>
#include <linux/kernel.h>
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c
index f13e797c32e8..4ccd02f535f7 100644
--- a/net/ipv4/fib_frontend.c
+++ b/net/ipv4/fib_frontend.c
@@ -19,7 +19,7 @@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/net/ipv4/fib_hash.c b/net/ipv4/fib_hash.c
index 8aa5b76f4653..21e11b49d742 100644
--- a/net/ipv4/fib_hash.c
+++ b/net/ipv4/fib_hash.c
@@ -18,7 +18,7 @@
#include <linux/config.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/net/ipv4/fib_rules.c b/net/ipv4/fib_rules.c
index ee19a7e7a881..e4b3af075657 100644
--- a/net/ipv4/fib_rules.c
+++ b/net/ipv4/fib_rules.c
@@ -22,7 +22,7 @@
#include <linux/config.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
index e2a772d3bc4c..ec1f08872f1d 100644
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
@@ -18,7 +18,7 @@
#include <linux/config.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/jiffies.h>
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 455cc0e77549..fd023db82df9 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -65,7 +65,7 @@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/net/irda/irlan/irlan_client.c b/net/irda/irlan/irlan_client.c
index b849ecd541f5..fbd7bf12fb44 100644
--- a/net/irda/irlan/irlan_client.c
+++ b/net/irda/irlan/irlan_client.c
@@ -33,10 +33,10 @@
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/if_arp.h>
+#include <linux/bitops.h>
#include <net/arp.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/byteorder.h>
#include <net/irda/irda.h>
diff --git a/net/irda/irlan/irlan_common.c b/net/irda/irlan/irlan_common.c
index e6599074e8af..032ab40f913a 100644
--- a/net/irda/irlan/irlan_common.c
+++ b/net/irda/irlan/irlan_common.c
@@ -37,9 +37,9 @@
#include <linux/etherdevice.h>
#include <linux/rtnetlink.h>
#include <linux/moduleparam.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/byteorder.h>
#include <net/irda/irda.h>
diff --git a/net/irda/irlan/irlan_provider.c b/net/irda/irlan/irlan_provider.c
index abf11e4a1bbc..2793c54f3462 100644
--- a/net/irda/irlan/irlan_provider.c
+++ b/net/irda/irlan/irlan_provider.c
@@ -33,9 +33,9 @@
#include <linux/etherdevice.h>
#include <linux/init.h>
#include <linux/random.h>
+#include <linux/bitops.h>
#include <asm/system.h>
-#include <asm/bitops.h>
#include <asm/byteorder.h>
#include <net/irda/irda.h>
diff --git a/net/netlink/netlink_dev.c b/net/netlink/netlink_dev.c
index 72059f182a40..59f53de4b86b 100644
--- a/net/netlink/netlink_dev.c
+++ b/net/netlink/netlink_dev.c
@@ -28,8 +28,8 @@
#include <linux/devfs_fs_kernel.h>
#include <linux/smp_lock.h>
#include <linux/device.h>
+#include <linux/bitops.h>
-#include <asm/bitops.h>
#include <asm/system.h>
#include <asm/uaccess.h>
diff --git a/net/sched/act_api.c b/net/sched/act_api.c
index b189f5a28b39..a1243f0c062e 100644
--- a/net/sched/act_api.c
+++ b/net/sched/act_api.c
@@ -13,7 +13,7 @@
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/config.h>
#include <linux/types.h>
#include <linux/kernel.h>
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index 71c85ad84ec8..b66754d04cdc 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -16,7 +16,7 @@
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/config.h>
#include <linux/module.h>
#include <linux/types.h>
diff --git a/net/sched/cls_fw.c b/net/sched/cls_fw.c
index 3ef250827a59..4d8438a59e1f 100644
--- a/net/sched/cls_fw.c
+++ b/net/sched/cls_fw.c
@@ -22,7 +22,7 @@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/net/sched/cls_route.c b/net/sched/cls_route.c
index c2165492a3c3..0762c74ae574 100644
--- a/net/sched/cls_route.c
+++ b/net/sched/cls_route.c
@@ -13,7 +13,7 @@
#include <linux/config.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/net/sched/cls_rsvp.c b/net/sched/cls_rsvp.c
index 05a937b59032..69a56e921171 100644
--- a/net/sched/cls_rsvp.c
+++ b/net/sched/cls_rsvp.c
@@ -12,7 +12,7 @@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/net/sched/cls_rsvp6.c b/net/sched/cls_rsvp6.c
index 85ed7b400bb4..9a0dac539f78 100644
--- a/net/sched/cls_rsvp6.c
+++ b/net/sched/cls_rsvp6.c
@@ -12,7 +12,7 @@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
index bfe785eb0f57..372e36efe54c 100644
--- a/net/sched/cls_u32.c
+++ b/net/sched/cls_u32.c
@@ -31,7 +31,7 @@
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/config.h>
#include <linux/module.h>
#include <linux/types.h>
diff --git a/net/sched/estimator.c b/net/sched/estimator.c
index 17eb0798bd31..f39a5187a75c 100644
--- a/net/sched/estimator.c
+++ b/net/sched/estimator.c
@@ -11,7 +11,7 @@
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/module.h>
#include <linux/types.h>
#include <linux/kernel.h>
diff --git a/net/sched/gact.c b/net/sched/gact.c
index 5607f5e8cd83..b1d4addd956a 100644
--- a/net/sched/gact.c
+++ b/net/sched/gact.c
@@ -12,7 +12,7 @@
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/config.h>
#include <linux/types.h>
#include <linux/kernel.h>
diff --git a/net/sched/police.c b/net/sched/police.c
index 12bd44006537..cb30e8ea9fef 100644
--- a/net/sched/police.c
+++ b/net/sched/police.c
@@ -12,7 +12,7 @@
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/config.h>
#include <linux/module.h>
#include <linux/types.h>
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index 5da7b7312642..7818886af89d 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -35,6 +35,7 @@
#include <linux/seq_file.h>
#include <linux/kmod.h>
#include <linux/list.h>
+#include <linux/bitops.h>
#include <net/sock.h>
#include <net/pkt_sched.h>
@@ -42,7 +43,6 @@
#include <asm/processor.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
static int qdisc_notify(struct sk_buff *oskb, struct nlmsghdr *n, u32 clid,
struct Qdisc *old, struct Qdisc *new);
diff --git a/net/sched/sch_cbq.c b/net/sched/sch_cbq.c
index 2ae73826d6cf..1a73822c8a93 100644
--- a/net/sched/sch_cbq.c
+++ b/net/sched/sch_cbq.c
@@ -14,7 +14,7 @@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/net/sched/sch_fifo.c b/net/sched/sch_fifo.c
index b089924177f8..06acf4d7320d 100644
--- a/net/sched/sch_fifo.c
+++ b/net/sched/sch_fifo.c
@@ -13,7 +13,7 @@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 2516dd92a0f1..c91c4e4962a0 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -13,7 +13,7 @@
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/config.h>
#include <linux/module.h>
#include <linux/types.h>
diff --git a/net/sched/sch_gred.c b/net/sched/sch_gred.c
index 375c6c2fb996..aaf611899b25 100644
--- a/net/sched/sch_gred.c
+++ b/net/sched/sch_gred.c
@@ -24,7 +24,7 @@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c
index 61c8fa4db608..6f0fdc77fed2 100644
--- a/net/sched/sch_htb.c
+++ b/net/sched/sch_htb.c
@@ -31,7 +31,7 @@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c
index d29df1cabf59..72fd04a6ae78 100644
--- a/net/sched/sch_netem.c
+++ b/net/sched/sch_netem.c
@@ -15,7 +15,7 @@
#include <linux/config.h>
#include <linux/module.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/errno.h>
diff --git a/net/sched/sch_prio.c b/net/sched/sch_prio.c
index 6961f081170f..2c8bf5e3ed04 100644
--- a/net/sched/sch_prio.c
+++ b/net/sched/sch_prio.c
@@ -15,7 +15,7 @@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/net/sched/sch_red.c b/net/sched/sch_red.c
index e98f79bdb435..6be9a7779a3f 100644
--- a/net/sched/sch_red.c
+++ b/net/sched/sch_red.c
@@ -18,7 +18,7 @@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c
index ac668b08ebe9..160786fc3351 100644
--- a/net/sched/sch_sfq.c
+++ b/net/sched/sch_sfq.c
@@ -13,7 +13,7 @@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/jiffies.h>
diff --git a/net/sched/sch_tbf.c b/net/sched/sch_tbf.c
index a1df30471451..9f3699d2ccbe 100644
--- a/net/sched/sch_tbf.c
+++ b/net/sched/sch_tbf.c
@@ -16,7 +16,7 @@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/jiffies.h>
diff --git a/net/sched/sch_teql.c b/net/sched/sch_teql.c
index dd169094aa2e..f358692716cc 100644
--- a/net/sched/sch_teql.c
+++ b/net/sched/sch_teql.c
@@ -11,7 +11,7 @@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c
index 85c825b8ad00..67bccddaa383 100644
--- a/sound/pci/bt87x.c
+++ b/sound/pci/bt87x.c
@@ -27,8 +27,8 @@
#include <linux/pci.h>
#include <linux/slab.h>
#include <linux/moduleparam.h>
+#include <linux/bitops.h>
#include <asm/io.h>
-#include <asm/bitops.h>
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>