linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] Disintegrate and kill asm/system.h
@ 2012-03-21 17:14 David Howells
  2012-03-21 23:06 ` Paul Gortmaker
  0 siblings, 1 reply; 25+ messages in thread
From: David Howells @ 2012-03-21 17:14 UTC (permalink / raw)
  To: torvalds
  Cc: dhowells, linux-arch, linux-kernel, paul.gortmaker, Arnd Bergmann


Hi Linus,

Here are a bunch of patches to disintegrate asm/system.h into a set of separate
bits to relieve the problem of circular inclusion dependencies.

The following changes since commit c16fa4f2ad19908a47c63d8fa436a1178438c7e7:

  Linux 3.3 (2012-03-18 16:15:34 -0700)

are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system.git split-asm-system_h

A signed tag is here:

	http://git.kernel.org/?p=linux/kernel/git/dhowells/linux-asm_system.git;a=tag;h=refs/tags/split-asm_system_h-for-linus

Can you apply this after pulling the arch trees please?  Note that some of the
arch-specific patches may well come to you via their arch trees before you
apply this patch series.  There's also a chance that the penultimate patch
won't apply by the time you get to it - it's a one-line script to simply remove
all #inclusions of asm/system.h.

Nearly all arches have had at least the defconfig built, either by myself or
by the arch owner.  I've also built all the working ARM defconfigs and made
sure that they don't break.

The reason for these patches is that I recently encountered a circular
dependency problem that came about when I produced some patches to optimise
get_order() by rewriting it to use ilog2().  This uses bitops - and on the SH
arch asm/bitops.h drags in asm-generic/get_order.h by a circuituous route
involving asm/system.h.

The main difficulty seems to be asm/system.h.  It holds a number of low level
bits with no/few dependencies that are commonly used (eg. memory barriers) and
a number of bits with more dependencies that aren't used in many places
(eg. switch_to()).

These patches break asm/system.h up into the following core pieces:

     (1) asm/barrier.h

         Move memory barriers here.  This already done for MIPS and Alpha.

     (2) asm/switch_to.h

         Move switch_to() and related stuff here.

     (3) asm/exec.h

         Move arch_align_stack() here.  Other process execution related bits
         could perhaps go here from asm/processor.h.

     (4) asm/cmpxchg.h

         Move xchg() and cmpxchg() here as they're full word atomic ops and
         frequently used by atomic_xchg() and atomic_cmpxchg().

     (5) asm/bug.h

         Move die() and related bits.

     (6) asm/auxvec.h

         Move AT_VECTOR_SIZE_ARCH here.

Other arch headers are created as needed on a per-arch basis.

---
David Howells (36):
      ARM: Fix missing linux/types.h #inclusion in asm/hardware/iop3xx.h
      Disintegrate asm/system.h for X86
      Disintegrate asm/system.h for Alpha
      Disintegrate asm/system.h for ARM
      Disintegrate asm/system.h for AVR32
      Disintegrate asm/system.h for Blackfin
      Disintegrate asm/system.h for C6X
      Disintegrate asm/system.h for CRIS
      Disintegrate asm/system.h for FRV
      Disintegrate asm/system.h for H8300
      Disintegrate asm/system.h for Hexagon
      Disintegrate asm/system.h for IA64
      Disintegrate asm/system.h for M32R
      m68k: Fix xchg/cmpxchg to fail to link if given an inappropriate pointer
      Disintegrate asm/system.h for M68K
      Disintegrate asm/system.h for Microblaze
      Disintegrate asm/system.h for MIPS
      Disintegrate asm/system.h for MN10300
      Disintegrate asm/system.h for PA-RISC
      Disintegrate asm/system.h for PowerPC
      Disintegrate asm/system.h for S390
      Disintegrate asm/system.h for Score
      Disintegrate asm/system.h for SH
      Disintegrate asm/system.h for Sparc
      Disintegrate asm/system.h for Tile
      Disintegrate asm/system.h for Xtensa
      Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h
      Create asm-generic/barrier.h
      Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h
      Split the switch_to() wrapper out of asm-generic/system.h
      Split arch_align_stack() out from asm-generic/system.h
      Disintegrate asm/system.h for OpenRISC
      Move all declarations of free_initmem() to linux/mm.h
      Add #includes needed to permit the removal of asm/system.h
      Remove all #inclusions of asm/system.h
      Delete all instances of asm/system.h

Guan Xuetao (1):
      Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]

Russell King (1):
      ARM: move CP15 definitions to separate header file

 arch/alpha/boot/bootp.c                            |    1 -
 arch/alpha/boot/bootpz.c                           |    1 -
 arch/alpha/boot/head.S                             |    1 -
 arch/alpha/boot/main.c                             |    1 -
 arch/alpha/include/asm/atomic.h                    |   68 +++-
 arch/alpha/include/asm/auxvec.h                    |    2 +
 arch/alpha/include/asm/core_lca.h                  |    2 +-
 arch/alpha/include/asm/core_mcpcia.h               |    1 +
 arch/alpha/include/asm/core_t2.h                   |    1 -
 arch/alpha/include/asm/elf.h                       |    1 +
 arch/alpha/include/asm/exec.h                      |    6 +
 arch/alpha/include/asm/fpu.h                       |    2 +
 arch/alpha/include/asm/io.h                        |    1 -
 arch/alpha/include/asm/irqflags.h                  |    2 +-
 arch/alpha/include/asm/mce.h                       |   83 +++
 arch/alpha/include/asm/mmu_context.h               |    1 -
 arch/alpha/include/asm/pal.h                       |  112 ++++
 arch/alpha/include/asm/pgtable.h                   |    1 +
 arch/alpha/include/asm/setup.h                     |   36 ++
 arch/alpha/include/asm/special_insns.h             |   41 ++
 arch/alpha/include/asm/spinlock.h                  |    1 -
 arch/alpha/include/asm/switch_to.h                 |   14 +
 arch/alpha/include/asm/system.h                    |  354 -------------
 arch/alpha/include/asm/xchg.h                      |    2 +-
 arch/alpha/kernel/core_apecs.c                     |    1 +
 arch/alpha/kernel/core_cia.c                       |    1 +
 arch/alpha/kernel/core_t2.c                        |    1 +
 arch/alpha/kernel/err_impl.h                       |    2 +
 arch/alpha/kernel/head.S                           |    6 +-
 arch/alpha/kernel/irq.c                            |    1 -
 arch/alpha/kernel/irq_alpha.c                      |    1 +
 arch/alpha/kernel/osf_sys.c                        |    1 -
 arch/alpha/kernel/process.c                        |    1 -
 arch/alpha/kernel/ptrace.c                         |    1 -
 arch/alpha/kernel/setup.c                          |    1 -
 arch/alpha/kernel/sys_alcor.c                      |    1 -
 arch/alpha/kernel/sys_cabriolet.c                  |    1 -
 arch/alpha/kernel/sys_dp264.c                      |    1 -
 arch/alpha/kernel/sys_eb64p.c                      |    1 -
 arch/alpha/kernel/sys_eiger.c                      |    1 -
 arch/alpha/kernel/sys_jensen.c                     |    1 -
 arch/alpha/kernel/sys_marvel.c                     |    1 -
 arch/alpha/kernel/sys_miata.c                      |    1 -
 arch/alpha/kernel/sys_mikasa.c                     |    2 +-
 arch/alpha/kernel/sys_nautilus.c                   |    1 -
 arch/alpha/kernel/sys_noritake.c                   |    2 +-
 arch/alpha/kernel/sys_rawhide.c                    |    1 -
 arch/alpha/kernel/sys_ruffian.c                    |    1 -
 arch/alpha/kernel/sys_rx164.c                      |    1 -
 arch/alpha/kernel/sys_sable.c                      |    1 -
 arch/alpha/kernel/sys_sio.c                        |    1 -
 arch/alpha/kernel/sys_sx164.c                      |    2 +-
 arch/alpha/kernel/sys_takara.c                     |    1 -
 arch/alpha/kernel/sys_titan.c                      |    1 -
 arch/alpha/kernel/sys_wildfire.c                   |    1 -
 arch/alpha/kernel/traps.c                          |    1 +
 arch/alpha/kernel/vmlinux.lds.S                    |    2 +
 arch/alpha/lib/stacktrace.c                        |    1 -
 arch/alpha/mm/fault.c                              |    1 -
 arch/alpha/mm/init.c                               |    2 +-
 arch/alpha/oprofile/common.c                       |    1 -
 arch/alpha/oprofile/op_model_ev4.c                 |    1 -
 arch/alpha/oprofile/op_model_ev5.c                 |    1 -
 arch/alpha/oprofile/op_model_ev6.c                 |    1 -
 arch/alpha/oprofile/op_model_ev67.c                |    1 -
 arch/arm/common/via82c505.c                        |    1 -
 arch/arm/include/asm/atomic.h                      |    4 +-
 arch/arm/include/asm/barrier.h                     |   69 +++
 arch/arm/include/asm/bitops.h                      |    2 +-
 arch/arm/include/asm/bug.h                         |   30 +
 arch/arm/include/asm/cmpxchg.h                     |  295 +++++++++++
 arch/arm/include/asm/compiler.h                    |   15 +
 arch/arm/include/asm/cp15.h                        |   87 +++
 arch/arm/include/asm/div64.h                       |    2 +-
 arch/arm/include/asm/dma.h                         |    1 -
 arch/arm/include/asm/domain.h                      |    4 +
 arch/arm/include/asm/exec.h                        |    6 +
 arch/arm/include/asm/hardware/iop3xx.h             |    3 +
 arch/arm/include/asm/io.h                          |    2 +-
 arch/arm/include/asm/mmu.h                         |    7 +
 arch/arm/include/asm/processor.h                   |    3 +-
 arch/arm/include/asm/switch_to.h                   |   18 +
 arch/arm/include/asm/system.h                      |  551 +-------------------
 arch/arm/include/asm/system_info.h                 |   27 +
 arch/arm/include/asm/system_misc.h                 |   28 +
 arch/arm/include/asm/uaccess.h                     |    2 +-
 arch/arm/kernel/armksyms.c                         |    1 -
 arch/arm/kernel/elf.c                              |    1 +
 arch/arm/kernel/entry-armv.S                       |    2 +-
 arch/arm/kernel/fiq.c                              |    2 +-
 arch/arm/kernel/head-nommu.S                       |    2 +-
 arch/arm/kernel/head.S                             |    2 +-
 arch/arm/kernel/hw_breakpoint.c                    |    1 -
 arch/arm/kernel/irq.c                              |    1 -
 arch/arm/kernel/kprobes-common.c                   |    1 +
 arch/arm/kernel/machine_kexec.c                    |    2 +-
 arch/arm/kernel/process.c                          |    1 -
 arch/arm/kernel/ptrace.c                           |    1 -
 arch/arm/kernel/setup.c                            |    4 +-
 arch/arm/kernel/sleep.S                            |    1 -
 arch/arm/kernel/tcm.c                              |    1 +
 arch/arm/kernel/thumbee.c                          |    1 +
 arch/arm/kernel/traps.c                            |    2 +-
 arch/arm/mach-at91/at91cap9.c                      |    2 +
 arch/arm/mach-at91/at91rm9200.c                    |    1 +
 arch/arm/mach-at91/at91sam9260.c                   |    1 +
 arch/arm/mach-at91/at91sam9261.c                   |    1 +
 arch/arm/mach-at91/at91sam9263.c                   |    1 +
 arch/arm/mach-at91/at91sam9g45.c                   |    1 +
 arch/arm/mach-at91/at91sam9rl.c                    |    1 +
 arch/arm/mach-at91/include/mach/system_rev.h       |    2 +
 arch/arm/mach-clps711x/common.c                    |    1 +
 arch/arm/mach-clps711x/p720t-leds.c                |    1 -
 arch/arm/mach-davinci/board-da850-evm.c            |    1 +
 arch/arm/mach-ebsa110/core.c                       |    2 +-
 arch/arm/mach-ebsa110/leds.c                       |    1 -
 arch/arm/mach-exynos/hotplug.c                     |    1 +
 arch/arm/mach-footbridge/common.c                  |    1 +
 arch/arm/mach-footbridge/dc21285-timer.c           |    1 +
 arch/arm/mach-footbridge/dc21285.c                 |    1 -
 arch/arm/mach-footbridge/ebsa285-leds.c            |    1 -
 arch/arm/mach-footbridge/netwinder-hw.c            |    1 +
 arch/arm/mach-footbridge/netwinder-leds.c          |    1 -
 arch/arm/mach-imx/dma-v1.c                         |    1 -
 arch/arm/mach-imx/mach-imx6q.c                     |    1 +
 arch/arm/mach-imx/mach-mx51_efikamx.c              |    1 +
 arch/arm/mach-imx/mach-mx51_efikasb.c              |    1 +
 arch/arm/mach-integrator/core.c                    |    1 -
 arch/arm/mach-integrator/leds.c                    |    1 -
 arch/arm/mach-integrator/pci.c                     |    1 -
 arch/arm/mach-integrator/pci_v3.c                  |    1 -
 arch/arm/mach-iop33x/uart.c                        |    1 -
 arch/arm/mach-ixp2000/core.c                       |    1 -
 arch/arm/mach-ixp2000/enp2611.c                    |    1 -
 arch/arm/mach-ixp2000/ixdp2400.c                   |    1 -
 arch/arm/mach-ixp2000/ixdp2800.c                   |    1 -
 arch/arm/mach-ixp2000/ixdp2x00.c                   |    1 -
 arch/arm/mach-ixp2000/ixdp2x01.c                   |    1 -
 arch/arm/mach-ixp2000/pci.c                        |    1 -
 arch/arm/mach-ixp23xx/core.c                       |    1 -
 arch/arm/mach-ixp23xx/espresso.c                   |    1 -
 arch/arm/mach-ixp23xx/ixdp2351.c                   |    1 -
 arch/arm/mach-ixp23xx/pci.c                        |    1 -
 arch/arm/mach-ixp23xx/roadrunner.c                 |    1 -
 arch/arm/mach-ixp4xx/common-pci.c                  |    1 -
 arch/arm/mach-ixp4xx/goramo_mlr.c                  |    1 -
 arch/arm/mach-ks8695/time.c                        |    1 +
 arch/arm/mach-mmp/common.c                         |    1 +
 arch/arm/mach-mmp/pxa168.c                         |    1 +
 arch/arm/mach-msm/board-sapphire.c                 |    1 -
 arch/arm/mach-mxs/system.c                         |    2 +-
 arch/arm/mach-omap1/id.c                           |    1 +
 arch/arm/mach-omap1/leds-h2p2-debug.c              |    1 -
 arch/arm/mach-omap1/leds-innovator.c               |    1 -
 arch/arm/mach-omap1/leds-osk.c                     |    1 -
 arch/arm/mach-omap1/mux.c                          |    1 -
 arch/arm/mach-omap1/time.c                         |    1 -
 arch/arm/mach-omap1/timer32k.c                     |    1 -
 arch/arm/mach-omap2/board-omap3touchbook.c         |    1 +
 arch/arm/mach-omap2/board-rx51-peripherals.c       |    1 +
 arch/arm/mach-omap2/mux.c                          |    1 -
 arch/arm/mach-omap2/omap-mpuss-lowpower.c          |    1 -
 arch/arm/mach-omap2/pm24xx.c                       |    1 +
 arch/arm/mach-omap2/pm34xx.c                       |    1 +
 arch/arm/mach-omap2/pm44xx.c                       |    1 +
 arch/arm/mach-omap2/sleep44xx.S                    |    1 -
 arch/arm/mach-orion5x/common.c                     |    1 +
 arch/arm/mach-orion5x/dns323-setup.c               |    1 +
 arch/arm/mach-orion5x/ls-chl-setup.c               |    1 -
 arch/arm/mach-orion5x/ls_hgl-setup.c               |    1 -
 arch/arm/mach-orion5x/lsmini-setup.c               |    1 -
 arch/arm/mach-pnx4008/core.c                       |    2 +-
 arch/arm/mach-pnx4008/dma.c                        |    1 -
 arch/arm/mach-pnx4008/irq.c                        |    1 -
 arch/arm/mach-pnx4008/time.c                       |    1 -
 arch/arm/mach-pxa/cm-x300.c                        |    1 +
 arch/arm/mach-pxa/colibri-pxa3xx.c                 |    1 +
 arch/arm/mach-pxa/corgi.c                          |    1 -
 arch/arm/mach-pxa/generic.c                        |    1 -
 arch/arm/mach-pxa/leds-idp.c                       |    1 -
 arch/arm/mach-pxa/leds-lubbock.c                   |    1 -
 arch/arm/mach-pxa/leds-mainstone.c                 |    1 -
 arch/arm/mach-pxa/magician.c                       |    1 +
 arch/arm/mach-pxa/poodle.c                         |    1 -
 arch/arm/mach-pxa/reset.c                          |    1 +
 arch/arm/mach-pxa/viper.c                          |    1 +
 arch/arm/mach-pxa/zeus.c                           |    1 +
 arch/arm/mach-realview/core.c                      |    1 -
 arch/arm/mach-realview/hotplug.c                   |    1 +
 arch/arm/mach-rpc/riscpc.c                         |    1 +
 arch/arm/mach-s3c2410/s3c2410.c                    |    1 +
 arch/arm/mach-s3c2412/s3c2412.c                    |    1 +
 arch/arm/mach-s3c2416/s3c2416.c                    |    1 +
 arch/arm/mach-s3c2440/s3c244x.c                    |    1 +
 arch/arm/mach-s3c2443/s3c2443.c                    |    1 +
 arch/arm/mach-s3c64xx/common.c                     |    1 +
 arch/arm/mach-s5p64x0/common.c                     |    1 +
 arch/arm/mach-s5pc100/common.c                     |    1 +
 arch/arm/mach-sa1100/dma.c                         |    1 -
 arch/arm/mach-sa1100/generic.c                     |    2 +-
 arch/arm/mach-sa1100/leds-assabet.c                |    1 -
 arch/arm/mach-sa1100/leds-badge4.c                 |    1 -
 arch/arm/mach-sa1100/leds-cerf.c                   |    1 -
 arch/arm/mach-sa1100/leds-hackkit.c                |    1 -
 arch/arm/mach-sa1100/leds-lart.c                   |    1 -
 arch/arm/mach-sa1100/pm.c                          |    1 -
 arch/arm/mach-shark/leds.c                         |    1 -
 arch/arm/mach-shmobile/cpuidle.c                   |    1 -
 arch/arm/mach-shmobile/include/mach/system.h       |    2 +
 arch/arm/mach-shmobile/pm-r8a7779.c                |    1 -
 arch/arm/mach-shmobile/pm-sh7372.c                 |    1 -
 arch/arm/mach-shmobile/suspend.c                   |    2 +-
 arch/arm/mach-tegra/cpu-tegra.c                    |    1 -
 arch/arm/mach-tegra/hotplug.c                      |    1 +
 arch/arm/mach-versatile/core.c                     |    1 -
 arch/arm/mach-versatile/pci.c                      |    1 -
 arch/arm/mach-vexpress/hotplug.c                   |    2 +-
 arch/arm/mach-w90x900/cpu.c                        |    1 +
 arch/arm/mm/alignment.c                            |    3 +-
 arch/arm/mm/cache-feroceon-l2.c                    |    1 +
 arch/arm/mm/cache-tauros2.c                        |    1 +
 arch/arm/mm/cache-xsc3l2.c                         |    2 +-
 arch/arm/mm/fault.c                                |    3 +-
 arch/arm/mm/flush.c                                |    1 -
 arch/arm/mm/idmap.c                                |    1 +
 arch/arm/mm/ioremap.c                              |    2 +
 arch/arm/mm/mmu.c                                  |    2 +
 arch/arm/mm/pgd.c                                  |    1 +
 arch/arm/mm/proc-fa526.S                           |    1 -
 arch/arm/nwfpe/fpa11.c                             |    1 -
 arch/arm/plat-iop/i2c.c                            |    1 -
 arch/arm/plat-iop/pci.c                            |    1 -
 arch/arm/plat-iop/restart.c                        |    1 +
 arch/arm/plat-mxc/system.c                         |    2 +-
 arch/arm/plat-omap/debug-leds.c                    |    1 -
 arch/arm/plat-omap/dma.c                           |    1 -
 arch/arm/plat-omap/mux.c                           |    1 -
 arch/arm/plat-pxa/dma.c                            |    1 -
 arch/arm/plat-s3c24xx/cpu.c                        |    1 +
 arch/arm/plat-s3c24xx/dma.c                        |    1 -
 arch/arm/plat-samsung/cpu.c                        |    1 -
 arch/arm/plat-samsung/time.c                       |    1 -
 arch/arm/plat-spear/restart.c                      |    1 +
 arch/arm/vfp/vfpmodule.c                           |    2 +
 arch/avr32/include/asm/atomic.h                    |    2 +-
 arch/avr32/include/asm/barrier.h                   |   27 +
 arch/avr32/include/asm/bitops.h                    |    1 -
 arch/avr32/include/asm/bug.h                       |    5 +
 arch/avr32/include/asm/{system.h => cmpxchg.h}     |   79 +---
 arch/avr32/include/asm/exec.h                      |   13 +
 arch/avr32/include/asm/special_insns.h             |   13 +
 arch/avr32/include/asm/switch_to.h                 |   46 ++
 arch/avr32/mach-at32ap/cpufreq.c                   |    1 -
 arch/avr32/oprofile/op_model_avr32.c               |    1 -
 arch/blackfin/include/asm/atomic.h                 |    2 +
 arch/blackfin/include/asm/barrier.h                |   48 ++
 arch/blackfin/include/asm/{system.h => cmpxchg.h}  |   78 +---
 arch/blackfin/include/asm/exec.h                   |    1 +
 arch/blackfin/include/asm/irq_handler.h            |    1 +
 arch/blackfin/include/asm/switch_to.h              |   39 ++
 arch/blackfin/kernel/asm-offsets.c                 |    1 +
 arch/blackfin/kernel/ipipe.c                       |    1 -
 arch/blackfin/kernel/kgdb_test.c                   |    1 -
 arch/blackfin/kernel/process.c                     |    1 +
 arch/blackfin/kernel/ptrace.c                      |    1 -
 arch/blackfin/kernel/reboot.c                      |    1 -
 arch/blackfin/kernel/setup.c                       |    1 +
 arch/blackfin/kernel/trace.c                       |    1 +
 arch/blackfin/kernel/traps.c                       |    1 +
 arch/c6x/include/asm/Kbuild                        |    1 -
 arch/c6x/include/asm/barrier.h                     |   27 +
 arch/c6x/include/asm/bitops.h                      |    1 -
 arch/c6x/include/asm/bug.h                         |   23 +
 arch/c6x/include/asm/cmpxchg.h                     |   68 +++
 arch/c6x/include/asm/exec.h                        |    6 +
 arch/c6x/include/asm/processor.h                   |    9 +
 arch/c6x/include/asm/setup.h                       |    1 +
 arch/c6x/include/asm/special_insns.h               |   63 +++
 arch/c6x/include/asm/switch_to.h                   |   33 ++
 arch/c6x/include/asm/system.h                      |  168 ------
 arch/c6x/kernel/irq.c                              |    1 +
 arch/c6x/kernel/setup.c                            |    1 +
 arch/c6x/kernel/soc.c                              |    1 -
 arch/c6x/kernel/time.c                             |    1 +
 arch/c6x/kernel/traps.c                            |    1 +
 arch/c6x/platforms/timer64.c                       |    1 +
 arch/cris/arch-v10/drivers/ds1302.c                |    1 -
 arch/cris/arch-v10/drivers/gpio.c                  |    1 -
 arch/cris/arch-v10/drivers/i2c.c                   |    1 -
 arch/cris/arch-v10/drivers/pcf8563.c               |    1 -
 arch/cris/arch-v10/drivers/sync_serial.c           |    1 -
 arch/cris/arch-v10/kernel/debugport.c              |    1 -
 arch/cris/arch-v10/kernel/dma.c                    |    1 +
 arch/cris/arch-v10/kernel/io_interface_mux.c       |    1 +
 arch/cris/arch-v10/kernel/process.c                |    1 +
 arch/cris/arch-v10/kernel/ptrace.c                 |    1 -
 arch/cris/arch-v10/kernel/setup.c                  |    1 +
 arch/cris/arch-v10/kernel/signal.c                 |    1 +
 arch/cris/arch-v10/kernel/traps.c                  |    1 +
 arch/cris/arch-v32/drivers/i2c.c                   |    1 -
 arch/cris/arch-v32/drivers/mach-a3/gpio.c          |    1 -
 arch/cris/arch-v32/drivers/mach-fs/gpio.c          |    1 -
 arch/cris/arch-v32/kernel/debugport.c              |    1 -
 arch/cris/arch-v32/kernel/fasttimer.c              |    1 -
 arch/cris/arch-v32/kernel/ptrace.c                 |    1 -
 arch/cris/arch-v32/mach-a3/dma.c                   |    1 -
 arch/cris/arch-v32/mach-fs/dma.c                   |    1 -
 arch/cris/include/arch-v10/arch/elf.h              |    2 +
 arch/cris/include/arch-v32/arch/elf.h              |    2 +
 arch/cris/include/asm/atomic.h                     |    2 +-
 arch/cris/include/asm/barrier.h                    |   23 +
 arch/cris/include/asm/bitops.h                     |    1 -
 arch/cris/include/asm/{system.h => cmpxchg.h}      |   50 +--
 arch/cris/include/asm/exec.h                       |    6 +
 arch/cris/include/asm/processor.h                  |   11 +-
 arch/cris/include/asm/switch_to.h                  |   12 +
 arch/cris/kernel/irq.c                             |    1 +
 arch/cris/kernel/process.c                         |    1 -
 arch/cris/kernel/ptrace.c                          |    1 -
 arch/cris/kernel/setup.c                           |    1 +
 arch/cris/kernel/traps.c                           |    1 +
 arch/cris/mm/fault.c                               |    1 +
 arch/frv/include/asm/atomic.h                      |   57 +--
 arch/frv/include/asm/barrier.h                     |   29 +
 arch/frv/include/asm/bug.h                         |    2 +
 arch/frv/include/asm/{system.h => cmpxchg.h}       |   98 ++--
 arch/frv/include/asm/exec.h                        |   17 +
 arch/frv/include/asm/switch_to.h                   |   35 ++
 arch/frv/kernel/debug-stub.c                       |    1 -
 arch/frv/kernel/gdb-io.c                           |    1 -
 arch/frv/kernel/gdb-stub.c                         |    1 -
 arch/frv/kernel/irq-mb93091.c                      |    1 -
 arch/frv/kernel/irq-mb93093.c                      |    1 -
 arch/frv/kernel/irq-mb93493.c                      |    1 -
 arch/frv/kernel/irq.c                              |    1 -
 arch/frv/kernel/process.c                          |    1 -
 arch/frv/kernel/ptrace.c                           |    1 -
 arch/frv/kernel/traps.c                            |    1 -
 arch/frv/mm/fault.c                                |    1 -
 arch/frv/mm/init.c                                 |    1 -
 arch/frv/mm/kmap.c                                 |    1 -
 arch/h8300/include/asm/atomic.h                    |    4 +-
 arch/h8300/include/asm/barrier.h                   |   27 +
 arch/h8300/include/asm/bitops.h                    |    1 -
 arch/h8300/include/asm/bug.h                       |    4 +
 arch/h8300/include/asm/cmpxchg.h                   |   60 +++
 arch/h8300/include/asm/exec.h                      |    6 +
 arch/h8300/include/asm/processor.h                 |    5 +
 arch/h8300/include/asm/switch_to.h                 |   50 ++
 arch/h8300/include/asm/system.h                    |  140 -----
 arch/h8300/kernel/irq.c                            |    1 -
 arch/h8300/kernel/process.c                        |    1 -
 arch/h8300/kernel/ptrace.c                         |    1 -
 arch/h8300/kernel/traps.c                          |    1 -
 arch/h8300/mm/fault.c                              |    1 -
 arch/h8300/mm/init.c                               |    1 -
 arch/h8300/mm/kmap.c                               |    1 -
 arch/h8300/mm/memory.c                             |    1 -
 arch/hexagon/include/asm/atomic.h                  |    1 +
 arch/hexagon/include/asm/barrier.h                 |   41 ++
 arch/hexagon/include/asm/bitops.h                  |    1 -
 arch/hexagon/include/asm/{system.h => cmpxchg.h}   |   46 +--
 arch/hexagon/include/asm/exec.h                    |   28 +
 arch/hexagon/include/asm/switch_to.h               |   34 ++
 arch/hexagon/kernel/ptrace.c                       |    1 -
 arch/hexagon/kernel/smp.c                          |    1 -
 arch/hexagon/kernel/vm_events.c                    |    1 -
 arch/ia64/dig/setup.c                              |    2 +-
 arch/ia64/hp/common/sba_iommu.c                    |    1 -
 arch/ia64/hp/sim/boot/bootloader.c                 |    1 -
 arch/ia64/hp/sim/boot/fw-emu.c                     |    1 +
 arch/ia64/hp/sim/simeth.c                          |    1 -
 arch/ia64/include/asm/acpi.h                       |    1 -
 arch/ia64/include/asm/atomic.h                     |    1 -
 arch/ia64/include/asm/auxvec.h                     |    2 +
 arch/ia64/include/asm/barrier.h                    |   68 +++
 arch/ia64/include/asm/exec.h                       |   14 +
 arch/ia64/include/asm/futex.h                      |    1 -
 arch/ia64/include/asm/io.h                         |    1 -
 arch/ia64/include/asm/irqflags.h                   |    2 +
 arch/ia64/include/asm/kexec.h                      |    1 +
 arch/ia64/include/asm/mca_asm.h                    |    2 +
 arch/ia64/include/asm/page.h                       |   10 +
 arch/ia64/include/asm/pci.h                        |    8 +
 arch/ia64/include/asm/pgtable.h                    |    1 -
 arch/ia64/include/asm/processor.h                  |    8 +
 arch/ia64/include/asm/sal.h                        |    1 -
 arch/ia64/include/asm/setup.h                      |   18 +
 arch/ia64/include/asm/sn/pda.h                     |    1 -
 arch/ia64/include/asm/spinlock.h                   |    1 -
 arch/ia64/include/asm/switch_to.h                  |   87 +++
 arch/ia64/include/asm/system.h                     |  203 -------
 arch/ia64/include/asm/uv/uv.h                      |    1 -
 arch/ia64/kernel/acpi.c                            |    1 -
 arch/ia64/kernel/efi.c                             |    1 +
 arch/ia64/kernel/fsys.S                            |    1 -
 arch/ia64/kernel/gate.S                            |    3 +-
 arch/ia64/kernel/gate.lds.S                        |    3 +-
 arch/ia64/kernel/head.S                            |    1 -
 arch/ia64/kernel/iosapic.c                         |    1 -
 arch/ia64/kernel/irq_ia64.c                        |    1 -
 arch/ia64/kernel/ivt.S                             |    1 -
 arch/ia64/kernel/machvec.c                         |    1 -
 arch/ia64/kernel/mca.c                             |    1 -
 arch/ia64/kernel/mca_drv.c                         |    1 -
 arch/ia64/kernel/patch.c                           |    1 -
 arch/ia64/kernel/pci-dma.c                         |    1 -
 arch/ia64/kernel/perfmon.c                         |    1 -
 arch/ia64/kernel/ptrace.c                          |    1 -
 arch/ia64/kernel/setup.c                           |    1 -
 arch/ia64/kernel/smp.c                             |    1 -
 arch/ia64/kernel/smpboot.c                         |    1 -
 arch/ia64/kernel/time.c                            |    1 -
 arch/ia64/kernel/traps.c                           |    1 +
 arch/ia64/kernel/uncached.c                        |    1 -
 arch/ia64/kernel/unwind.c                          |    1 -
 arch/ia64/kernel/vmlinux.lds.S                     |    1 -
 arch/ia64/mm/fault.c                               |    1 -
 arch/ia64/mm/init.c                                |    1 -
 arch/ia64/oprofile/backtrace.c                     |    1 -
 arch/ia64/pci/pci.c                                |    1 -
 arch/ia64/sn/kernel/setup.c                        |    2 +-
 arch/ia64/sn/kernel/sn2/prominfo_proc.c            |    1 -
 arch/ia64/sn/kernel/sn2/sn2_smp.c                  |    1 -
 arch/ia64/sn/kernel/sn2/timer.c                    |    1 -
 arch/ia64/sn/kernel/tiocx.c                        |    1 -
 arch/ia64/xen/xensetup.S                           |    1 -
 arch/m32r/include/asm/atomic.h                     |    3 +-
 arch/m32r/include/asm/barrier.h                    |   94 ++++
 arch/m32r/include/asm/bitops.h                     |    3 +-
 arch/m32r/include/asm/cmpxchg.h                    |  221 ++++++++
 arch/m32r/include/asm/dcache_clear.h               |   29 +
 arch/m32r/include/asm/exec.h                       |   14 +
 arch/m32r/include/asm/local.h                      |    1 -
 arch/m32r/include/asm/spinlock.h                   |    1 +
 arch/m32r/include/asm/switch_to.h                  |   51 ++
 arch/m32r/include/asm/system.h                     |  367 -------------
 arch/m32r/kernel/ptrace.c                          |    1 -
 arch/m32r/kernel/traps.c                           |    1 -
 arch/m32r/mm/fault-nommu.c                         |    1 -
 arch/m32r/mm/fault.c                               |    1 -
 arch/m32r/platforms/m32104ut/setup.c               |    1 -
 arch/m32r/platforms/m32700ut/setup.c               |    1 -
 arch/m32r/platforms/mappi/setup.c                  |    1 -
 arch/m32r/platforms/mappi2/setup.c                 |    1 -
 arch/m32r/platforms/mappi3/setup.c                 |    1 -
 arch/m32r/platforms/oaks32r/setup.c                |    1 -
 arch/m32r/platforms/opsput/setup.c                 |    1 -
 arch/m32r/platforms/usrv/setup.c                   |    1 -
 arch/m68k/amiga/amisound.c                         |    1 -
 arch/m68k/amiga/config.c                           |    1 -
 arch/m68k/apollo/config.c                          |    1 -
 arch/m68k/atari/ataints.c                          |    1 -
 arch/m68k/atari/atasound.c                         |    1 -
 arch/m68k/atari/config.c                           |    1 -
 arch/m68k/bvme6000/config.c                        |    1 -
 arch/m68k/bvme6000/rtc.c                           |    1 -
 arch/m68k/hp300/time.c                             |    1 -
 arch/m68k/include/asm/atomic.h                     |    2 +-
 arch/m68k/include/asm/barrier.h                    |   20 +
 arch/m68k/include/asm/{system.h => cmpxchg.h}      |   94 +---
 arch/m68k/include/asm/exec.h                       |    6 +
 arch/m68k/include/asm/sun3xflop.h                  |    1 -
 arch/m68k/include/asm/switch_to.h                  |   41 ++
 arch/m68k/kernel/ints.c                            |    1 -
 arch/m68k/kernel/irq.c                             |    1 -
 arch/m68k/kernel/process_mm.c                      |    1 -
 arch/m68k/kernel/process_no.c                      |    1 -
 arch/m68k/kernel/ptrace_mm.c                       |    1 -
 arch/m68k/kernel/ptrace_no.c                       |    1 -
 arch/m68k/kernel/traps.c                           |    1 -
 arch/m68k/kernel/vectors.c                         |    1 -
 arch/m68k/mac/config.c                             |    1 -
 arch/m68k/mac/misc.c                               |    1 -
 arch/m68k/mm/fault.c                               |    1 -
 arch/m68k/mm/init_mm.c                             |    1 -
 arch/m68k/mm/init_no.c                             |    1 -
 arch/m68k/mm/kmap.c                                |    1 -
 arch/m68k/mm/memory.c                              |    1 -
 arch/m68k/mm/motorola.c                            |    1 -
 arch/m68k/mm/sun3mmu.c                             |    1 -
 arch/m68k/mvme147/config.c                         |    1 -
 arch/m68k/mvme16x/config.c                         |    1 -
 arch/m68k/mvme16x/rtc.c                            |    1 -
 arch/m68k/platform/68328/config.c                  |    1 -
 arch/m68k/platform/68328/timers.c                  |    1 -
 arch/m68k/platform/68360/config.c                  |    1 -
 arch/m68k/platform/68EZ328/config.c                |    1 -
 arch/m68k/platform/68VZ328/config.c                |    1 -
 arch/m68k/q40/config.c                             |    1 -
 arch/m68k/q40/q40ints.c                            |    1 -
 arch/m68k/sun3/intersil.c                          |    1 -
 arch/m68k/sun3/mmu_emu.c                           |    1 -
 arch/m68k/sun3/prom/console.c                      |    1 -
 arch/m68k/sun3x/config.c                           |    1 -
 arch/m68k/sun3x/time.c                             |    1 -
 arch/microblaze/include/asm/atomic.h               |    1 +
 arch/microblaze/include/asm/barrier.h              |   27 +
 arch/microblaze/include/asm/cmpxchg.h              |   40 ++
 arch/microblaze/include/asm/exec.h                 |   14 +
 arch/microblaze/include/asm/processor.h            |   11 +-
 arch/microblaze/include/asm/setup.h                |    6 +
 arch/microblaze/include/asm/switch_to.h            |   24 +
 arch/microblaze/include/asm/system.h               |   97 ----
 arch/microblaze/kernel/cpu/pvr.c                   |    1 -
 arch/microblaze/kernel/microblaze_ksyms.c          |    1 -
 arch/microblaze/kernel/process.c                   |    1 -
 arch/microblaze/kernel/prom.c                      |    1 -
 arch/microblaze/kernel/setup.c                     |    1 -
 arch/microblaze/kernel/timer.c                     |    1 -
 arch/microblaze/kernel/traps.c                     |    1 -
 arch/microblaze/lib/memcpy.c                       |    1 -
 arch/microblaze/mm/fault.c                         |    1 -
 arch/mips/cavium-octeon/setup.c                    |    1 -
 arch/mips/cavium-octeon/smp.c                      |    1 -
 arch/mips/dec/ecc-berr.c                           |    1 -
 arch/mips/dec/kn01-berr.c                          |    1 -
 arch/mips/dec/kn02xa-berr.c                        |    1 -
 arch/mips/dec/wbflush.c                            |    1 -
 arch/mips/emma/markeins/irq.c                      |    1 -
 arch/mips/fw/arc/misc.c                            |    1 -
 arch/mips/include/asm/atomic.h                     |    2 +-
 arch/mips/include/asm/cmpxchg.h                    |  124 +++++
 arch/mips/include/asm/dma.h                        |    1 -
 arch/mips/include/asm/exec.h                       |   17 +
 arch/mips/include/asm/mach-au1x00/au1000_dma.h     |    1 -
 arch/mips/include/asm/processor.h                  |    7 +-
 arch/mips/include/asm/setup.h                      |   11 +
 arch/mips/include/asm/switch_to.h                  |   85 +++
 arch/mips/include/asm/system.h                     |  235 ---------
 arch/mips/include/asm/txx9/jmr3927.h               |    1 -
 arch/mips/kernel/cpu-bugs64.c                      |    1 -
 arch/mips/kernel/cpu-probe.c                       |    1 -
 arch/mips/kernel/irq-rm7000.c                      |    1 -
 arch/mips/kernel/irq-rm9000.c                      |    1 -
 arch/mips/kernel/irq.c                             |    1 -
 arch/mips/kernel/irq_cpu.c                         |    1 -
 arch/mips/kernel/mips-mt.c                         |    1 -
 arch/mips/kernel/process.c                         |    1 -
 arch/mips/kernel/ptrace.c                          |    1 -
 arch/mips/kernel/ptrace32.c                        |    1 -
 arch/mips/kernel/rtlx.c                            |    1 -
 arch/mips/kernel/setup.c                           |    1 -
 arch/mips/kernel/signal.c                          |    1 +
 arch/mips/kernel/signal32.c                        |    1 -
 arch/mips/kernel/signal_n32.c                      |    1 -
 arch/mips/kernel/smp-bmips.c                       |    1 -
 arch/mips/kernel/smp-cmp.c                         |    1 -
 arch/mips/kernel/smp-mt.c                          |    1 -
 arch/mips/kernel/smp.c                             |    1 -
 arch/mips/kernel/smtc-proc.c                       |    1 -
 arch/mips/kernel/smtc.c                            |    1 -
 arch/mips/kernel/spram.c                           |    1 -
 arch/mips/kernel/syscall.c                         |    1 +
 arch/mips/kernel/traps.c                           |    1 -
 arch/mips/kernel/unaligned.c                       |    1 -
 arch/mips/kernel/vpe.c                             |    1 -
 arch/mips/lasat/reset.c                            |    1 -
 arch/mips/math-emu/dsemul.c                        |    1 -
 arch/mips/mipssim/sim_smtc.c                       |    1 -
 arch/mips/mm/c-octeon.c                            |    1 -
 arch/mips/mm/c-r3k.c                               |    1 -
 arch/mips/mm/c-r4k.c                               |    1 -
 arch/mips/mm/c-tx39.c                              |    1 -
 arch/mips/mm/fault.c                               |    1 -
 arch/mips/mm/page.c                                |    1 -
 arch/mips/mm/sc-ip22.c                             |    1 -
 arch/mips/mm/sc-mips.c                             |    1 -
 arch/mips/mm/sc-r5k.c                              |    1 -
 arch/mips/mm/tlb-r3k.c                             |    1 -
 arch/mips/mm/tlb-r4k.c                             |    1 -
 arch/mips/mm/tlb-r8k.c                             |    1 -
 arch/mips/mm/tlbex.c                               |    1 +
 arch/mips/mti-malta/malta-init.c                   |    1 -
 arch/mips/netlogic/common/irq.c                    |    1 -
 arch/mips/pmc-sierra/msp71xx/msp_irq_cic.c         |    1 -
 arch/mips/pmc-sierra/msp71xx/msp_irq_per.c         |    1 -
 arch/mips/pmc-sierra/msp71xx/msp_irq_slp.c         |    1 -
 arch/mips/pmc-sierra/yosemite/irq.c                |    1 -
 arch/mips/pmc-sierra/yosemite/prom.c               |    1 -
 arch/mips/powertv/asic/irq_asic.c                  |    1 -
 arch/mips/powertv/init.c                           |    1 -
 arch/mips/rb532/irq.c                              |    1 -
 arch/mips/sgi-ip22/ip22-berr.c                     |    1 -
 arch/mips/sgi-ip22/ip22-reset.c                    |    1 -
 arch/mips/sgi-ip22/ip28-berr.c                     |    1 -
 arch/mips/sgi-ip27/ip27-irq.c                      |    1 -
 arch/mips/sgi-ip27/ip27-reset.c                    |    1 -
 arch/mips/sgi-ip32/ip32-irq.c                      |    1 -
 arch/mips/sgi-ip32/ip32-reset.c                    |    1 -
 arch/mips/sibyte/bcm1480/irq.c                     |    1 -
 arch/mips/sibyte/common/sb_tbprof.c                |    1 -
 arch/mips/sibyte/sb1250/bus_watcher.c              |    1 -
 arch/mips/sibyte/sb1250/irq.c                      |    1 -
 arch/mips/sni/reset.c                              |    1 -
 arch/mips/vr41xx/common/irq.c                      |    1 -
 arch/mips/vr41xx/common/pmu.c                      |    1 -
 arch/mn10300/include/asm/atomic.h                  |  109 +----
 arch/mn10300/include/asm/barrier.h                 |   37 ++
 arch/mn10300/include/asm/cmpxchg.h                 |  115 ++++
 arch/mn10300/include/asm/dma.h                     |    1 -
 arch/mn10300/include/asm/exec.h                    |   16 +
 arch/mn10300/include/asm/switch_to.h               |   49 ++
 arch/mn10300/include/asm/system.h                  |  102 ----
 arch/mn10300/kernel/entry.S                        |    1 -
 arch/mn10300/kernel/fpu.c                          |    1 -
 arch/mn10300/kernel/gdb-io-serial.c                |    1 -
 arch/mn10300/kernel/gdb-io-ttysm.c                 |    1 -
 arch/mn10300/kernel/gdb-stub.c                     |    1 -
 arch/mn10300/kernel/mn10300-serial.c               |    1 -
 arch/mn10300/kernel/mn10300-watchdog.c             |    1 -
 arch/mn10300/kernel/process.c                      |    1 -
 arch/mn10300/kernel/ptrace.c                       |    1 -
 arch/mn10300/kernel/setup.c                        |    1 -
 arch/mn10300/kernel/smp-low.S                      |    2 +-
 arch/mn10300/kernel/smp.c                          |    1 -
 arch/mn10300/kernel/traps.c                        |    1 -
 arch/mn10300/lib/bitops.c                          |    1 -
 arch/mn10300/mm/fault.c                            |    1 -
 arch/mn10300/mm/init.c                             |    1 -
 arch/mn10300/mm/misalignment.c                     |    1 -
 arch/mn10300/mm/pgtable.c                          |    1 -
 arch/mn10300/mm/tlb-smp.c                          |    1 -
 arch/mn10300/proc-mn2ws0050/proc-init.c            |    1 -
 arch/openrisc/include/asm/Kbuild                   |    3 +
 arch/openrisc/include/asm/system.h                 |   35 --
 arch/openrisc/kernel/idle.c                        |    1 -
 arch/openrisc/kernel/process.c                     |    1 -
 arch/openrisc/kernel/prom.c                        |    1 -
 arch/openrisc/kernel/ptrace.c                      |    1 -
 arch/openrisc/kernel/setup.c                       |    1 -
 arch/openrisc/kernel/traps.c                       |    1 -
 arch/openrisc/mm/init.c                            |    1 -
 arch/openrisc/mm/tlb.c                             |    1 -
 arch/parisc/include/asm/atomic.h                   |    1 -
 arch/parisc/include/asm/barrier.h                  |   35 ++
 arch/parisc/include/asm/delay.h                    |    2 +-
 arch/parisc/include/asm/dma.h                      |    1 -
 arch/parisc/include/asm/exec.h                     |    6 +
 arch/parisc/include/asm/ldcw.h                     |   48 ++
 arch/parisc/include/asm/processor.h                |    2 +-
 arch/parisc/include/asm/psw.h                      |   41 ++
 arch/parisc/include/asm/special_insns.h            |   40 ++
 arch/parisc/include/asm/spinlock.h                 |    1 -
 arch/parisc/include/asm/switch_to.h                |   12 +
 arch/parisc/include/asm/system.h                   |  165 ------
 arch/parisc/include/asm/thread_info.h              |    1 +
 arch/parisc/include/asm/timex.h                    |    1 -
 arch/parisc/include/asm/uaccess.h                  |    1 -
 arch/parisc/kernel/cache.c                         |    1 -
 arch/parisc/kernel/firmware.c                      |    1 -
 arch/parisc/kernel/pci.c                           |    1 -
 arch/parisc/kernel/ptrace.c                        |    1 -
 arch/parisc/kernel/smp.c                           |    1 -
 arch/parisc/kernel/traps.c                         |    1 -
 arch/parisc/lib/bitops.c                           |    1 -
 arch/powerpc/include/asm/atomic.h                  |    8 +-
 arch/powerpc/include/asm/auxvec.h                  |    2 +
 arch/powerpc/include/asm/barrier.h                 |   68 +++
 arch/powerpc/include/asm/bug.h                     |   11 +
 arch/powerpc/include/asm/cache.h                   |   16 +
 arch/powerpc/include/asm/cmpxchg.h                 |  309 +++++++++++
 arch/powerpc/include/asm/debug.h                   |   56 ++
 arch/powerpc/include/asm/dma.h                     |    1 -
 arch/powerpc/include/asm/exec.h                    |    9 +
 arch/powerpc/include/asm/hw_breakpoint.h           |    2 +-
 arch/powerpc/include/asm/irq.h                     |    1 +
 arch/powerpc/include/asm/processor.h               |   30 +
 arch/powerpc/include/asm/reg_booke.h               |    5 +
 arch/powerpc/include/asm/rtas.h                    |    2 +
 arch/powerpc/include/asm/setup.h                   |   24 +-
 arch/powerpc/include/asm/switch_to.h               |   65 +++
 arch/powerpc/include/asm/system.h                  |  554 --------------------
 arch/powerpc/kernel/align.c                        |    2 +-
 arch/powerpc/kernel/cputable.c                     |    1 +
 arch/powerpc/kernel/crash.c                        |    2 +-
 arch/powerpc/kernel/idle.c                         |    1 -
 arch/powerpc/kernel/irq.c                          |    1 -
 arch/powerpc/kernel/kprobes.c                      |    1 -
 arch/powerpc/kernel/lparcfg.c                      |    1 -
 arch/powerpc/kernel/ppc_ksyms.c                    |    2 +-
 arch/powerpc/kernel/process.c                      |    3 +-
 arch/powerpc/kernel/prom.c                         |    1 -
 arch/powerpc/kernel/prom_init.c                    |    1 -
 arch/powerpc/kernel/ptrace.c                       |    2 +-
 arch/powerpc/kernel/ptrace32.c                     |    2 +-
 arch/powerpc/kernel/rtas.c                         |    1 -
 arch/powerpc/kernel/setup-common.c                 |    1 -
 arch/powerpc/kernel/setup_32.c                     |    1 -
 arch/powerpc/kernel/setup_64.c                     |    1 -
 arch/powerpc/kernel/signal.c                       |    1 +
 arch/powerpc/kernel/signal_32.c                    |    1 +
 arch/powerpc/kernel/signal_64.c                    |    1 +
 arch/powerpc/kernel/smp.c                          |    2 +-
 arch/powerpc/kernel/softemu8xx.c                   |    1 -
 arch/powerpc/kernel/swsusp.c                       |    2 +-
 arch/powerpc/kernel/swsusp_64.c                    |    1 -
 arch/powerpc/kernel/sys_ppc32.c                    |    1 +
 arch/powerpc/kernel/sysfs.c                        |    1 -
 arch/powerpc/kernel/traps.c                        |    3 +-
 arch/powerpc/kernel/vdso.c                         |    1 -
 arch/powerpc/kvm/book3s_hv.c                       |    1 +
 arch/powerpc/lib/alloc.c                           |    2 +-
 arch/powerpc/lib/copyuser_power7_vmx.c             |    1 +
 arch/powerpc/mm/44x_mmu.c                          |    1 -
 arch/powerpc/mm/fault.c                            |    2 +-
 arch/powerpc/mm/hash_utils_64.c                    |    1 -
 arch/powerpc/mm/init_32.c                          |    1 -
 arch/powerpc/mm/init_64.c                          |    1 -
 arch/powerpc/mm/numa.c                             |    2 +-
 arch/powerpc/mm/pgtable_32.c                       |    1 +
 arch/powerpc/mm/pgtable_64.c                       |    1 -
 arch/powerpc/oprofile/common.c                     |    1 -
 arch/powerpc/oprofile/op_model_7450.c              |    1 -
 arch/powerpc/oprofile/op_model_cell.c              |    1 -
 arch/powerpc/oprofile/op_model_fsl_emb.c           |    1 -
 arch/powerpc/oprofile/op_model_power4.c            |    1 -
 arch/powerpc/oprofile/op_model_rs64.c              |    1 -
 arch/powerpc/platforms/82xx/pq2.c                  |    1 -
 arch/powerpc/platforms/83xx/km83xx.c               |    1 -
 arch/powerpc/platforms/83xx/mpc832x_mds.c          |    1 -
 arch/powerpc/platforms/83xx/mpc834x_itx.c          |    1 -
 arch/powerpc/platforms/83xx/mpc834x_mds.c          |    1 -
 arch/powerpc/platforms/83xx/mpc836x_mds.c          |    1 -
 arch/powerpc/platforms/83xx/sbc834x.c              |    1 -
 arch/powerpc/platforms/85xx/corenet_ds.c           |    1 -
 arch/powerpc/platforms/85xx/ksi8560.c              |    1 -
 arch/powerpc/platforms/85xx/mpc8536_ds.c           |    1 -
 arch/powerpc/platforms/85xx/mpc85xx_ads.c          |    1 -
 arch/powerpc/platforms/85xx/mpc85xx_cds.c          |    1 -
 arch/powerpc/platforms/85xx/mpc85xx_ds.c           |    1 -
 arch/powerpc/platforms/85xx/mpc85xx_mds.c          |    1 -
 arch/powerpc/platforms/85xx/mpc85xx_rdb.c          |    1 -
 arch/powerpc/platforms/85xx/p1010rdb.c             |    1 -
 arch/powerpc/platforms/85xx/p1023_rds.c            |    1 -
 arch/powerpc/platforms/85xx/p2041_rdb.c            |    1 -
 arch/powerpc/platforms/85xx/p3041_ds.c             |    1 -
 arch/powerpc/platforms/85xx/p4080_ds.c             |    1 -
 arch/powerpc/platforms/85xx/p5020_ds.c             |    1 -
 arch/powerpc/platforms/85xx/sbc8548.c              |    1 -
 arch/powerpc/platforms/85xx/sbc8560.c              |    1 -
 arch/powerpc/platforms/85xx/socrates.c             |    1 -
 arch/powerpc/platforms/85xx/stx_gp3.c              |    1 -
 arch/powerpc/platforms/85xx/tqm85xx.c              |    1 -
 arch/powerpc/platforms/85xx/xes_mpc85xx.c          |    1 -
 arch/powerpc/platforms/86xx/gef_ppc9a.c            |    1 -
 arch/powerpc/platforms/86xx/gef_sbc310.c           |    1 -
 arch/powerpc/platforms/86xx/gef_sbc610.c           |    1 -
 arch/powerpc/platforms/86xx/mpc8610_hpcd.c         |    1 -
 arch/powerpc/platforms/86xx/mpc86xx_hpcn.c         |    1 -
 arch/powerpc/platforms/86xx/pic.c                  |    1 -
 arch/powerpc/platforms/86xx/sbc8641d.c             |    1 -
 arch/powerpc/platforms/8xx/mpc86xads_setup.c       |    1 -
 arch/powerpc/platforms/8xx/mpc885ads_setup.c       |    1 -
 arch/powerpc/platforms/8xx/tqm8xx_setup.c          |    1 -
 arch/powerpc/platforms/cell/smp.c                  |    1 -
 arch/powerpc/platforms/embedded6xx/c2k.c           |    1 -
 arch/powerpc/platforms/embedded6xx/holly.c         |    1 -
 arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c  |    1 -
 arch/powerpc/platforms/embedded6xx/prpmc2800.c     |    1 -
 arch/powerpc/platforms/embedded6xx/storcenter.c    |    1 -
 arch/powerpc/platforms/fsl_uli1575.c               |    1 -
 arch/powerpc/platforms/iseries/dt.c                |    1 -
 arch/powerpc/platforms/iseries/lpevents.c          |    1 -
 arch/powerpc/platforms/iseries/setup.c             |    1 -
 arch/powerpc/platforms/iseries/smp.c               |    1 -
 arch/powerpc/platforms/iseries/viopath.c           |    1 -
 arch/powerpc/platforms/maple/setup.c               |    1 -
 arch/powerpc/platforms/maple/time.c                |    1 -
 arch/powerpc/platforms/pasemi/setup.c              |    2 +-
 arch/powerpc/platforms/powermac/bootx_init.c       |    1 +
 arch/powerpc/platforms/powermac/cpufreq_32.c       |    2 +-
 arch/powerpc/platforms/powermac/nvram.c            |    1 -
 arch/powerpc/platforms/powermac/setup.c            |    1 -
 arch/powerpc/platforms/powermac/time.c             |    1 -
 arch/powerpc/platforms/powernv/smp.c               |    1 -
 arch/powerpc/platforms/ps3/mm.c                    |    1 +
 arch/powerpc/platforms/pseries/dtl.c               |    2 +-
 arch/powerpc/platforms/pseries/hotplug-cpu.c       |    1 -
 arch/powerpc/platforms/pseries/processor_idle.c    |    1 -
 arch/powerpc/platforms/pseries/ras.c               |    1 -
 arch/powerpc/platforms/pseries/smp.c               |    1 -
 arch/powerpc/platforms/wsp/chroma.c                |    1 -
 arch/powerpc/platforms/wsp/psr2.c                  |    1 -
 arch/powerpc/sysdev/cpm_common.c                   |    1 -
 arch/powerpc/sysdev/fsl_soc.c                      |    1 -
 arch/powerpc/sysdev/msi_bitmap.c                   |    1 +
 arch/powerpc/sysdev/tsi108_dev.c                   |    1 -
 arch/powerpc/xmon/xmon.c                           |    1 +
 arch/s390/crypto/crypt_s390.h                      |    1 +
 arch/s390/include/asm/atomic.h                     |    2 +-
 arch/s390/include/asm/barrier.h                    |   35 ++
 arch/s390/include/asm/ctl_reg.h                    |   76 +++
 arch/s390/include/asm/elf.h                        |    1 -
 arch/s390/include/asm/exec.h                       |   12 +
 arch/s390/include/asm/facility.h                   |   29 +
 arch/s390/include/asm/mmu.h                        |   14 +
 arch/s390/include/asm/mmu_context.h                |    1 +
 arch/s390/include/asm/processor.h                  |   16 +
 arch/s390/include/asm/setup.h                      |   14 +
 arch/s390/include/asm/sigp.h                       |    9 +-
 arch/s390/include/asm/smp.h                        |    1 -
 arch/s390/include/asm/switch_to.h                  |  100 ++++
 arch/s390/include/asm/system.h                     |  281 ----------
 arch/s390/include/asm/uaccess.h                    |    6 +
 arch/s390/kernel/compat_signal.c                   |    1 +
 arch/s390/kernel/cpcmd.c                           |    1 -
 arch/s390/kernel/dis.c                             |    1 -
 arch/s390/kernel/early.c                           |    1 +
 arch/s390/kernel/machine_kexec.c                   |    1 -
 arch/s390/kernel/process.c                         |    2 +-
 arch/s390/kernel/ptrace.c                          |    2 +-
 arch/s390/kernel/setup.c                           |    2 +-
 arch/s390/kernel/signal.c                          |    1 +
 arch/s390/kernel/smp.c                             |    1 +
 arch/s390/kernel/suspend.c                         |    2 +-
 arch/s390/kernel/traps.c                           |    1 -
 arch/s390/kernel/vdso.c                            |    2 +-
 arch/s390/kvm/kvm-s390.c                           |    2 +-
 arch/s390/mm/fault.c                               |    2 +-
 arch/s390/mm/init.c                                |    2 +-
 arch/s390/mm/maccess.c                             |    2 +-
 arch/s390/mm/pgtable.c                             |    1 -
 arch/s390/oprofile/hwsampler.c                     |    1 +
 arch/score/include/asm/atomic.h                    |    1 +
 arch/score/include/asm/barrier.h                   |   16 +
 arch/score/include/asm/bitops.h                    |    1 -
 arch/score/include/asm/bug.h                       |   11 +
 arch/score/include/asm/cmpxchg.h                   |   49 ++
 arch/score/include/asm/exec.h                      |    6 +
 arch/score/include/asm/switch_to.h                 |   13 +
 arch/score/include/asm/system.h                    |   90 ----
 arch/sh/boards/mach-microdev/irq.c                 |    1 -
 arch/sh/include/asm/atomic-irq.h                   |    2 +
 arch/sh/include/asm/atomic.h                       |    2 +-
 arch/sh/include/asm/auxvec.h                       |    2 +
 arch/sh/include/asm/barrier.h                      |   54 ++
 arch/sh/include/asm/bitops.h                       |    1 -
 arch/sh/include/asm/bl_bit.h                       |   10 +
 arch/sh/include/asm/bl_bit_32.h                    |   33 ++
 arch/sh/include/asm/bl_bit_64.h                    |   40 ++
 arch/sh/include/asm/bug.h                          |    5 +
 arch/sh/include/asm/cache_insns.h                  |   11 +
 arch/sh/include/asm/cache_insns_32.h               |   21 +
 arch/sh/include/asm/cache_insns_64.h               |   23 +
 arch/sh/include/asm/cmpxchg-irq.h                  |    2 +
 arch/sh/include/asm/cmpxchg.h                      |   70 +++
 arch/sh/include/asm/exec.h                         |   10 +
 arch/sh/include/asm/futex-irq.h                    |    1 -
 arch/sh/include/asm/io.h                           |    1 -
 arch/sh/include/asm/processor.h                    |   15 +
 arch/sh/include/asm/ptrace.h                       |    1 -
 arch/sh/include/asm/setup.h                        |    1 +
 arch/sh/include/asm/switch_to.h                    |   19 +
 .../sh/include/asm/{system_32.h => switch_to_32.h} |  108 +----
 arch/sh/include/asm/switch_to_64.h                 |   35 ++
 arch/sh/include/asm/system.h                       |  184 -------
 arch/sh/include/asm/system_64.h                    |   79 ---
 arch/sh/include/asm/traps.h                        |   21 +
 arch/sh/include/asm/traps_32.h                     |   68 +++
 arch/sh/include/asm/traps_64.h                     |   24 +
 arch/sh/include/asm/uaccess.h                      |   14 +
 arch/sh/kernel/cpu/init.c                          |    2 +-
 arch/sh/kernel/cpu/irq/imask.c                     |    1 -
 arch/sh/kernel/cpu/sh2a/opcode_helper.c            |    1 -
 arch/sh/kernel/cpu/sh4/fpu.c                       |    1 -
 arch/sh/kernel/hw_breakpoint.c                     |    1 +
 arch/sh/kernel/idle.c                              |    2 +-
 arch/sh/kernel/io_trapped.c                        |    1 -
 arch/sh/kernel/process_32.c                        |    1 -
 arch/sh/kernel/process_64.c                        |    1 +
 arch/sh/kernel/ptrace_32.c                         |    1 -
 arch/sh/kernel/ptrace_64.c                         |    2 +-
 arch/sh/kernel/reboot.c                            |    2 +-
 arch/sh/kernel/signal_32.c                         |    1 -
 arch/sh/kernel/smp.c                               |    1 -
 arch/sh/kernel/traps.c                             |    2 +-
 arch/sh/kernel/traps_32.c                          |    3 +-
 arch/sh/kernel/traps_64.c                          |    1 -
 arch/sh/math-emu/math.c                            |    1 -
 arch/sh/mm/fault_32.c                              |    2 +-
 arch/sh/mm/fault_64.c                              |    1 -
 arch/sh/mm/flush-sh4.c                             |    1 +
 arch/sh/mm/pmb.c                                   |    1 -
 arch/sh/mm/tlb-pteaex.c                            |    1 -
 arch/sh/mm/tlb-sh3.c                               |    1 -
 arch/sh/mm/tlb-sh4.c                               |    1 -
 arch/sh/mm/tlbflush_64.c                           |    1 -
 arch/sparc/include/asm/atomic_32.h                 |    2 +-
 arch/sparc/include/asm/atomic_64.h                 |    3 +-
 arch/sparc/include/asm/auxio_32.h                  |    1 -
 arch/sparc/include/asm/barrier.h                   |    8 +
 arch/sparc/include/asm/barrier_32.h                |   15 +
 arch/sparc/include/asm/barrier_64.h                |   56 ++
 arch/sparc/include/asm/bug.h                       |    3 +
 arch/sparc/include/asm/cacheflush_32.h             |    9 +
 arch/sparc/include/asm/cacheflush_64.h             |   10 +
 arch/sparc/include/asm/cmpxchg.h                   |    8 +
 arch/sparc/include/asm/cmpxchg_32.h                |  112 ++++
 arch/sparc/include/asm/cmpxchg_64.h                |  145 +++++
 arch/sparc/include/asm/cpu_type.h                  |   34 ++
 arch/sparc/include/asm/exec.h                      |    6 +
 arch/sparc/include/asm/floppy_32.h                 |    1 -
 arch/sparc/include/asm/futex_64.h                  |    1 -
 arch/sparc/include/asm/io_32.h                     |    1 -
 arch/sparc/include/asm/io_64.h                     |    1 -
 arch/sparc/include/asm/irqflags_32.h               |    1 +
 arch/sparc/include/asm/mmu_context_64.h            |    1 -
 arch/sparc/include/asm/ns87303.h                   |    1 -
 arch/sparc/include/asm/perfctr.h                   |   23 +
 arch/sparc/include/asm/pgtable_32.h                |    2 +-
 arch/sparc/include/asm/pgtable_64.h                |    1 -
 arch/sparc/include/asm/processor.h                 |    3 +
 arch/sparc/include/asm/processor_64.h              |    3 +
 arch/sparc/include/asm/ptrace.h                    |    5 +-
 arch/sparc/include/asm/setup.h                     |   16 +
 arch/sparc/include/asm/switch_to.h                 |    8 +
 arch/sparc/include/asm/switch_to_32.h              |  106 ++++
 arch/sparc/include/asm/switch_to_64.h              |   72 +++
 arch/sparc/include/asm/system.h                    |    8 -
 arch/sparc/include/asm/system_32.h                 |  284 ----------
 arch/sparc/include/asm/system_64.h                 |  331 ------------
 arch/sparc/include/asm/timer_32.h                  |    3 +-
 arch/sparc/include/asm/uaccess_64.h                |    1 -
 arch/sparc/kernel/auxio_32.c                       |    1 +
 arch/sparc/kernel/devices.c                        |    2 +-
 arch/sparc/kernel/irq.h                            |    1 +
 arch/sparc/kernel/irq_64.c                         |    1 -
 arch/sparc/kernel/kgdb_32.c                        |    1 +
 arch/sparc/kernel/module.c                         |    1 +
 arch/sparc/kernel/muldiv.c                         |    1 -
 arch/sparc/kernel/nmi.c                            |    1 +
 arch/sparc/kernel/pcr.c                            |    1 +
 arch/sparc/kernel/perf_event.c                     |    2 +
 arch/sparc/kernel/process_32.c                     |    2 +-
 arch/sparc/kernel/process_64.c                     |    1 -
 arch/sparc/kernel/ptrace_32.c                      |    2 +-
 arch/sparc/kernel/ptrace_64.c                      |    1 -
 arch/sparc/kernel/reboot.c                         |    2 +-
 arch/sparc/kernel/setup_32.c                       |    2 +-
 arch/sparc/kernel/setup_64.c                       |    2 +-
 arch/sparc/kernel/signal32.c                       |    1 +
 arch/sparc/kernel/signal_32.c                      |    1 +
 arch/sparc/kernel/signal_64.c                      |    2 +
 arch/sparc/kernel/sigutil_32.c                     |    1 +
 arch/sparc/kernel/sigutil_64.c                     |    1 +
 arch/sparc/kernel/sparc_ksyms_64.c                 |    2 +-
 arch/sparc/kernel/time_32.c                        |    1 -
 arch/sparc/kernel/traps_32.c                       |    1 -
 arch/sparc/kernel/traps_64.c                       |    2 +-
 arch/sparc/kernel/unaligned_32.c                   |    1 -
 arch/sparc/kernel/unaligned_64.c                   |    2 +-
 arch/sparc/kernel/visemul.c                        |    2 +-
 arch/sparc/math-emu/math_64.c                      |    1 +
 arch/sparc/mm/btfixup.c                            |    1 -
 arch/sparc/mm/fault_32.c                           |    1 -
 arch/sparc/mm/init_32.c                            |    1 -
 arch/sparc/mm/init_64.c                            |    1 -
 arch/sparc/mm/init_64.h                            |    2 -
 arch/sparc/mm/loadmmu.c                            |    1 -
 arch/sparc/mm/tsb.c                                |    1 -
 arch/sparc/prom/console_32.c                       |    1 -
 arch/sparc/prom/console_64.c                       |    1 -
 arch/sparc/prom/misc_32.c                          |    1 -
 arch/sparc/prom/misc_64.c                          |    1 -
 arch/sparc/prom/p1275.c                            |    1 -
 arch/sparc/prom/ranges.c                           |    1 -
 arch/tile/include/asm/atomic.h                     |    2 +-
 arch/tile/include/asm/atomic_32.h                  |    1 +
 arch/tile/include/asm/atomic_64.h                  |    1 +
 arch/tile/include/asm/{system.h => barrier.h}      |  121 +----
 arch/tile/include/asm/bitops_32.h                  |    1 -
 arch/tile/include/asm/bitops_64.h                  |    1 -
 arch/tile/include/asm/cacheflush.h                 |   11 +-
 arch/tile/include/asm/exec.h                       |   20 +
 arch/tile/include/asm/pgtable.h                    |    1 -
 arch/tile/include/asm/setup.h                      |   22 +
 arch/tile/include/asm/spinlock_32.h                |    1 -
 arch/tile/include/asm/switch_to.h                  |   76 +++
 arch/tile/include/asm/timex.h                      |    2 +
 arch/tile/include/asm/unaligned.h                  |   15 +
 arch/tile/kernel/early_printk.c                    |    1 +
 arch/tile/kernel/proc.c                            |    1 +
 arch/tile/kernel/process.c                         |    3 +-
 arch/tile/kernel/regs_32.S                         |    2 +-
 arch/tile/kernel/regs_64.S                         |    2 +-
 arch/tile/kernel/single_step.c                     |    1 +
 arch/tile/kernel/traps.c                           |    1 +
 arch/tile/mm/elf.c                                 |    1 +
 arch/tile/mm/fault.c                               |    1 -
 arch/tile/mm/init.c                                |    1 -
 arch/tile/mm/pgtable.c                             |    1 -
 arch/um/include/asm/fixmap.h                       |    1 -
 arch/unicore32/include/asm/Kbuild                  |    1 -
 arch/unicore32/include/asm/barrier.h               |   28 +
 arch/unicore32/include/asm/bug.h                   |   27 +
 arch/unicore32/include/asm/cmpxchg.h               |   61 +++
 arch/unicore32/include/asm/exec.h                  |   15 +
 arch/unicore32/include/asm/hwdef-copro.h           |   48 ++
 arch/unicore32/include/asm/io.h                    |    1 -
 arch/unicore32/include/asm/switch_to.h             |   30 +
 arch/unicore32/include/asm/system.h                |  161 ------
 arch/unicore32/include/asm/uaccess.h               |    1 -
 arch/unicore32/kernel/dma.c                        |    1 -
 arch/unicore32/kernel/head.S                       |    2 +-
 arch/unicore32/kernel/hibernate.c                  |    1 -
 arch/unicore32/kernel/irq.c                        |    1 -
 arch/unicore32/kernel/ksyms.c                      |    1 -
 arch/unicore32/kernel/process.c                    |    1 -
 arch/unicore32/kernel/setup.h                      |    3 +
 arch/unicore32/kernel/traps.c                      |    1 -
 arch/unicore32/mm/alignment.c                      |    2 +
 arch/unicore32/mm/fault.c                          |    1 -
 arch/unicore32/mm/flush.c                          |    1 -
 arch/unicore32/mm/mm.h                             |    5 +
 arch/x86/ia32/ia32_aout.c                          |    1 -
 arch/x86/include/asm/apic.h                        |    1 -
 arch/x86/include/asm/auxvec.h                      |    7 +
 arch/x86/include/asm/barrier.h                     |  116 ++++
 arch/x86/include/asm/bug.h                         |    4 +
 arch/x86/include/asm/cacheflush.h                  |    1 +
 arch/x86/include/asm/elf.h                         |    1 -
 arch/x86/include/asm/exec.h                        |    1 +
 arch/x86/include/asm/futex.h                       |    1 -
 arch/x86/include/asm/i387.h                        |    1 +
 arch/x86/include/asm/local.h                       |    1 -
 arch/x86/include/asm/mc146818rtc.h                 |    1 -
 arch/x86/include/asm/page_types.h                  |    1 -
 arch/x86/include/asm/processor.h                   |   31 +-
 arch/x86/include/asm/segment.h                     |   58 ++-
 arch/x86/include/asm/special_insns.h               |  199 +++++++
 arch/x86/include/asm/stackprotector.h              |    1 -
 arch/x86/include/asm/switch_to.h                   |  129 +++++
 arch/x86/include/asm/system.h                      |  523 ------------------
 arch/x86/include/asm/tlbflush.h                    |    2 +-
 arch/x86/include/asm/virtext.h                     |    1 -
 arch/x86/kernel/acpi/cstate.c                      |    1 +
 arch/x86/kernel/apm_32.c                           |    1 -
 arch/x86/kernel/cpu/mcheck/p5.c                    |    1 -
 arch/x86/kernel/cpu/mcheck/therm_throt.c           |    1 -
 arch/x86/kernel/cpu/mcheck/winchip.c               |    1 -
 arch/x86/kernel/cpu/mtrr/generic.c                 |    1 -
 arch/x86/kernel/cpuid.c                            |    1 -
 arch/x86/kernel/i8259.c                            |    1 -
 arch/x86/kernel/irqinit.c                          |    1 -
 arch/x86/kernel/kgdb.c                             |    1 -
 arch/x86/kernel/ldt.c                              |    1 -
 arch/x86/kernel/machine_kexec_32.c                 |    1 -
 arch/x86/kernel/mca_32.c                           |    1 -
 arch/x86/kernel/module.c                           |    1 -
 arch/x86/kernel/msr.c                              |    1 -
 arch/x86/kernel/paravirt.c                         |    1 +
 arch/x86/kernel/pci-calgary_64.c                   |    1 -
 arch/x86/kernel/process.c                          |    1 -
 arch/x86/kernel/process_32.c                       |    2 +-
 arch/x86/kernel/process_64.c                       |    2 +-
 arch/x86/kernel/ptrace.c                           |    1 -
 arch/x86/kernel/setup.c                            |    1 -
 arch/x86/kernel/tce_64.c                           |    1 +
 arch/x86/kernel/tls.c                              |    1 -
 arch/x86/kernel/traps.c                            |    1 -
 arch/x86/mm/init.c                                 |    1 -
 arch/x86/mm/init_32.c                              |    1 -
 arch/x86/mm/init_64.c                              |    1 -
 arch/x86/mm/pgtable_32.c                           |    1 -
 arch/x86/power/hibernate_32.c                      |    1 -
 arch/xtensa/include/asm/atomic.h                   |    2 +-
 arch/xtensa/include/asm/barrier.h                  |   29 +
 arch/xtensa/include/asm/bitops.h                   |    1 -
 arch/xtensa/include/asm/{system.h => cmpxchg.h}    |   67 +---
 arch/xtensa/include/asm/exec.h                     |   14 +
 arch/xtensa/include/asm/setup.h                    |    2 +
 arch/xtensa/include/asm/switch_to.h                |   22 +
 arch/xtensa/include/asm/uaccess.h                  |    2 +
 arch/xtensa/kernel/process.c                       |    1 -
 arch/xtensa/kernel/ptrace.c                        |    1 -
 arch/xtensa/kernel/setup.c                         |    1 -
 arch/xtensa/kernel/traps.c                         |   19 +
 arch/xtensa/mm/fault.c                             |    1 -
 arch/xtensa/mm/tlb.c                               |    1 -
 drivers/acpi/processor_driver.c                    |    1 -
 drivers/atm/eni.c                                  |    1 -
 drivers/atm/firestream.c                           |    1 -
 drivers/atm/horizon.c                              |    1 -
 drivers/atm/idt77105.c                             |    1 -
 drivers/atm/iphase.c                               |    1 -
 drivers/atm/suni.c                                 |    1 -
 drivers/atm/zatm.c                                 |    1 -
 drivers/block/floppy.c                             |    1 -
 drivers/block/hd.c                                 |    1 -
 drivers/block/nbd.c                                |    1 -
 drivers/block/xd.c                                 |    1 -
 drivers/bluetooth/bt3c_cs.c                        |    1 -
 drivers/bluetooth/btuart_cs.c                      |    1 -
 drivers/bluetooth/dtl1_cs.c                        |    1 -
 drivers/char/apm-emulation.c                       |    1 -
 drivers/char/ds1302.c                              |    1 -
 drivers/char/efirtc.c                              |    1 -
 drivers/char/genrtc.c                              |    1 -
 drivers/char/hpet.c                                |    1 -
 drivers/char/ipmi/ipmi_devintf.c                   |    1 -
 drivers/char/ipmi/ipmi_msghandler.c                |    1 -
 drivers/char/ipmi/ipmi_si_intf.c                   |    1 -
 drivers/char/lp.c                                  |    1 -
 drivers/char/mbcs.c                                |    1 -
 drivers/char/mspec.c                               |    1 -
 drivers/char/mwave/3780i.c                         |    1 -
 drivers/char/nvram.c                               |    1 -
 drivers/char/nwflash.c                             |    1 -
 drivers/char/pcmcia/synclink_cs.c                  |    1 -
 drivers/char/rtc.c                                 |    1 -
 drivers/char/sonypi.c                              |    1 -
 drivers/char/xilinx_hwicap/xilinx_hwicap.c         |    1 -
 drivers/cpufreq/omap-cpufreq.c                     |    1 -
 drivers/cpufreq/powernow-k7.c                      |    1 -
 drivers/firewire/core-cdev.c                       |    1 -
 drivers/firewire/core-device.c                     |    1 -
 drivers/firewire/core-topology.c                   |    1 -
 drivers/firewire/ohci.c                            |    1 -
 drivers/firewire/sbp2.c                            |    1 -
 drivers/i2c/busses/i2c-acorn.c                     |    1 -
 drivers/ide/ide-cs.c                               |    1 -
 drivers/ide/qd65xx.c                               |    1 -
 drivers/infiniband/hw/ehca/ehca_reqs.c             |    1 -
 drivers/input/joydev.c                             |    1 -
 drivers/input/joystick/amijoy.c                    |    1 -
 drivers/input/mouse/amimouse.c                     |    1 -
 drivers/input/mouse/atarimouse.c                   |    1 -
 drivers/input/serio/hp_sdc.c                       |    1 -
 drivers/input/serio/maceps2.c                      |    1 -
 drivers/input/serio/rpckbd.c                       |    1 -
 drivers/input/serio/sa1111ps2.c                    |    1 -
 drivers/isdn/hardware/avm/avm_cs.c                 |    1 -
 drivers/isdn/hisax/avma1_cs.c                      |    1 -
 drivers/isdn/hisax/elsa_cs.c                       |    1 -
 drivers/isdn/hisax/sedlbauer_cs.c                  |    1 -
 drivers/isdn/hisax/teles_cs.c                      |    1 -
 drivers/isdn/i4l/isdn_bsdcomp.c                    |    1 -
 drivers/isdn/pcbit/layer2.c                        |    1 -
 drivers/macintosh/macio-adb.c                      |    1 -
 drivers/macintosh/therm_adt746x.c                  |    1 -
 drivers/macintosh/therm_pm72.c                     |    1 -
 drivers/macintosh/therm_windtunnel.c               |    1 -
 drivers/macintosh/via-cuda.c                       |    1 -
 drivers/macintosh/via-macii.c                      |    1 -
 drivers/macintosh/via-pmu.c                        |    1 -
 drivers/macintosh/via-pmu68k.c                     |    1 -
 drivers/macintosh/windfarm_lm75_sensor.c           |    1 -
 drivers/macintosh/windfarm_pm121.c                 |    1 -
 drivers/macintosh/windfarm_pm81.c                  |    1 -
 drivers/macintosh/windfarm_pm91.c                  |    1 -
 drivers/macintosh/windfarm_smu_controls.c          |    1 -
 drivers/macintosh/windfarm_smu_sensors.c           |    1 -
 drivers/media/dvb/dvb-core/dmxdev.c                |    1 -
 drivers/media/dvb/firewire/firedtv-fw.c            |    1 -
 drivers/media/dvb/ttpci/av7110.c                   |    1 -
 drivers/media/media-devnode.c                      |    1 -
 drivers/media/video/ivtv/ivtv-driver.h             |    1 -
 drivers/media/video/v4l2-common.c                  |    1 -
 drivers/media/video/v4l2-dev.c                     |    1 -
 drivers/message/i2o/i2o_scsi.c                     |    1 -
 drivers/mfd/mcp-core.c                             |    1 -
 drivers/mfd/mcp-sa11x0.c                           |    1 -
 drivers/misc/sgi-gru/gru_instructions.h            |    1 +
 drivers/misc/sgi-xp/xp.h                           |    1 -
 drivers/mmc/card/block.c                           |    1 -
 drivers/mtd/devices/pmc551.c                       |    1 -
 drivers/mtd/devices/slram.c                        |    1 -
 drivers/mtd/maps/pcmciamtd.c                       |    1 -
 drivers/mtd/nand/bcm_umi_nand.c                    |    1 -
 drivers/net/appletalk/cops.c                       |    1 -
 drivers/net/appletalk/ltpc.c                       |    1 -
 drivers/net/arcnet/com20020_cs.c                   |    1 -
 drivers/net/bonding/bond_main.c                    |    1 -
 drivers/net/can/slcan.c                            |    1 -
 drivers/net/cris/eth_v10.c                         |    1 -
 drivers/net/ethernet/3com/3c574_cs.c               |    1 -
 drivers/net/ethernet/3com/3c589_cs.c               |    1 -
 drivers/net/ethernet/8390/3c503.c                  |    1 -
 drivers/net/ethernet/8390/ac3200.c                 |    1 -
 drivers/net/ethernet/8390/apne.c                   |    1 -
 drivers/net/ethernet/8390/ax88796.c                |    1 -
 drivers/net/ethernet/8390/axnet_cs.c               |    1 -
 drivers/net/ethernet/8390/e2100.c                  |    1 -
 drivers/net/ethernet/8390/es3210.c                 |    1 -
 drivers/net/ethernet/8390/etherh.c                 |    2 +-
 drivers/net/ethernet/8390/hp-plus.c                |    1 -
 drivers/net/ethernet/8390/hp.c                     |    1 -
 drivers/net/ethernet/8390/lib8390.c                |    1 -
 drivers/net/ethernet/8390/lne390.c                 |    1 -
 drivers/net/ethernet/8390/mac8390.c                |    1 -
 drivers/net/ethernet/8390/ne-h8300.c               |    1 -
 drivers/net/ethernet/8390/ne.c                     |    1 -
 drivers/net/ethernet/8390/ne2.c                    |    1 -
 drivers/net/ethernet/8390/ne2k-pci.c               |    1 -
 drivers/net/ethernet/8390/ne3210.c                 |    1 -
 drivers/net/ethernet/8390/pcnet_cs.c               |    1 -
 drivers/net/ethernet/8390/smc-mca.c                |    1 -
 drivers/net/ethernet/8390/smc-ultra.c              |    1 -
 drivers/net/ethernet/8390/smc-ultra32.c            |    1 -
 drivers/net/ethernet/8390/stnic.c                  |    1 -
 drivers/net/ethernet/8390/wd.c                     |    1 -
 drivers/net/ethernet/8390/zorro8390.c              |    1 -
 drivers/net/ethernet/alteon/acenic.c               |    1 -
 drivers/net/ethernet/amd/7990.c                    |    1 -
 drivers/net/ethernet/amd/am79c961a.c               |    1 -
 drivers/net/ethernet/amd/amd8111e.c                |    1 -
 drivers/net/ethernet/amd/declance.c                |    1 -
 drivers/net/ethernet/amd/hplance.c                 |    1 -
 drivers/net/ethernet/amd/mvme147.c                 |    1 -
 drivers/net/ethernet/amd/nmclan_cs.c               |    1 -
 drivers/net/ethernet/amd/sunlance.c                |    1 -
 drivers/net/ethernet/broadcom/tg3.c                |    1 -
 drivers/net/ethernet/cirrus/cs89x0.c               |    1 -
 drivers/net/ethernet/cirrus/mac89x0.c              |    1 -
 drivers/net/ethernet/dlink/de600.c                 |    1 -
 drivers/net/ethernet/dlink/de620.c                 |    1 -
 drivers/net/ethernet/fujitsu/at1700.c              |    1 -
 drivers/net/ethernet/fujitsu/eth16i.c              |    1 -
 drivers/net/ethernet/fujitsu/fmvj18x_cs.c          |    1 -
 drivers/net/ethernet/i825xx/3c507.c                |    1 -
 drivers/net/ethernet/i825xx/3c527.c                |    1 -
 drivers/net/ethernet/i825xx/eepro.c                |    1 -
 drivers/net/ethernet/i825xx/eexpress.c             |    1 -
 drivers/net/ethernet/i825xx/ether1.c               |    1 -
 drivers/net/ethernet/i825xx/znet.c                 |    1 -
 drivers/net/ethernet/korina.c                      |    1 -
 drivers/net/ethernet/marvell/mv643xx_eth.c         |    1 -
 drivers/net/ethernet/marvell/pxa168_eth.c          |    1 -
 drivers/net/ethernet/natsemi/jazzsonic.c           |    1 -
 drivers/net/ethernet/natsemi/macsonic.c            |    1 -
 drivers/net/ethernet/natsemi/ns83820.c             |    1 -
 drivers/net/ethernet/neterion/s2io.c               |    1 -
 drivers/net/ethernet/nvidia/forcedeth.c            |    1 -
 drivers/net/ethernet/realtek/atp.c                 |    1 -
 drivers/net/ethernet/realtek/r8169.c               |    1 -
 drivers/net/ethernet/seeq/ether3.c                 |    1 -
 drivers/net/ethernet/seeq/seeq8005.c               |    1 -
 drivers/net/ethernet/smsc/smc91c92_cs.c            |    1 -
 drivers/net/ethernet/sun/cassini.c                 |    1 -
 drivers/net/ethernet/sun/sunbmac.c                 |    1 -
 drivers/net/ethernet/sun/sungem.c                  |    1 -
 drivers/net/ethernet/sun/sunhme.c                  |    1 -
 drivers/net/ethernet/sun/sunqe.c                   |    1 -
 drivers/net/ethernet/tundra/tsi108_eth.c           |    1 -
 drivers/net/ethernet/xircom/xirc2ps_cs.c           |    1 -
 drivers/net/hamradio/6pack.c                       |    1 -
 drivers/net/hamradio/baycom_par.c                  |    1 -
 drivers/net/hamradio/bpqether.c                    |    1 -
 drivers/net/hamradio/mkiss.c                       |    1 -
 drivers/net/hamradio/scc.c                         |    1 -
 drivers/net/hamradio/yam.c                         |    1 -
 drivers/net/hippi/rrunner.c                        |    1 -
 drivers/net/irda/donauboe.c                        |    1 -
 drivers/net/loopback.c                             |    1 -
 drivers/net/plip/plip.c                            |    1 -
 drivers/net/slip/slhc.c                            |    1 -
 drivers/net/slip/slip.c                            |    1 -
 drivers/net/tokenring/3c359.c                      |    1 -
 drivers/net/tokenring/abyss.c                      |    1 -
 drivers/net/tokenring/ibmtr_cs.c                   |    1 -
 drivers/net/tokenring/lanstreamer.c                |    1 -
 drivers/net/tokenring/madgemc.c                    |    1 -
 drivers/net/tokenring/olympic.c                    |    1 -
 drivers/net/tokenring/proteon.c                    |    1 -
 drivers/net/tokenring/skisa.c                      |    1 -
 drivers/net/tokenring/smctr.c                      |    1 -
 drivers/net/tokenring/tms380tr.c                   |    1 -
 drivers/net/tokenring/tmspci.c                     |    1 -
 drivers/net/tun.c                                  |    1 -
 drivers/net/wan/dlci.c                             |    1 -
 drivers/net/wan/dscc4.c                            |    1 -
 drivers/net/wan/hd64570.c                          |    1 -
 drivers/net/wan/hd64572.c                          |    1 -
 drivers/net/wan/lapbether.c                        |    1 -
 drivers/net/wan/sdla.c                             |    1 -
 drivers/net/wan/x25_asy.c                          |    1 -
 drivers/net/wireless/airo.c                        |    1 -
 drivers/net/wireless/airo_cs.c                     |    1 -
 drivers/net/wireless/atmel.c                       |    1 -
 drivers/net/wireless/atmel_cs.c                    |    1 -
 drivers/net/wireless/prism54/islpci_mgt.c          |    1 -
 drivers/net/wireless/ray_cs.c                      |    1 -
 drivers/net/wireless/wl3501_cs.c                   |    1 -
 drivers/nubus/nubus.c                              |    1 -
 drivers/parisc/dino.c                              |    1 -
 drivers/parisc/iosapic.c                           |    1 -
 drivers/parisc/lba_pci.c                           |    1 -
 drivers/pcmcia/cs.c                                |    1 -
 drivers/pcmcia/i82092.c                            |    1 -
 drivers/pcmcia/i82365.c                            |    1 -
 drivers/pcmcia/m32r_cfc.c                          |    1 -
 drivers/pcmcia/m32r_pcc.c                          |    1 -
 drivers/pcmcia/m8xx_pcmcia.c                       |    1 -
 drivers/pcmcia/pd6729.c                            |    1 -
 drivers/pcmcia/pxa2xx_base.c                       |    1 -
 drivers/pcmcia/sa11xx_base.c                       |    1 -
 drivers/pcmcia/soc_common.c                        |    1 -
 drivers/pcmcia/socket_sysfs.c                      |    1 -
 drivers/pcmcia/tcic.c                              |    1 -
 drivers/pcmcia/xxs1500_ss.c                        |    1 -
 drivers/pnp/pnpbios/bioscalls.c                    |    1 -
 drivers/pnp/pnpbios/core.c                         |    1 -
 drivers/s390/char/sclp_cmd.c                       |    1 +
 drivers/s390/cio/crw.c                             |    1 +
 drivers/s390/crypto/ap_bus.c                       |    2 +-
 drivers/sbus/char/flash.c                          |    1 -
 drivers/sbus/char/openprom.c                       |    1 -
 drivers/sbus/char/uctrl.c                          |    1 -
 drivers/scsi/53c700.c                              |    1 -
 drivers/scsi/BusLogic.c                            |    1 -
 drivers/scsi/advansys.c                            |    1 -
 drivers/scsi/aha152x.c                             |    1 -
 drivers/scsi/aha1542.c                             |    1 -
 drivers/scsi/aha1740.c                             |    1 -
 drivers/scsi/arcmsr/arcmsr_hba.c                   |    1 -
 drivers/scsi/arm/acornscsi.c                       |    1 -
 drivers/scsi/arm/cumana_1.c                        |    1 -
 drivers/scsi/arm/oak.c                             |    1 -
 drivers/scsi/atp870u.c                             |    1 -
 drivers/scsi/dtc.c                                 |    1 -
 drivers/scsi/fd_mcs.c                              |    1 -
 drivers/scsi/fdomain.c                             |    1 -
 drivers/scsi/g_NCR5380.c                           |    1 -
 drivers/scsi/gdth.c                                |    1 -
 drivers/scsi/ibmmca.c                              |    1 -
 drivers/scsi/in2000.c                              |    1 -
 drivers/scsi/mac53c94.c                            |    1 -
 drivers/scsi/mac_scsi.c                            |    1 -
 drivers/scsi/mesh.c                                |    1 -
 drivers/scsi/ncr53c8xx.c                           |    1 -
 drivers/scsi/nsp32.c                               |    1 -
 drivers/scsi/osst.c                                |    1 -
 drivers/scsi/pas16.c                               |    1 -
 drivers/scsi/qla1280.c                             |    1 -
 drivers/scsi/qlogicpti.c                           |    1 -
 drivers/scsi/st.c                                  |    1 -
 drivers/scsi/sun3_scsi.c                           |    1 -
 drivers/scsi/sun3_scsi_vme.c                       |    1 -
 drivers/scsi/sym53c416.c                           |    1 -
 drivers/scsi/t128.c                                |    1 -
 drivers/scsi/u14-34f.c                             |    1 -
 drivers/scsi/ultrastor.c                           |    1 -
 drivers/scsi/wd7000.c                              |    1 -
 drivers/spi/spi-omap-uwire.c                       |    1 -
 drivers/staging/comedi/drivers.c                   |    1 -
 drivers/staging/comedi/drivers/cb_pcidas64.c       |    1 -
 drivers/staging/comedi/drivers/mite.c              |    1 -
 drivers/staging/crystalhd/crystalhd_lnx.h          |    1 -
 drivers/staging/crystalhd/crystalhd_misc.h         |    1 -
 drivers/staging/et131x/et131x.c                    |    1 -
 drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c   |    1 -
 drivers/staging/media/go7007/go7007-driver.c       |    1 -
 drivers/staging/media/go7007/go7007-i2c.c          |    1 -
 drivers/staging/media/go7007/go7007-v4l2.c         |    1 -
 drivers/staging/media/go7007/snd-go7007.c          |    1 -
 drivers/staging/media/lirc/lirc_serial.c           |    1 -
 drivers/staging/media/lirc/lirc_sir.c              |    1 -
 drivers/staging/panel/panel.c                      |    1 -
 drivers/staging/sbe-2t3e3/io.c                     |    1 -
 .../tidspbridge/include/dspbridge/host_os.h        |    1 -
 drivers/staging/wlags49_h2/wl_cs.c                 |    1 -
 drivers/staging/wlags49_h2/wl_main.c               |    3 +-
 drivers/staging/wlags49_h2/wl_netdev.c             |    3 +-
 drivers/staging/wlags49_h2/wl_pci.c                |    1 -
 drivers/staging/wlags49_h2/wl_util.c               |    3 +-
 drivers/telephony/phonedev.c                       |    1 -
 drivers/tty/amiserial.c                            |    1 -
 drivers/tty/isicom.c                               |    1 -
 drivers/tty/moxa.c                                 |    1 -
 drivers/tty/mxser.c                                |    1 -
 drivers/tty/n_hdlc.c                               |    1 -
 drivers/tty/n_tty.c                                |    1 -
 drivers/tty/pty.c                                  |    1 -
 drivers/tty/serial/21285.c                         |    1 +
 drivers/tty/serial/68328serial.c                   |    1 -
 drivers/tty/serial/8250/serial_cs.c                |    1 -
 drivers/tty/serial/crisv10.c                       |    2 +-
 drivers/tty/serial/dz.c                            |    1 -
 drivers/tty/serial/icom.c                          |    1 -
 drivers/tty/serial/msm_serial_hs.c                 |    1 -
 drivers/tty/serial/sunhv.c                         |    1 +
 drivers/tty/serial/sunsab.c                        |    1 +
 drivers/tty/serial/sunsu.c                         |    1 +
 drivers/tty/serial/sunzilog.c                      |    1 +
 drivers/tty/serial/zs.c                            |    1 -
 drivers/tty/synclink.c                             |    1 -
 drivers/tty/synclink_gt.c                          |    1 -
 drivers/tty/synclinkmp.c                           |    1 -
 drivers/tty/tty_io.c                               |    1 -
 drivers/tty/tty_ioctl.c                            |    1 -
 drivers/tty/vt/vt.c                                |    1 -
 drivers/usb/gadget/amd5536udc.c                    |    1 -
 drivers/usb/gadget/at91_udc.c                      |    1 -
 drivers/usb/gadget/dummy_hcd.c                     |    1 -
 drivers/usb/gadget/fsl_udc_core.c                  |    1 -
 drivers/usb/gadget/goku_udc.c                      |    1 -
 drivers/usb/gadget/langwell_udc.c                  |    1 -
 drivers/usb/gadget/mv_udc_core.c                   |    1 -
 drivers/usb/gadget/net2272.c                       |    1 -
 drivers/usb/gadget/net2280.c                       |    1 -
 drivers/usb/gadget/omap_udc.c                      |    1 -
 drivers/usb/gadget/printer.c                       |    1 -
 drivers/usb/gadget/pxa25x_udc.c                    |    1 -
 drivers/usb/gadget/rndis.c                         |    1 -
 drivers/usb/gadget/s3c2410_udc.c                   |    1 -
 drivers/usb/host/ehci-hcd.c                        |    1 -
 drivers/usb/host/isp116x-hcd.c                     |    1 -
 drivers/usb/host/isp1362-hcd.c                     |    1 -
 drivers/usb/host/ohci-hcd.c                        |    1 -
 drivers/usb/host/oxu210hp-hcd.c                    |    1 -
 drivers/usb/host/sl811-hcd.c                       |    1 -
 drivers/usb/host/u132-hcd.c                        |    1 -
 drivers/usb/host/uhci-hcd.c                        |    1 -
 drivers/video/amifb.c                              |    1 -
 drivers/video/bt431.h                              |    1 -
 drivers/video/bt455.h                              |    1 -
 drivers/video/console/fbcon.c                      |    1 -
 drivers/video/console/newport_con.c                |    1 -
 drivers/video/cyber2000fb.c                        |    1 -
 drivers/video/dnfb.c                               |    1 -
 drivers/video/neofb.c                              |    1 -
 drivers/video/pmag-ba-fb.c                         |    1 -
 drivers/video/pmagb-b-fb.c                         |    1 -
 drivers/video/q40fb.c                              |    1 -
 drivers/video/savage/savagefb_driver.c             |    1 -
 drivers/virtio/config.c                            |    1 -
 drivers/watchdog/advantechwdt.c                    |    1 -
 drivers/watchdog/alim7101_wdt.c                    |    1 -
 drivers/watchdog/booke_wdt.c                       |    1 -
 drivers/watchdog/eurotechwdt.c                     |    1 -
 drivers/watchdog/ib700wdt.c                        |    1 -
 drivers/watchdog/it87_wdt.c                        |    1 -
 drivers/watchdog/machzwd.c                         |    1 -
 drivers/watchdog/pc87413_wdt.c                     |    1 -
 drivers/watchdog/sbc60xxwdt.c                      |    1 -
 drivers/watchdog/sbc7240_wdt.c                     |    1 -
 drivers/watchdog/sbc8360.c                         |    1 -
 drivers/watchdog/sbc_fitpc2_wdt.c                  |    1 -
 drivers/watchdog/sc520_wdt.c                       |    1 -
 drivers/watchdog/smsc37b787_wdt.c                  |    1 -
 drivers/watchdog/w83627hf_wdt.c                    |    1 -
 drivers/watchdog/w83697hf_wdt.c                    |    1 -
 drivers/watchdog/w83697ug_wdt.c                    |    1 -
 drivers/watchdog/w83877f_wdt.c                     |    1 -
 drivers/watchdog/w83977f_wdt.c                     |    1 -
 drivers/watchdog/wdt.c                             |    1 -
 drivers/watchdog/wdt285.c                          |    1 +
 drivers/watchdog/wdt977.c                          |    1 -
 drivers/watchdog/wdt_pci.c                         |    1 -
 fs/binfmt_aout.c                                   |    1 -
 fs/binfmt_elf.c                                    |    1 +
 fs/binfmt_elf_fdpic.c                              |    1 +
 fs/binfmt_flat.c                                   |    1 -
 fs/coda/inode.c                                    |    1 -
 fs/coda/psdev.c                                    |    1 -
 fs/coda/upcall.c                                   |    1 -
 fs/eventpoll.c                                     |    1 -
 fs/exec.c                                          |    1 +
 fs/jbd2/commit.c                                   |    1 -
 fs/jbd2/journal.c                                  |    1 -
 fs/ncpfs/file.c                                    |    1 -
 fs/ncpfs/inode.c                                   |    1 -
 fs/ncpfs/mmap.c                                    |    1 -
 fs/nfs/client.c                                    |    1 -
 fs/nfs/direct.c                                    |    1 -
 fs/nfs/file.c                                      |    1 -
 fs/nfs/getroot.c                                   |    1 -
 fs/nfs/inode.c                                     |    1 -
 fs/nfs/read.c                                      |    1 -
 fs/nfs/super.c                                     |    1 -
 fs/proc/inode.c                                    |    1 -
 fs/reiserfs/journal.c                              |    1 -
 fs/ufs/inode.c                                     |    1 -
 fs/ufs/super.c                                     |    1 -
 fs/xfs/xfs_buf.h                                   |    1 -
 include/acpi/platform/aclinux.h                    |    1 -
 include/asm-generic/atomic.h                       |    3 +-
 include/asm-generic/barrier.h                      |   50 ++
 include/asm-generic/bitops/atomic.h                |    2 +-
 include/asm-generic/cmpxchg.h                      |   87 +++-
 include/asm-generic/exec.h                         |   19 +
 include/asm-generic/switch_to.h                    |   30 +
 include/asm-generic/system.h                       |  141 -----
 include/linux/cnt32_to_63.h                        |    1 -
 include/linux/debug_locks.h                        |    1 -
 include/linux/efi.h                                |    1 -
 include/linux/ide.h                                |    1 -
 include/linux/interrupt.h                          |    1 -
 include/linux/llist.h                              |    3 +-
 include/linux/lsm_audit.h                          |    1 -
 include/linux/mm.h                                 |    2 +
 include/linux/mtd/map.h                            |    2 +-
 include/linux/parport.h                            |    1 -
 include/linux/rwsem.h                              |    1 -
 include/linux/sched.h                              |    1 -
 include/linux/skbuff.h                             |    1 -
 include/linux/spinlock.h                           |    2 +-
 include/linux/stop_machine.h                       |    1 -
 include/linux/tty.h                                |    1 -
 include/linux/wait.h                               |    1 -
 include/xen/xen-ops.h                              |    1 +
 init/main.c                                        |    1 -
 kernel/debug/debug_core.c                          |    1 -
 kernel/debug/kdb/kdb_bt.c                          |    1 -
 kernel/dma.c                                       |    1 -
 kernel/kexec.c                                     |    1 -
 kernel/rwsem.c                                     |    1 -
 kernel/sched/core.c                                |    1 +
 kernel/signal.c                                    |    1 +
 kernel/sysctl.c                                    |    4 +-
 lib/llist.c                                        |    1 -
 lib/raid6/altivec.uc                               |    1 -
 net/802/fc.c                                       |    1 -
 net/802/fddi.c                                     |    1 -
 net/802/hippi.c                                    |    1 -
 net/802/tr.c                                       |    1 -
 net/atm/clip.c                                     |    1 -
 net/ax25/af_ax25.c                                 |    1 -
 net/ax25/ax25_addr.c                               |    1 -
 net/ax25/ax25_dev.c                                |    1 -
 net/ax25/ax25_ds_in.c                              |    1 -
 net/ax25/ax25_ds_subr.c                            |    1 -
 net/ax25/ax25_ds_timer.c                           |    1 -
 net/ax25/ax25_iface.c                              |    1 -
 net/ax25/ax25_in.c                                 |    1 -
 net/ax25/ax25_ip.c                                 |    1 -
 net/ax25/ax25_out.c                                |    1 -
 net/ax25/ax25_route.c                              |    1 -
 net/ax25/ax25_std_in.c                             |    1 -
 net/ax25/ax25_std_subr.c                           |    1 -
 net/ax25/ax25_std_timer.c                          |    1 -
 net/ax25/ax25_subr.c                               |    1 -
 net/ax25/ax25_timer.c                              |    1 -
 net/ax25/ax25_uid.c                                |    1 -
 net/bluetooth/bnep/sock.c                          |    1 -
 net/bluetooth/cmtp/sock.c                          |    1 -
 net/bluetooth/hci_conn.c                           |    1 -
 net/bluetooth/hci_core.c                           |    1 -
 net/bluetooth/hci_event.c                          |    1 -
 net/bluetooth/hci_sock.c                           |    1 -
 net/bluetooth/l2cap_core.c                         |    1 -
 net/bluetooth/rfcomm/sock.c                        |    1 -
 net/bluetooth/sco.c                                |    1 -
 net/core/datagram.c                                |    1 -
 net/core/dev.c                                     |    1 -
 net/core/filter.c                                  |    1 -
 net/core/gen_estimator.c                           |    1 -
 net/core/rtnetlink.c                               |    1 -
 net/core/scm.c                                     |    1 -
 net/core/skbuff.c                                  |    1 -
 net/core/sock.c                                    |    1 -
 net/core/utils.c                                   |    1 -
 net/decnet/af_decnet.c                             |    1 -
 net/decnet/dn_dev.c                                |    1 -
 net/decnet/dn_nsp_in.c                             |    1 -
 net/decnet/dn_nsp_out.c                            |    1 -
 net/econet/af_econet.c                             |    1 -
 net/ethernet/eth.c                                 |    1 -
 net/ipv4/af_inet.c                                 |    1 -
 net/ipv4/arp.c                                     |    1 -
 net/ipv4/devinet.c                                 |    1 -
 net/ipv4/fib_frontend.c                            |    1 -
 net/ipv4/fib_semantics.c                           |    1 -
 net/ipv4/fib_trie.c                                |    1 -
 net/ipv4/icmp.c                                    |    1 -
 net/ipv4/igmp.c                                    |    1 -
 net/ipv4/ip_input.c                                |    1 -
 net/ipv4/ip_output.c                               |    1 -
 net/ipv4/ipmr.c                                    |    1 -
 net/ipv4/ping.c                                    |    1 -
 net/ipv4/route.c                                   |    1 -
 net/ipv4/udp.c                                     |    1 -
 net/ipv6/af_inet6.c                                |    1 -
 net/ipv6/icmp.c                                    |    1 -
 net/ipv6/ip6mr.c                                   |    1 -
 net/irda/irlan/irlan_client.c                      |    1 -
 net/irda/irlan/irlan_common.c                      |    1 -
 net/irda/irlan/irlan_provider.c                    |    1 -
 net/irda/timer.c                                   |    1 -
 net/lapb/lapb_iface.c                              |    1 -
 net/lapb/lapb_in.c                                 |    1 -
 net/lapb/lapb_out.c                                |    1 -
 net/lapb/lapb_subr.c                               |    1 -
 net/lapb/lapb_timer.c                              |    1 -
 net/netfilter/ipvs/ip_vs_app.c                     |    1 -
 net/netfilter/ipvs/ip_vs_proto.c                   |    1 -
 net/netfilter/nfnetlink.c                          |    1 -
 net/netrom/af_netrom.c                             |    1 -
 net/netrom/nr_dev.c                                |    1 -
 net/netrom/nr_in.c                                 |    1 -
 net/netrom/nr_out.c                                |    1 -
 net/netrom/nr_route.c                              |    1 -
 net/netrom/nr_subr.c                               |    1 -
 net/netrom/nr_timer.c                              |    1 -
 net/openvswitch/datapath.c                         |    1 -
 net/packet/af_packet.c                             |    1 -
 net/rose/af_rose.c                                 |    1 -
 net/rose/rose_dev.c                                |    1 -
 net/rose/rose_in.c                                 |    1 -
 net/rose/rose_link.c                               |    1 -
 net/rose/rose_out.c                                |    1 -
 net/rose/rose_route.c                              |    1 -
 net/rose/rose_subr.c                               |    1 -
 net/rose/rose_timer.c                              |    1 -
 net/sunrpc/clnt.c                                  |    1 -
 security/selinux/include/avc.h                     |    1 -
 sound/oss/os.h                                     |    1 -
 sound/oss/vidc.c                                   |    1 -
 sound/oss/waveartist.c                             |    1 -
 sound/pci/asihpi/hpios.h                           |    1 -
 sound/pci/aw2/aw2-saa7146.c                        |    1 -
 1612 files changed, 6971 insertions(+), 7077 deletions(-)
 create mode 100644 arch/alpha/include/asm/exec.h
 create mode 100644 arch/alpha/include/asm/mce.h
 create mode 100644 arch/alpha/include/asm/special_insns.h
 create mode 100644 arch/alpha/include/asm/switch_to.h
 delete mode 100644 arch/alpha/include/asm/system.h
 create mode 100644 arch/arm/include/asm/barrier.h
 create mode 100644 arch/arm/include/asm/cmpxchg.h
 create mode 100644 arch/arm/include/asm/compiler.h
 create mode 100644 arch/arm/include/asm/cp15.h
 create mode 100644 arch/arm/include/asm/exec.h
 create mode 100644 arch/arm/include/asm/switch_to.h
 create mode 100644 arch/arm/include/asm/system_info.h
 create mode 100644 arch/arm/include/asm/system_misc.h
 create mode 100644 arch/avr32/include/asm/barrier.h
 rename arch/avr32/include/asm/{system.h => cmpxchg.h} (57%)
 create mode 100644 arch/avr32/include/asm/exec.h
 create mode 100644 arch/avr32/include/asm/special_insns.h
 create mode 100644 arch/avr32/include/asm/switch_to.h
 create mode 100644 arch/blackfin/include/asm/barrier.h
 rename arch/blackfin/include/asm/{system.h => cmpxchg.h} (60%)
 create mode 100644 arch/blackfin/include/asm/exec.h
 create mode 100644 arch/blackfin/include/asm/switch_to.h
 create mode 100644 arch/c6x/include/asm/barrier.h
 create mode 100644 arch/c6x/include/asm/bug.h
 create mode 100644 arch/c6x/include/asm/cmpxchg.h
 create mode 100644 arch/c6x/include/asm/exec.h
 create mode 100644 arch/c6x/include/asm/special_insns.h
 create mode 100644 arch/c6x/include/asm/switch_to.h
 delete mode 100644 arch/c6x/include/asm/system.h
 create mode 100644 arch/cris/include/asm/barrier.h
 rename arch/cris/include/asm/{system.h => cmpxchg.h} (52%)
 create mode 100644 arch/cris/include/asm/exec.h
 create mode 100644 arch/cris/include/asm/switch_to.h
 create mode 100644 arch/frv/include/asm/barrier.h
 rename arch/frv/include/asm/{system.h => cmpxchg.h} (66%)
 create mode 100644 arch/frv/include/asm/exec.h
 create mode 100644 arch/frv/include/asm/switch_to.h
 create mode 100644 arch/h8300/include/asm/barrier.h
 create mode 100644 arch/h8300/include/asm/cmpxchg.h
 create mode 100644 arch/h8300/include/asm/exec.h
 create mode 100644 arch/h8300/include/asm/switch_to.h
 delete mode 100644 arch/h8300/include/asm/system.h
 create mode 100644 arch/hexagon/include/asm/barrier.h
 rename arch/hexagon/include/asm/{system.h => cmpxchg.h} (68%)
 create mode 100644 arch/hexagon/include/asm/exec.h
 create mode 100644 arch/hexagon/include/asm/switch_to.h
 create mode 100644 arch/ia64/include/asm/barrier.h
 create mode 100644 arch/ia64/include/asm/exec.h
 create mode 100644 arch/ia64/include/asm/switch_to.h
 delete mode 100644 arch/ia64/include/asm/system.h
 create mode 100644 arch/m32r/include/asm/barrier.h
 create mode 100644 arch/m32r/include/asm/cmpxchg.h
 create mode 100644 arch/m32r/include/asm/dcache_clear.h
 create mode 100644 arch/m32r/include/asm/exec.h
 create mode 100644 arch/m32r/include/asm/switch_to.h
 delete mode 100644 arch/m32r/include/asm/system.h
 create mode 100644 arch/m68k/include/asm/barrier.h
 rename arch/m68k/include/asm/{system.h => cmpxchg.h} (56%)
 create mode 100644 arch/m68k/include/asm/exec.h
 create mode 100644 arch/m68k/include/asm/switch_to.h
 create mode 100644 arch/microblaze/include/asm/barrier.h
 create mode 100644 arch/microblaze/include/asm/cmpxchg.h
 create mode 100644 arch/microblaze/include/asm/exec.h
 create mode 100644 arch/microblaze/include/asm/switch_to.h
 delete mode 100644 arch/microblaze/include/asm/system.h
 create mode 100644 arch/mips/include/asm/exec.h
 create mode 100644 arch/mips/include/asm/switch_to.h
 delete mode 100644 arch/mips/include/asm/system.h
 create mode 100644 arch/mn10300/include/asm/barrier.h
 create mode 100644 arch/mn10300/include/asm/cmpxchg.h
 create mode 100644 arch/mn10300/include/asm/exec.h
 create mode 100644 arch/mn10300/include/asm/switch_to.h
 delete mode 100644 arch/mn10300/include/asm/system.h
 delete mode 100644 arch/openrisc/include/asm/system.h
 create mode 100644 arch/parisc/include/asm/barrier.h
 create mode 100644 arch/parisc/include/asm/exec.h
 create mode 100644 arch/parisc/include/asm/ldcw.h
 create mode 100644 arch/parisc/include/asm/special_insns.h
 create mode 100644 arch/parisc/include/asm/switch_to.h
 delete mode 100644 arch/parisc/include/asm/system.h
 create mode 100644 arch/powerpc/include/asm/barrier.h
 create mode 100644 arch/powerpc/include/asm/cmpxchg.h
 create mode 100644 arch/powerpc/include/asm/debug.h
 create mode 100644 arch/powerpc/include/asm/exec.h
 create mode 100644 arch/powerpc/include/asm/switch_to.h
 delete mode 100644 arch/powerpc/include/asm/system.h
 create mode 100644 arch/s390/include/asm/barrier.h
 create mode 100644 arch/s390/include/asm/ctl_reg.h
 create mode 100644 arch/s390/include/asm/exec.h
 create mode 100644 arch/s390/include/asm/facility.h
 create mode 100644 arch/s390/include/asm/switch_to.h
 delete mode 100644 arch/s390/include/asm/system.h
 create mode 100644 arch/score/include/asm/barrier.h
 create mode 100644 arch/score/include/asm/cmpxchg.h
 create mode 100644 arch/score/include/asm/exec.h
 create mode 100644 arch/score/include/asm/switch_to.h
 delete mode 100644 arch/score/include/asm/system.h
 create mode 100644 arch/sh/include/asm/barrier.h
 create mode 100644 arch/sh/include/asm/bl_bit.h
 create mode 100644 arch/sh/include/asm/bl_bit_32.h
 create mode 100644 arch/sh/include/asm/bl_bit_64.h
 create mode 100644 arch/sh/include/asm/cache_insns.h
 create mode 100644 arch/sh/include/asm/cache_insns_32.h
 create mode 100644 arch/sh/include/asm/cache_insns_64.h
 create mode 100644 arch/sh/include/asm/cmpxchg.h
 create mode 100644 arch/sh/include/asm/exec.h
 create mode 100644 arch/sh/include/asm/switch_to.h
 rename arch/sh/include/asm/{system_32.h => switch_to_32.h} (58%)
 create mode 100644 arch/sh/include/asm/switch_to_64.h
 delete mode 100644 arch/sh/include/asm/system.h
 delete mode 100644 arch/sh/include/asm/system_64.h
 create mode 100644 arch/sh/include/asm/traps.h
 create mode 100644 arch/sh/include/asm/traps_32.h
 create mode 100644 arch/sh/include/asm/traps_64.h
 create mode 100644 arch/sparc/include/asm/barrier.h
 create mode 100644 arch/sparc/include/asm/barrier_32.h
 create mode 100644 arch/sparc/include/asm/barrier_64.h
 create mode 100644 arch/sparc/include/asm/cmpxchg.h
 create mode 100644 arch/sparc/include/asm/cmpxchg_32.h
 create mode 100644 arch/sparc/include/asm/cmpxchg_64.h
 create mode 100644 arch/sparc/include/asm/cpu_type.h
 create mode 100644 arch/sparc/include/asm/exec.h
 create mode 100644 arch/sparc/include/asm/switch_to.h
 create mode 100644 arch/sparc/include/asm/switch_to_32.h
 create mode 100644 arch/sparc/include/asm/switch_to_64.h
 delete mode 100644 arch/sparc/include/asm/system.h
 delete mode 100644 arch/sparc/include/asm/system_32.h
 delete mode 100644 arch/sparc/include/asm/system_64.h
 rename arch/tile/include/asm/{system.h => barrier.h} (51%)
 create mode 100644 arch/tile/include/asm/exec.h
 create mode 100644 arch/tile/include/asm/switch_to.h
 create mode 100644 arch/unicore32/include/asm/barrier.h
 create mode 100644 arch/unicore32/include/asm/bug.h
 create mode 100644 arch/unicore32/include/asm/cmpxchg.h
 create mode 100644 arch/unicore32/include/asm/exec.h
 create mode 100644 arch/unicore32/include/asm/hwdef-copro.h
 create mode 100644 arch/unicore32/include/asm/switch_to.h
 delete mode 100644 arch/unicore32/include/asm/system.h
 create mode 100644 arch/x86/include/asm/barrier.h
 create mode 100644 arch/x86/include/asm/exec.h
 create mode 100644 arch/x86/include/asm/special_insns.h
 create mode 100644 arch/x86/include/asm/switch_to.h
 delete mode 100644 arch/x86/include/asm/system.h
 create mode 100644 arch/xtensa/include/asm/barrier.h
 rename arch/xtensa/include/asm/{system.h => cmpxchg.h} (70%)
 create mode 100644 arch/xtensa/include/asm/exec.h
 create mode 100644 arch/xtensa/include/asm/switch_to.h
 create mode 100644 include/asm-generic/barrier.h
 create mode 100644 include/asm-generic/exec.h
 create mode 100644 include/asm-generic/switch_to.h
 delete mode 100644 include/asm-generic/system.h

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-21 17:14 [GIT PULL] Disintegrate and kill asm/system.h David Howells
@ 2012-03-21 23:06 ` Paul Gortmaker
  0 siblings, 0 replies; 25+ messages in thread
From: Paul Gortmaker @ 2012-03-21 23:06 UTC (permalink / raw)
  To: David Howells; +Cc: torvalds, linux-arch, linux-kernel, Arnd Bergmann

On 12-03-21 01:14 PM, David Howells wrote:
> 
> Hi Linus,
> 
> Here are a bunch of patches to disintegrate asm/system.h into a set of separate
> bits to relieve the problem of circular inclusion dependencies.
> 
> The following changes since commit c16fa4f2ad19908a47c63d8fa436a1178438c7e7:
> 
>   Linux 3.3 (2012-03-18 16:15:34 -0700)
> 
> are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system.git split-asm-system_h
> 
> A signed tag is here:
> 
> 	http://git.kernel.org/?p=linux/kernel/git/dhowells/linux-asm_system.git;a=tag;h=refs/tags/split-asm_system_h-for-linus
> 
> Can you apply this after pulling the arch trees please?  Note that some of the
> arch-specific patches may well come to you via their arch trees before you
> apply this patch series.  There's also a chance that the penultimate patch
> won't apply by the time you get to it - it's a one-line script to simply remove
> all #inclusions of asm/system.h.
> 
> Nearly all arches have had at least the defconfig built, either by myself or
> by the arch owner.  I've also built all the working ARM defconfigs and made
> sure that they don't break.

For what it is worth, I'd think linux-next would be good value in
terms of finding any lingering regressions, in some of the other
defconfigs, but in the end that is just my $0.02.

Paul.

> 
> The reason for these patches is that I recently encountered a circular
> dependency problem that came about when I produced some patches to optimise
> get_order() by rewriting it to use ilog2().  This uses bitops - and on the SH
> arch asm/bitops.h drags in asm-generic/get_order.h by a circuituous route
> involving asm/system.h.
> 
> The main difficulty seems to be asm/system.h.  It holds a number of low level
> bits with no/few dependencies that are commonly used (eg. memory barriers) and
> a number of bits with more dependencies that aren't used in many places
> (eg. switch_to()).
> 
> These patches break asm/system.h up into the following core pieces:
> 
>      (1) asm/barrier.h
> 
>          Move memory barriers here.  This already done for MIPS and Alpha.
> 
>      (2) asm/switch_to.h
> 
>          Move switch_to() and related stuff here.
> 
>      (3) asm/exec.h
> 
>          Move arch_align_stack() here.  Other process execution related bits
>          could perhaps go here from asm/processor.h.
> 
>      (4) asm/cmpxchg.h
> 
>          Move xchg() and cmpxchg() here as they're full word atomic ops and
>          frequently used by atomic_xchg() and atomic_cmpxchg().
> 
>      (5) asm/bug.h
> 
>          Move die() and related bits.
> 
>      (6) asm/auxvec.h
> 
>          Move AT_VECTOR_SIZE_ARCH here.
> 
> Other arch headers are created as needed on a per-arch basis.
> 
> ---
> David Howells (36):
>       ARM: Fix missing linux/types.h #inclusion in asm/hardware/iop3xx.h
>       Disintegrate asm/system.h for X86
>       Disintegrate asm/system.h for Alpha
>       Disintegrate asm/system.h for ARM
>       Disintegrate asm/system.h for AVR32
>       Disintegrate asm/system.h for Blackfin
>       Disintegrate asm/system.h for C6X
>       Disintegrate asm/system.h for CRIS
>       Disintegrate asm/system.h for FRV
>       Disintegrate asm/system.h for H8300
>       Disintegrate asm/system.h for Hexagon
>       Disintegrate asm/system.h for IA64
>       Disintegrate asm/system.h for M32R
>       m68k: Fix xchg/cmpxchg to fail to link if given an inappropriate pointer
>       Disintegrate asm/system.h for M68K
>       Disintegrate asm/system.h for Microblaze
>       Disintegrate asm/system.h for MIPS
>       Disintegrate asm/system.h for MN10300
>       Disintegrate asm/system.h for PA-RISC
>       Disintegrate asm/system.h for PowerPC
>       Disintegrate asm/system.h for S390
>       Disintegrate asm/system.h for Score
>       Disintegrate asm/system.h for SH
>       Disintegrate asm/system.h for Sparc
>       Disintegrate asm/system.h for Tile
>       Disintegrate asm/system.h for Xtensa
>       Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h
>       Create asm-generic/barrier.h
>       Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h
>       Split the switch_to() wrapper out of asm-generic/system.h
>       Split arch_align_stack() out from asm-generic/system.h
>       Disintegrate asm/system.h for OpenRISC
>       Move all declarations of free_initmem() to linux/mm.h
>       Add #includes needed to permit the removal of asm/system.h
>       Remove all #inclusions of asm/system.h
>       Delete all instances of asm/system.h
> 
> Guan Xuetao (1):
>       Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]
> 
> Russell King (1):
>       ARM: move CP15 definitions to separate header file
> 
>  arch/alpha/boot/bootp.c                            |    1 -
>  arch/alpha/boot/bootpz.c                           |    1 -
>  arch/alpha/boot/head.S                             |    1 -
>  arch/alpha/boot/main.c                             |    1 -
>  arch/alpha/include/asm/atomic.h                    |   68 +++-
>  arch/alpha/include/asm/auxvec.h                    |    2 +
>  arch/alpha/include/asm/core_lca.h                  |    2 +-
>  arch/alpha/include/asm/core_mcpcia.h               |    1 +
>  arch/alpha/include/asm/core_t2.h                   |    1 -
>  arch/alpha/include/asm/elf.h                       |    1 +
>  arch/alpha/include/asm/exec.h                      |    6 +
>  arch/alpha/include/asm/fpu.h                       |    2 +
>  arch/alpha/include/asm/io.h                        |    1 -
>  arch/alpha/include/asm/irqflags.h                  |    2 +-
>  arch/alpha/include/asm/mce.h                       |   83 +++
>  arch/alpha/include/asm/mmu_context.h               |    1 -
>  arch/alpha/include/asm/pal.h                       |  112 ++++
>  arch/alpha/include/asm/pgtable.h                   |    1 +
>  arch/alpha/include/asm/setup.h                     |   36 ++
>  arch/alpha/include/asm/special_insns.h             |   41 ++
>  arch/alpha/include/asm/spinlock.h                  |    1 -
>  arch/alpha/include/asm/switch_to.h                 |   14 +
>  arch/alpha/include/asm/system.h                    |  354 -------------
>  arch/alpha/include/asm/xchg.h                      |    2 +-
>  arch/alpha/kernel/core_apecs.c                     |    1 +
>  arch/alpha/kernel/core_cia.c                       |    1 +
>  arch/alpha/kernel/core_t2.c                        |    1 +
>  arch/alpha/kernel/err_impl.h                       |    2 +
>  arch/alpha/kernel/head.S                           |    6 +-
>  arch/alpha/kernel/irq.c                            |    1 -
>  arch/alpha/kernel/irq_alpha.c                      |    1 +
>  arch/alpha/kernel/osf_sys.c                        |    1 -
>  arch/alpha/kernel/process.c                        |    1 -
>  arch/alpha/kernel/ptrace.c                         |    1 -
>  arch/alpha/kernel/setup.c                          |    1 -
>  arch/alpha/kernel/sys_alcor.c                      |    1 -
>  arch/alpha/kernel/sys_cabriolet.c                  |    1 -
>  arch/alpha/kernel/sys_dp264.c                      |    1 -
>  arch/alpha/kernel/sys_eb64p.c                      |    1 -
>  arch/alpha/kernel/sys_eiger.c                      |    1 -
>  arch/alpha/kernel/sys_jensen.c                     |    1 -
>  arch/alpha/kernel/sys_marvel.c                     |    1 -
>  arch/alpha/kernel/sys_miata.c                      |    1 -
>  arch/alpha/kernel/sys_mikasa.c                     |    2 +-
>  arch/alpha/kernel/sys_nautilus.c                   |    1 -
>  arch/alpha/kernel/sys_noritake.c                   |    2 +-
>  arch/alpha/kernel/sys_rawhide.c                    |    1 -
>  arch/alpha/kernel/sys_ruffian.c                    |    1 -
>  arch/alpha/kernel/sys_rx164.c                      |    1 -
>  arch/alpha/kernel/sys_sable.c                      |    1 -
>  arch/alpha/kernel/sys_sio.c                        |    1 -
>  arch/alpha/kernel/sys_sx164.c                      |    2 +-
>  arch/alpha/kernel/sys_takara.c                     |    1 -
>  arch/alpha/kernel/sys_titan.c                      |    1 -
>  arch/alpha/kernel/sys_wildfire.c                   |    1 -
>  arch/alpha/kernel/traps.c                          |    1 +
>  arch/alpha/kernel/vmlinux.lds.S                    |    2 +
>  arch/alpha/lib/stacktrace.c                        |    1 -
>  arch/alpha/mm/fault.c                              |    1 -
>  arch/alpha/mm/init.c                               |    2 +-
>  arch/alpha/oprofile/common.c                       |    1 -
>  arch/alpha/oprofile/op_model_ev4.c                 |    1 -
>  arch/alpha/oprofile/op_model_ev5.c                 |    1 -
>  arch/alpha/oprofile/op_model_ev6.c                 |    1 -
>  arch/alpha/oprofile/op_model_ev67.c                |    1 -
>  arch/arm/common/via82c505.c                        |    1 -
>  arch/arm/include/asm/atomic.h                      |    4 +-
>  arch/arm/include/asm/barrier.h                     |   69 +++
>  arch/arm/include/asm/bitops.h                      |    2 +-
>  arch/arm/include/asm/bug.h                         |   30 +
>  arch/arm/include/asm/cmpxchg.h                     |  295 +++++++++++
>  arch/arm/include/asm/compiler.h                    |   15 +
>  arch/arm/include/asm/cp15.h                        |   87 +++
>  arch/arm/include/asm/div64.h                       |    2 +-
>  arch/arm/include/asm/dma.h                         |    1 -
>  arch/arm/include/asm/domain.h                      |    4 +
>  arch/arm/include/asm/exec.h                        |    6 +
>  arch/arm/include/asm/hardware/iop3xx.h             |    3 +
>  arch/arm/include/asm/io.h                          |    2 +-
>  arch/arm/include/asm/mmu.h                         |    7 +
>  arch/arm/include/asm/processor.h                   |    3 +-
>  arch/arm/include/asm/switch_to.h                   |   18 +
>  arch/arm/include/asm/system.h                      |  551 +-------------------
>  arch/arm/include/asm/system_info.h                 |   27 +
>  arch/arm/include/asm/system_misc.h                 |   28 +
>  arch/arm/include/asm/uaccess.h                     |    2 +-
>  arch/arm/kernel/armksyms.c                         |    1 -
>  arch/arm/kernel/elf.c                              |    1 +
>  arch/arm/kernel/entry-armv.S                       |    2 +-
>  arch/arm/kernel/fiq.c                              |    2 +-
>  arch/arm/kernel/head-nommu.S                       |    2 +-
>  arch/arm/kernel/head.S                             |    2 +-
>  arch/arm/kernel/hw_breakpoint.c                    |    1 -
>  arch/arm/kernel/irq.c                              |    1 -
>  arch/arm/kernel/kprobes-common.c                   |    1 +
>  arch/arm/kernel/machine_kexec.c                    |    2 +-
>  arch/arm/kernel/process.c                          |    1 -
>  arch/arm/kernel/ptrace.c                           |    1 -
>  arch/arm/kernel/setup.c                            |    4 +-
>  arch/arm/kernel/sleep.S                            |    1 -
>  arch/arm/kernel/tcm.c                              |    1 +
>  arch/arm/kernel/thumbee.c                          |    1 +
>  arch/arm/kernel/traps.c                            |    2 +-
>  arch/arm/mach-at91/at91cap9.c                      |    2 +
>  arch/arm/mach-at91/at91rm9200.c                    |    1 +
>  arch/arm/mach-at91/at91sam9260.c                   |    1 +
>  arch/arm/mach-at91/at91sam9261.c                   |    1 +
>  arch/arm/mach-at91/at91sam9263.c                   |    1 +
>  arch/arm/mach-at91/at91sam9g45.c                   |    1 +
>  arch/arm/mach-at91/at91sam9rl.c                    |    1 +
>  arch/arm/mach-at91/include/mach/system_rev.h       |    2 +
>  arch/arm/mach-clps711x/common.c                    |    1 +
>  arch/arm/mach-clps711x/p720t-leds.c                |    1 -
>  arch/arm/mach-davinci/board-da850-evm.c            |    1 +
>  arch/arm/mach-ebsa110/core.c                       |    2 +-
>  arch/arm/mach-ebsa110/leds.c                       |    1 -
>  arch/arm/mach-exynos/hotplug.c                     |    1 +
>  arch/arm/mach-footbridge/common.c                  |    1 +
>  arch/arm/mach-footbridge/dc21285-timer.c           |    1 +
>  arch/arm/mach-footbridge/dc21285.c                 |    1 -
>  arch/arm/mach-footbridge/ebsa285-leds.c            |    1 -
>  arch/arm/mach-footbridge/netwinder-hw.c            |    1 +
>  arch/arm/mach-footbridge/netwinder-leds.c          |    1 -
>  arch/arm/mach-imx/dma-v1.c                         |    1 -
>  arch/arm/mach-imx/mach-imx6q.c                     |    1 +
>  arch/arm/mach-imx/mach-mx51_efikamx.c              |    1 +
>  arch/arm/mach-imx/mach-mx51_efikasb.c              |    1 +
>  arch/arm/mach-integrator/core.c                    |    1 -
>  arch/arm/mach-integrator/leds.c                    |    1 -
>  arch/arm/mach-integrator/pci.c                     |    1 -
>  arch/arm/mach-integrator/pci_v3.c                  |    1 -
>  arch/arm/mach-iop33x/uart.c                        |    1 -
>  arch/arm/mach-ixp2000/core.c                       |    1 -
>  arch/arm/mach-ixp2000/enp2611.c                    |    1 -
>  arch/arm/mach-ixp2000/ixdp2400.c                   |    1 -
>  arch/arm/mach-ixp2000/ixdp2800.c                   |    1 -
>  arch/arm/mach-ixp2000/ixdp2x00.c                   |    1 -
>  arch/arm/mach-ixp2000/ixdp2x01.c                   |    1 -
>  arch/arm/mach-ixp2000/pci.c                        |    1 -
>  arch/arm/mach-ixp23xx/core.c                       |    1 -
>  arch/arm/mach-ixp23xx/espresso.c                   |    1 -
>  arch/arm/mach-ixp23xx/ixdp2351.c                   |    1 -
>  arch/arm/mach-ixp23xx/pci.c                        |    1 -
>  arch/arm/mach-ixp23xx/roadrunner.c                 |    1 -
>  arch/arm/mach-ixp4xx/common-pci.c                  |    1 -
>  arch/arm/mach-ixp4xx/goramo_mlr.c                  |    1 -
>  arch/arm/mach-ks8695/time.c                        |    1 +
>  arch/arm/mach-mmp/common.c                         |    1 +
>  arch/arm/mach-mmp/pxa168.c                         |    1 +
>  arch/arm/mach-msm/board-sapphire.c                 |    1 -
>  arch/arm/mach-mxs/system.c                         |    2 +-
>  arch/arm/mach-omap1/id.c                           |    1 +
>  arch/arm/mach-omap1/leds-h2p2-debug.c              |    1 -
>  arch/arm/mach-omap1/leds-innovator.c               |    1 -
>  arch/arm/mach-omap1/leds-osk.c                     |    1 -
>  arch/arm/mach-omap1/mux.c                          |    1 -
>  arch/arm/mach-omap1/time.c                         |    1 -
>  arch/arm/mach-omap1/timer32k.c                     |    1 -
>  arch/arm/mach-omap2/board-omap3touchbook.c         |    1 +
>  arch/arm/mach-omap2/board-rx51-peripherals.c       |    1 +
>  arch/arm/mach-omap2/mux.c                          |    1 -
>  arch/arm/mach-omap2/omap-mpuss-lowpower.c          |    1 -
>  arch/arm/mach-omap2/pm24xx.c                       |    1 +
>  arch/arm/mach-omap2/pm34xx.c                       |    1 +
>  arch/arm/mach-omap2/pm44xx.c                       |    1 +
>  arch/arm/mach-omap2/sleep44xx.S                    |    1 -
>  arch/arm/mach-orion5x/common.c                     |    1 +
>  arch/arm/mach-orion5x/dns323-setup.c               |    1 +
>  arch/arm/mach-orion5x/ls-chl-setup.c               |    1 -
>  arch/arm/mach-orion5x/ls_hgl-setup.c               |    1 -
>  arch/arm/mach-orion5x/lsmini-setup.c               |    1 -
>  arch/arm/mach-pnx4008/core.c                       |    2 +-
>  arch/arm/mach-pnx4008/dma.c                        |    1 -
>  arch/arm/mach-pnx4008/irq.c                        |    1 -
>  arch/arm/mach-pnx4008/time.c                       |    1 -
>  arch/arm/mach-pxa/cm-x300.c                        |    1 +
>  arch/arm/mach-pxa/colibri-pxa3xx.c                 |    1 +
>  arch/arm/mach-pxa/corgi.c                          |    1 -
>  arch/arm/mach-pxa/generic.c                        |    1 -
>  arch/arm/mach-pxa/leds-idp.c                       |    1 -
>  arch/arm/mach-pxa/leds-lubbock.c                   |    1 -
>  arch/arm/mach-pxa/leds-mainstone.c                 |    1 -
>  arch/arm/mach-pxa/magician.c                       |    1 +
>  arch/arm/mach-pxa/poodle.c                         |    1 -
>  arch/arm/mach-pxa/reset.c                          |    1 +
>  arch/arm/mach-pxa/viper.c                          |    1 +
>  arch/arm/mach-pxa/zeus.c                           |    1 +
>  arch/arm/mach-realview/core.c                      |    1 -
>  arch/arm/mach-realview/hotplug.c                   |    1 +
>  arch/arm/mach-rpc/riscpc.c                         |    1 +
>  arch/arm/mach-s3c2410/s3c2410.c                    |    1 +
>  arch/arm/mach-s3c2412/s3c2412.c                    |    1 +
>  arch/arm/mach-s3c2416/s3c2416.c                    |    1 +
>  arch/arm/mach-s3c2440/s3c244x.c                    |    1 +
>  arch/arm/mach-s3c2443/s3c2443.c                    |    1 +
>  arch/arm/mach-s3c64xx/common.c                     |    1 +
>  arch/arm/mach-s5p64x0/common.c                     |    1 +
>  arch/arm/mach-s5pc100/common.c                     |    1 +
>  arch/arm/mach-sa1100/dma.c                         |    1 -
>  arch/arm/mach-sa1100/generic.c                     |    2 +-
>  arch/arm/mach-sa1100/leds-assabet.c                |    1 -
>  arch/arm/mach-sa1100/leds-badge4.c                 |    1 -
>  arch/arm/mach-sa1100/leds-cerf.c                   |    1 -
>  arch/arm/mach-sa1100/leds-hackkit.c                |    1 -
>  arch/arm/mach-sa1100/leds-lart.c                   |    1 -
>  arch/arm/mach-sa1100/pm.c                          |    1 -
>  arch/arm/mach-shark/leds.c                         |    1 -
>  arch/arm/mach-shmobile/cpuidle.c                   |    1 -
>  arch/arm/mach-shmobile/include/mach/system.h       |    2 +
>  arch/arm/mach-shmobile/pm-r8a7779.c                |    1 -
>  arch/arm/mach-shmobile/pm-sh7372.c                 |    1 -
>  arch/arm/mach-shmobile/suspend.c                   |    2 +-
>  arch/arm/mach-tegra/cpu-tegra.c                    |    1 -
>  arch/arm/mach-tegra/hotplug.c                      |    1 +
>  arch/arm/mach-versatile/core.c                     |    1 -
>  arch/arm/mach-versatile/pci.c                      |    1 -
>  arch/arm/mach-vexpress/hotplug.c                   |    2 +-
>  arch/arm/mach-w90x900/cpu.c                        |    1 +
>  arch/arm/mm/alignment.c                            |    3 +-
>  arch/arm/mm/cache-feroceon-l2.c                    |    1 +
>  arch/arm/mm/cache-tauros2.c                        |    1 +
>  arch/arm/mm/cache-xsc3l2.c                         |    2 +-
>  arch/arm/mm/fault.c                                |    3 +-
>  arch/arm/mm/flush.c                                |    1 -
>  arch/arm/mm/idmap.c                                |    1 +
>  arch/arm/mm/ioremap.c                              |    2 +
>  arch/arm/mm/mmu.c                                  |    2 +
>  arch/arm/mm/pgd.c                                  |    1 +
>  arch/arm/mm/proc-fa526.S                           |    1 -
>  arch/arm/nwfpe/fpa11.c                             |    1 -
>  arch/arm/plat-iop/i2c.c                            |    1 -
>  arch/arm/plat-iop/pci.c                            |    1 -
>  arch/arm/plat-iop/restart.c                        |    1 +
>  arch/arm/plat-mxc/system.c                         |    2 +-
>  arch/arm/plat-omap/debug-leds.c                    |    1 -
>  arch/arm/plat-omap/dma.c                           |    1 -
>  arch/arm/plat-omap/mux.c                           |    1 -
>  arch/arm/plat-pxa/dma.c                            |    1 -
>  arch/arm/plat-s3c24xx/cpu.c                        |    1 +
>  arch/arm/plat-s3c24xx/dma.c                        |    1 -
>  arch/arm/plat-samsung/cpu.c                        |    1 -
>  arch/arm/plat-samsung/time.c                       |    1 -
>  arch/arm/plat-spear/restart.c                      |    1 +
>  arch/arm/vfp/vfpmodule.c                           |    2 +
>  arch/avr32/include/asm/atomic.h                    |    2 +-
>  arch/avr32/include/asm/barrier.h                   |   27 +
>  arch/avr32/include/asm/bitops.h                    |    1 -
>  arch/avr32/include/asm/bug.h                       |    5 +
>  arch/avr32/include/asm/{system.h => cmpxchg.h}     |   79 +---
>  arch/avr32/include/asm/exec.h                      |   13 +
>  arch/avr32/include/asm/special_insns.h             |   13 +
>  arch/avr32/include/asm/switch_to.h                 |   46 ++
>  arch/avr32/mach-at32ap/cpufreq.c                   |    1 -
>  arch/avr32/oprofile/op_model_avr32.c               |    1 -
>  arch/blackfin/include/asm/atomic.h                 |    2 +
>  arch/blackfin/include/asm/barrier.h                |   48 ++
>  arch/blackfin/include/asm/{system.h => cmpxchg.h}  |   78 +---
>  arch/blackfin/include/asm/exec.h                   |    1 +
>  arch/blackfin/include/asm/irq_handler.h            |    1 +
>  arch/blackfin/include/asm/switch_to.h              |   39 ++
>  arch/blackfin/kernel/asm-offsets.c                 |    1 +
>  arch/blackfin/kernel/ipipe.c                       |    1 -
>  arch/blackfin/kernel/kgdb_test.c                   |    1 -
>  arch/blackfin/kernel/process.c                     |    1 +
>  arch/blackfin/kernel/ptrace.c                      |    1 -
>  arch/blackfin/kernel/reboot.c                      |    1 -
>  arch/blackfin/kernel/setup.c                       |    1 +
>  arch/blackfin/kernel/trace.c                       |    1 +
>  arch/blackfin/kernel/traps.c                       |    1 +
>  arch/c6x/include/asm/Kbuild                        |    1 -
>  arch/c6x/include/asm/barrier.h                     |   27 +
>  arch/c6x/include/asm/bitops.h                      |    1 -
>  arch/c6x/include/asm/bug.h                         |   23 +
>  arch/c6x/include/asm/cmpxchg.h                     |   68 +++
>  arch/c6x/include/asm/exec.h                        |    6 +
>  arch/c6x/include/asm/processor.h                   |    9 +
>  arch/c6x/include/asm/setup.h                       |    1 +
>  arch/c6x/include/asm/special_insns.h               |   63 +++
>  arch/c6x/include/asm/switch_to.h                   |   33 ++
>  arch/c6x/include/asm/system.h                      |  168 ------
>  arch/c6x/kernel/irq.c                              |    1 +
>  arch/c6x/kernel/setup.c                            |    1 +
>  arch/c6x/kernel/soc.c                              |    1 -
>  arch/c6x/kernel/time.c                             |    1 +
>  arch/c6x/kernel/traps.c                            |    1 +
>  arch/c6x/platforms/timer64.c                       |    1 +
>  arch/cris/arch-v10/drivers/ds1302.c                |    1 -
>  arch/cris/arch-v10/drivers/gpio.c                  |    1 -
>  arch/cris/arch-v10/drivers/i2c.c                   |    1 -
>  arch/cris/arch-v10/drivers/pcf8563.c               |    1 -
>  arch/cris/arch-v10/drivers/sync_serial.c           |    1 -
>  arch/cris/arch-v10/kernel/debugport.c              |    1 -
>  arch/cris/arch-v10/kernel/dma.c                    |    1 +
>  arch/cris/arch-v10/kernel/io_interface_mux.c       |    1 +
>  arch/cris/arch-v10/kernel/process.c                |    1 +
>  arch/cris/arch-v10/kernel/ptrace.c                 |    1 -
>  arch/cris/arch-v10/kernel/setup.c                  |    1 +
>  arch/cris/arch-v10/kernel/signal.c                 |    1 +
>  arch/cris/arch-v10/kernel/traps.c                  |    1 +
>  arch/cris/arch-v32/drivers/i2c.c                   |    1 -
>  arch/cris/arch-v32/drivers/mach-a3/gpio.c          |    1 -
>  arch/cris/arch-v32/drivers/mach-fs/gpio.c          |    1 -
>  arch/cris/arch-v32/kernel/debugport.c              |    1 -
>  arch/cris/arch-v32/kernel/fasttimer.c              |    1 -
>  arch/cris/arch-v32/kernel/ptrace.c                 |    1 -
>  arch/cris/arch-v32/mach-a3/dma.c                   |    1 -
>  arch/cris/arch-v32/mach-fs/dma.c                   |    1 -
>  arch/cris/include/arch-v10/arch/elf.h              |    2 +
>  arch/cris/include/arch-v32/arch/elf.h              |    2 +
>  arch/cris/include/asm/atomic.h                     |    2 +-
>  arch/cris/include/asm/barrier.h                    |   23 +
>  arch/cris/include/asm/bitops.h                     |    1 -
>  arch/cris/include/asm/{system.h => cmpxchg.h}      |   50 +--
>  arch/cris/include/asm/exec.h                       |    6 +
>  arch/cris/include/asm/processor.h                  |   11 +-
>  arch/cris/include/asm/switch_to.h                  |   12 +
>  arch/cris/kernel/irq.c                             |    1 +
>  arch/cris/kernel/process.c                         |    1 -
>  arch/cris/kernel/ptrace.c                          |    1 -
>  arch/cris/kernel/setup.c                           |    1 +
>  arch/cris/kernel/traps.c                           |    1 +
>  arch/cris/mm/fault.c                               |    1 +
>  arch/frv/include/asm/atomic.h                      |   57 +--
>  arch/frv/include/asm/barrier.h                     |   29 +
>  arch/frv/include/asm/bug.h                         |    2 +
>  arch/frv/include/asm/{system.h => cmpxchg.h}       |   98 ++--
>  arch/frv/include/asm/exec.h                        |   17 +
>  arch/frv/include/asm/switch_to.h                   |   35 ++
>  arch/frv/kernel/debug-stub.c                       |    1 -
>  arch/frv/kernel/gdb-io.c                           |    1 -
>  arch/frv/kernel/gdb-stub.c                         |    1 -
>  arch/frv/kernel/irq-mb93091.c                      |    1 -
>  arch/frv/kernel/irq-mb93093.c                      |    1 -
>  arch/frv/kernel/irq-mb93493.c                      |    1 -
>  arch/frv/kernel/irq.c                              |    1 -
>  arch/frv/kernel/process.c                          |    1 -
>  arch/frv/kernel/ptrace.c                           |    1 -
>  arch/frv/kernel/traps.c                            |    1 -
>  arch/frv/mm/fault.c                                |    1 -
>  arch/frv/mm/init.c                                 |    1 -
>  arch/frv/mm/kmap.c                                 |    1 -
>  arch/h8300/include/asm/atomic.h                    |    4 +-
>  arch/h8300/include/asm/barrier.h                   |   27 +
>  arch/h8300/include/asm/bitops.h                    |    1 -
>  arch/h8300/include/asm/bug.h                       |    4 +
>  arch/h8300/include/asm/cmpxchg.h                   |   60 +++
>  arch/h8300/include/asm/exec.h                      |    6 +
>  arch/h8300/include/asm/processor.h                 |    5 +
>  arch/h8300/include/asm/switch_to.h                 |   50 ++
>  arch/h8300/include/asm/system.h                    |  140 -----
>  arch/h8300/kernel/irq.c                            |    1 -
>  arch/h8300/kernel/process.c                        |    1 -
>  arch/h8300/kernel/ptrace.c                         |    1 -
>  arch/h8300/kernel/traps.c                          |    1 -
>  arch/h8300/mm/fault.c                              |    1 -
>  arch/h8300/mm/init.c                               |    1 -
>  arch/h8300/mm/kmap.c                               |    1 -
>  arch/h8300/mm/memory.c                             |    1 -
>  arch/hexagon/include/asm/atomic.h                  |    1 +
>  arch/hexagon/include/asm/barrier.h                 |   41 ++
>  arch/hexagon/include/asm/bitops.h                  |    1 -
>  arch/hexagon/include/asm/{system.h => cmpxchg.h}   |   46 +--
>  arch/hexagon/include/asm/exec.h                    |   28 +
>  arch/hexagon/include/asm/switch_to.h               |   34 ++
>  arch/hexagon/kernel/ptrace.c                       |    1 -
>  arch/hexagon/kernel/smp.c                          |    1 -
>  arch/hexagon/kernel/vm_events.c                    |    1 -
>  arch/ia64/dig/setup.c                              |    2 +-
>  arch/ia64/hp/common/sba_iommu.c                    |    1 -
>  arch/ia64/hp/sim/boot/bootloader.c                 |    1 -
>  arch/ia64/hp/sim/boot/fw-emu.c                     |    1 +
>  arch/ia64/hp/sim/simeth.c                          |    1 -
>  arch/ia64/include/asm/acpi.h                       |    1 -
>  arch/ia64/include/asm/atomic.h                     |    1 -
>  arch/ia64/include/asm/auxvec.h                     |    2 +
>  arch/ia64/include/asm/barrier.h                    |   68 +++
>  arch/ia64/include/asm/exec.h                       |   14 +
>  arch/ia64/include/asm/futex.h                      |    1 -
>  arch/ia64/include/asm/io.h                         |    1 -
>  arch/ia64/include/asm/irqflags.h                   |    2 +
>  arch/ia64/include/asm/kexec.h                      |    1 +
>  arch/ia64/include/asm/mca_asm.h                    |    2 +
>  arch/ia64/include/asm/page.h                       |   10 +
>  arch/ia64/include/asm/pci.h                        |    8 +
>  arch/ia64/include/asm/pgtable.h                    |    1 -
>  arch/ia64/include/asm/processor.h                  |    8 +
>  arch/ia64/include/asm/sal.h                        |    1 -
>  arch/ia64/include/asm/setup.h                      |   18 +
>  arch/ia64/include/asm/sn/pda.h                     |    1 -
>  arch/ia64/include/asm/spinlock.h                   |    1 -
>  arch/ia64/include/asm/switch_to.h                  |   87 +++
>  arch/ia64/include/asm/system.h                     |  203 -------
>  arch/ia64/include/asm/uv/uv.h                      |    1 -
>  arch/ia64/kernel/acpi.c                            |    1 -
>  arch/ia64/kernel/efi.c                             |    1 +
>  arch/ia64/kernel/fsys.S                            |    1 -
>  arch/ia64/kernel/gate.S                            |    3 +-
>  arch/ia64/kernel/gate.lds.S                        |    3 +-
>  arch/ia64/kernel/head.S                            |    1 -
>  arch/ia64/kernel/iosapic.c                         |    1 -
>  arch/ia64/kernel/irq_ia64.c                        |    1 -
>  arch/ia64/kernel/ivt.S                             |    1 -
>  arch/ia64/kernel/machvec.c                         |    1 -
>  arch/ia64/kernel/mca.c                             |    1 -
>  arch/ia64/kernel/mca_drv.c                         |    1 -
>  arch/ia64/kernel/patch.c                           |    1 -
>  arch/ia64/kernel/pci-dma.c                         |    1 -
>  arch/ia64/kernel/perfmon.c                         |    1 -
>  arch/ia64/kernel/ptrace.c                          |    1 -
>  arch/ia64/kernel/setup.c                           |    1 -
>  arch/ia64/kernel/smp.c                             |    1 -
>  arch/ia64/kernel/smpboot.c                         |    1 -
>  arch/ia64/kernel/time.c                            |    1 -
>  arch/ia64/kernel/traps.c                           |    1 +
>  arch/ia64/kernel/uncached.c                        |    1 -
>  arch/ia64/kernel/unwind.c                          |    1 -
>  arch/ia64/kernel/vmlinux.lds.S                     |    1 -
>  arch/ia64/mm/fault.c                               |    1 -
>  arch/ia64/mm/init.c                                |    1 -
>  arch/ia64/oprofile/backtrace.c                     |    1 -
>  arch/ia64/pci/pci.c                                |    1 -
>  arch/ia64/sn/kernel/setup.c                        |    2 +-
>  arch/ia64/sn/kernel/sn2/prominfo_proc.c            |    1 -
>  arch/ia64/sn/kernel/sn2/sn2_smp.c                  |    1 -
>  arch/ia64/sn/kernel/sn2/timer.c                    |    1 -
>  arch/ia64/sn/kernel/tiocx.c                        |    1 -
>  arch/ia64/xen/xensetup.S                           |    1 -
>  arch/m32r/include/asm/atomic.h                     |    3 +-
>  arch/m32r/include/asm/barrier.h                    |   94 ++++
>  arch/m32r/include/asm/bitops.h                     |    3 +-
>  arch/m32r/include/asm/cmpxchg.h                    |  221 ++++++++
>  arch/m32r/include/asm/dcache_clear.h               |   29 +
>  arch/m32r/include/asm/exec.h                       |   14 +
>  arch/m32r/include/asm/local.h                      |    1 -
>  arch/m32r/include/asm/spinlock.h                   |    1 +
>  arch/m32r/include/asm/switch_to.h                  |   51 ++
>  arch/m32r/include/asm/system.h                     |  367 -------------
>  arch/m32r/kernel/ptrace.c                          |    1 -
>  arch/m32r/kernel/traps.c                           |    1 -
>  arch/m32r/mm/fault-nommu.c                         |    1 -
>  arch/m32r/mm/fault.c                               |    1 -
>  arch/m32r/platforms/m32104ut/setup.c               |    1 -
>  arch/m32r/platforms/m32700ut/setup.c               |    1 -
>  arch/m32r/platforms/mappi/setup.c                  |    1 -
>  arch/m32r/platforms/mappi2/setup.c                 |    1 -
>  arch/m32r/platforms/mappi3/setup.c                 |    1 -
>  arch/m32r/platforms/oaks32r/setup.c                |    1 -
>  arch/m32r/platforms/opsput/setup.c                 |    1 -
>  arch/m32r/platforms/usrv/setup.c                   |    1 -
>  arch/m68k/amiga/amisound.c                         |    1 -
>  arch/m68k/amiga/config.c                           |    1 -
>  arch/m68k/apollo/config.c                          |    1 -
>  arch/m68k/atari/ataints.c                          |    1 -
>  arch/m68k/atari/atasound.c                         |    1 -
>  arch/m68k/atari/config.c                           |    1 -
>  arch/m68k/bvme6000/config.c                        |    1 -
>  arch/m68k/bvme6000/rtc.c                           |    1 -
>  arch/m68k/hp300/time.c                             |    1 -
>  arch/m68k/include/asm/atomic.h                     |    2 +-
>  arch/m68k/include/asm/barrier.h                    |   20 +
>  arch/m68k/include/asm/{system.h => cmpxchg.h}      |   94 +---
>  arch/m68k/include/asm/exec.h                       |    6 +
>  arch/m68k/include/asm/sun3xflop.h                  |    1 -
>  arch/m68k/include/asm/switch_to.h                  |   41 ++
>  arch/m68k/kernel/ints.c                            |    1 -
>  arch/m68k/kernel/irq.c                             |    1 -
>  arch/m68k/kernel/process_mm.c                      |    1 -
>  arch/m68k/kernel/process_no.c                      |    1 -
>  arch/m68k/kernel/ptrace_mm.c                       |    1 -
>  arch/m68k/kernel/ptrace_no.c                       |    1 -
>  arch/m68k/kernel/traps.c                           |    1 -
>  arch/m68k/kernel/vectors.c                         |    1 -
>  arch/m68k/mac/config.c                             |    1 -
>  arch/m68k/mac/misc.c                               |    1 -
>  arch/m68k/mm/fault.c                               |    1 -
>  arch/m68k/mm/init_mm.c                             |    1 -
>  arch/m68k/mm/init_no.c                             |    1 -
>  arch/m68k/mm/kmap.c                                |    1 -
>  arch/m68k/mm/memory.c                              |    1 -
>  arch/m68k/mm/motorola.c                            |    1 -
>  arch/m68k/mm/sun3mmu.c                             |    1 -
>  arch/m68k/mvme147/config.c                         |    1 -
>  arch/m68k/mvme16x/config.c                         |    1 -
>  arch/m68k/mvme16x/rtc.c                            |    1 -
>  arch/m68k/platform/68328/config.c                  |    1 -
>  arch/m68k/platform/68328/timers.c                  |    1 -
>  arch/m68k/platform/68360/config.c                  |    1 -
>  arch/m68k/platform/68EZ328/config.c                |    1 -
>  arch/m68k/platform/68VZ328/config.c                |    1 -
>  arch/m68k/q40/config.c                             |    1 -
>  arch/m68k/q40/q40ints.c                            |    1 -
>  arch/m68k/sun3/intersil.c                          |    1 -
>  arch/m68k/sun3/mmu_emu.c                           |    1 -
>  arch/m68k/sun3/prom/console.c                      |    1 -
>  arch/m68k/sun3x/config.c                           |    1 -
>  arch/m68k/sun3x/time.c                             |    1 -
>  arch/microblaze/include/asm/atomic.h               |    1 +
>  arch/microblaze/include/asm/barrier.h              |   27 +
>  arch/microblaze/include/asm/cmpxchg.h              |   40 ++
>  arch/microblaze/include/asm/exec.h                 |   14 +
>  arch/microblaze/include/asm/processor.h            |   11 +-
>  arch/microblaze/include/asm/setup.h                |    6 +
>  arch/microblaze/include/asm/switch_to.h            |   24 +
>  arch/microblaze/include/asm/system.h               |   97 ----
>  arch/microblaze/kernel/cpu/pvr.c                   |    1 -
>  arch/microblaze/kernel/microblaze_ksyms.c          |    1 -
>  arch/microblaze/kernel/process.c                   |    1 -
>  arch/microblaze/kernel/prom.c                      |    1 -
>  arch/microblaze/kernel/setup.c                     |    1 -
>  arch/microblaze/kernel/timer.c                     |    1 -
>  arch/microblaze/kernel/traps.c                     |    1 -
>  arch/microblaze/lib/memcpy.c                       |    1 -
>  arch/microblaze/mm/fault.c                         |    1 -
>  arch/mips/cavium-octeon/setup.c                    |    1 -
>  arch/mips/cavium-octeon/smp.c                      |    1 -
>  arch/mips/dec/ecc-berr.c                           |    1 -
>  arch/mips/dec/kn01-berr.c                          |    1 -
>  arch/mips/dec/kn02xa-berr.c                        |    1 -
>  arch/mips/dec/wbflush.c                            |    1 -
>  arch/mips/emma/markeins/irq.c                      |    1 -
>  arch/mips/fw/arc/misc.c                            |    1 -
>  arch/mips/include/asm/atomic.h                     |    2 +-
>  arch/mips/include/asm/cmpxchg.h                    |  124 +++++
>  arch/mips/include/asm/dma.h                        |    1 -
>  arch/mips/include/asm/exec.h                       |   17 +
>  arch/mips/include/asm/mach-au1x00/au1000_dma.h     |    1 -
>  arch/mips/include/asm/processor.h                  |    7 +-
>  arch/mips/include/asm/setup.h                      |   11 +
>  arch/mips/include/asm/switch_to.h                  |   85 +++
>  arch/mips/include/asm/system.h                     |  235 ---------
>  arch/mips/include/asm/txx9/jmr3927.h               |    1 -
>  arch/mips/kernel/cpu-bugs64.c                      |    1 -
>  arch/mips/kernel/cpu-probe.c                       |    1 -
>  arch/mips/kernel/irq-rm7000.c                      |    1 -
>  arch/mips/kernel/irq-rm9000.c                      |    1 -
>  arch/mips/kernel/irq.c                             |    1 -
>  arch/mips/kernel/irq_cpu.c                         |    1 -
>  arch/mips/kernel/mips-mt.c                         |    1 -
>  arch/mips/kernel/process.c                         |    1 -
>  arch/mips/kernel/ptrace.c                          |    1 -
>  arch/mips/kernel/ptrace32.c                        |    1 -
>  arch/mips/kernel/rtlx.c                            |    1 -
>  arch/mips/kernel/setup.c                           |    1 -
>  arch/mips/kernel/signal.c                          |    1 +
>  arch/mips/kernel/signal32.c                        |    1 -
>  arch/mips/kernel/signal_n32.c                      |    1 -
>  arch/mips/kernel/smp-bmips.c                       |    1 -
>  arch/mips/kernel/smp-cmp.c                         |    1 -
>  arch/mips/kernel/smp-mt.c                          |    1 -
>  arch/mips/kernel/smp.c                             |    1 -
>  arch/mips/kernel/smtc-proc.c                       |    1 -
>  arch/mips/kernel/smtc.c                            |    1 -
>  arch/mips/kernel/spram.c                           |    1 -
>  arch/mips/kernel/syscall.c                         |    1 +
>  arch/mips/kernel/traps.c                           |    1 -
>  arch/mips/kernel/unaligned.c                       |    1 -
>  arch/mips/kernel/vpe.c                             |    1 -
>  arch/mips/lasat/reset.c                            |    1 -
>  arch/mips/math-emu/dsemul.c                        |    1 -
>  arch/mips/mipssim/sim_smtc.c                       |    1 -
>  arch/mips/mm/c-octeon.c                            |    1 -
>  arch/mips/mm/c-r3k.c                               |    1 -
>  arch/mips/mm/c-r4k.c                               |    1 -
>  arch/mips/mm/c-tx39.c                              |    1 -
>  arch/mips/mm/fault.c                               |    1 -
>  arch/mips/mm/page.c                                |    1 -
>  arch/mips/mm/sc-ip22.c                             |    1 -
>  arch/mips/mm/sc-mips.c                             |    1 -
>  arch/mips/mm/sc-r5k.c                              |    1 -
>  arch/mips/mm/tlb-r3k.c                             |    1 -
>  arch/mips/mm/tlb-r4k.c                             |    1 -
>  arch/mips/mm/tlb-r8k.c                             |    1 -
>  arch/mips/mm/tlbex.c                               |    1 +
>  arch/mips/mti-malta/malta-init.c                   |    1 -
>  arch/mips/netlogic/common/irq.c                    |    1 -
>  arch/mips/pmc-sierra/msp71xx/msp_irq_cic.c         |    1 -
>  arch/mips/pmc-sierra/msp71xx/msp_irq_per.c         |    1 -
>  arch/mips/pmc-sierra/msp71xx/msp_irq_slp.c         |    1 -
>  arch/mips/pmc-sierra/yosemite/irq.c                |    1 -
>  arch/mips/pmc-sierra/yosemite/prom.c               |    1 -
>  arch/mips/powertv/asic/irq_asic.c                  |    1 -
>  arch/mips/powertv/init.c                           |    1 -
>  arch/mips/rb532/irq.c                              |    1 -
>  arch/mips/sgi-ip22/ip22-berr.c                     |    1 -
>  arch/mips/sgi-ip22/ip22-reset.c                    |    1 -
>  arch/mips/sgi-ip22/ip28-berr.c                     |    1 -
>  arch/mips/sgi-ip27/ip27-irq.c                      |    1 -
>  arch/mips/sgi-ip27/ip27-reset.c                    |    1 -
>  arch/mips/sgi-ip32/ip32-irq.c                      |    1 -
>  arch/mips/sgi-ip32/ip32-reset.c                    |    1 -
>  arch/mips/sibyte/bcm1480/irq.c                     |    1 -
>  arch/mips/sibyte/common/sb_tbprof.c                |    1 -
>  arch/mips/sibyte/sb1250/bus_watcher.c              |    1 -
>  arch/mips/sibyte/sb1250/irq.c                      |    1 -
>  arch/mips/sni/reset.c                              |    1 -
>  arch/mips/vr41xx/common/irq.c                      |    1 -
>  arch/mips/vr41xx/common/pmu.c                      |    1 -
>  arch/mn10300/include/asm/atomic.h                  |  109 +----
>  arch/mn10300/include/asm/barrier.h                 |   37 ++
>  arch/mn10300/include/asm/cmpxchg.h                 |  115 ++++
>  arch/mn10300/include/asm/dma.h                     |    1 -
>  arch/mn10300/include/asm/exec.h                    |   16 +
>  arch/mn10300/include/asm/switch_to.h               |   49 ++
>  arch/mn10300/include/asm/system.h                  |  102 ----
>  arch/mn10300/kernel/entry.S                        |    1 -
>  arch/mn10300/kernel/fpu.c                          |    1 -
>  arch/mn10300/kernel/gdb-io-serial.c                |    1 -
>  arch/mn10300/kernel/gdb-io-ttysm.c                 |    1 -
>  arch/mn10300/kernel/gdb-stub.c                     |    1 -
>  arch/mn10300/kernel/mn10300-serial.c               |    1 -
>  arch/mn10300/kernel/mn10300-watchdog.c             |    1 -
>  arch/mn10300/kernel/process.c                      |    1 -
>  arch/mn10300/kernel/ptrace.c                       |    1 -
>  arch/mn10300/kernel/setup.c                        |    1 -
>  arch/mn10300/kernel/smp-low.S                      |    2 +-
>  arch/mn10300/kernel/smp.c                          |    1 -
>  arch/mn10300/kernel/traps.c                        |    1 -
>  arch/mn10300/lib/bitops.c                          |    1 -
>  arch/mn10300/mm/fault.c                            |    1 -
>  arch/mn10300/mm/init.c                             |    1 -
>  arch/mn10300/mm/misalignment.c                     |    1 -
>  arch/mn10300/mm/pgtable.c                          |    1 -
>  arch/mn10300/mm/tlb-smp.c                          |    1 -
>  arch/mn10300/proc-mn2ws0050/proc-init.c            |    1 -
>  arch/openrisc/include/asm/Kbuild                   |    3 +
>  arch/openrisc/include/asm/system.h                 |   35 --
>  arch/openrisc/kernel/idle.c                        |    1 -
>  arch/openrisc/kernel/process.c                     |    1 -
>  arch/openrisc/kernel/prom.c                        |    1 -
>  arch/openrisc/kernel/ptrace.c                      |    1 -
>  arch/openrisc/kernel/setup.c                       |    1 -
>  arch/openrisc/kernel/traps.c                       |    1 -
>  arch/openrisc/mm/init.c                            |    1 -
>  arch/openrisc/mm/tlb.c                             |    1 -
>  arch/parisc/include/asm/atomic.h                   |    1 -
>  arch/parisc/include/asm/barrier.h                  |   35 ++
>  arch/parisc/include/asm/delay.h                    |    2 +-
>  arch/parisc/include/asm/dma.h                      |    1 -
>  arch/parisc/include/asm/exec.h                     |    6 +
>  arch/parisc/include/asm/ldcw.h                     |   48 ++
>  arch/parisc/include/asm/processor.h                |    2 +-
>  arch/parisc/include/asm/psw.h                      |   41 ++
>  arch/parisc/include/asm/special_insns.h            |   40 ++
>  arch/parisc/include/asm/spinlock.h                 |    1 -
>  arch/parisc/include/asm/switch_to.h                |   12 +
>  arch/parisc/include/asm/system.h                   |  165 ------
>  arch/parisc/include/asm/thread_info.h              |    1 +
>  arch/parisc/include/asm/timex.h                    |    1 -
>  arch/parisc/include/asm/uaccess.h                  |    1 -
>  arch/parisc/kernel/cache.c                         |    1 -
>  arch/parisc/kernel/firmware.c                      |    1 -
>  arch/parisc/kernel/pci.c                           |    1 -
>  arch/parisc/kernel/ptrace.c                        |    1 -
>  arch/parisc/kernel/smp.c                           |    1 -
>  arch/parisc/kernel/traps.c                         |    1 -
>  arch/parisc/lib/bitops.c                           |    1 -
>  arch/powerpc/include/asm/atomic.h                  |    8 +-
>  arch/powerpc/include/asm/auxvec.h                  |    2 +
>  arch/powerpc/include/asm/barrier.h                 |   68 +++
>  arch/powerpc/include/asm/bug.h                     |   11 +
>  arch/powerpc/include/asm/cache.h                   |   16 +
>  arch/powerpc/include/asm/cmpxchg.h                 |  309 +++++++++++
>  arch/powerpc/include/asm/debug.h                   |   56 ++
>  arch/powerpc/include/asm/dma.h                     |    1 -
>  arch/powerpc/include/asm/exec.h                    |    9 +
>  arch/powerpc/include/asm/hw_breakpoint.h           |    2 +-
>  arch/powerpc/include/asm/irq.h                     |    1 +
>  arch/powerpc/include/asm/processor.h               |   30 +
>  arch/powerpc/include/asm/reg_booke.h               |    5 +
>  arch/powerpc/include/asm/rtas.h                    |    2 +
>  arch/powerpc/include/asm/setup.h                   |   24 +-
>  arch/powerpc/include/asm/switch_to.h               |   65 +++
>  arch/powerpc/include/asm/system.h                  |  554 --------------------
>  arch/powerpc/kernel/align.c                        |    2 +-
>  arch/powerpc/kernel/cputable.c                     |    1 +
>  arch/powerpc/kernel/crash.c                        |    2 +-
>  arch/powerpc/kernel/idle.c                         |    1 -
>  arch/powerpc/kernel/irq.c                          |    1 -
>  arch/powerpc/kernel/kprobes.c                      |    1 -
>  arch/powerpc/kernel/lparcfg.c                      |    1 -
>  arch/powerpc/kernel/ppc_ksyms.c                    |    2 +-
>  arch/powerpc/kernel/process.c                      |    3 +-
>  arch/powerpc/kernel/prom.c                         |    1 -
>  arch/powerpc/kernel/prom_init.c                    |    1 -
>  arch/powerpc/kernel/ptrace.c                       |    2 +-
>  arch/powerpc/kernel/ptrace32.c                     |    2 +-
>  arch/powerpc/kernel/rtas.c                         |    1 -
>  arch/powerpc/kernel/setup-common.c                 |    1 -
>  arch/powerpc/kernel/setup_32.c                     |    1 -
>  arch/powerpc/kernel/setup_64.c                     |    1 -
>  arch/powerpc/kernel/signal.c                       |    1 +
>  arch/powerpc/kernel/signal_32.c                    |    1 +
>  arch/powerpc/kernel/signal_64.c                    |    1 +
>  arch/powerpc/kernel/smp.c                          |    2 +-
>  arch/powerpc/kernel/softemu8xx.c                   |    1 -
>  arch/powerpc/kernel/swsusp.c                       |    2 +-
>  arch/powerpc/kernel/swsusp_64.c                    |    1 -
>  arch/powerpc/kernel/sys_ppc32.c                    |    1 +
>  arch/powerpc/kernel/sysfs.c                        |    1 -
>  arch/powerpc/kernel/traps.c                        |    3 +-
>  arch/powerpc/kernel/vdso.c                         |    1 -
>  arch/powerpc/kvm/book3s_hv.c                       |    1 +
>  arch/powerpc/lib/alloc.c                           |    2 +-
>  arch/powerpc/lib/copyuser_power7_vmx.c             |    1 +
>  arch/powerpc/mm/44x_mmu.c                          |    1 -
>  arch/powerpc/mm/fault.c                            |    2 +-
>  arch/powerpc/mm/hash_utils_64.c                    |    1 -
>  arch/powerpc/mm/init_32.c                          |    1 -
>  arch/powerpc/mm/init_64.c                          |    1 -
>  arch/powerpc/mm/numa.c                             |    2 +-
>  arch/powerpc/mm/pgtable_32.c                       |    1 +
>  arch/powerpc/mm/pgtable_64.c                       |    1 -
>  arch/powerpc/oprofile/common.c                     |    1 -
>  arch/powerpc/oprofile/op_model_7450.c              |    1 -
>  arch/powerpc/oprofile/op_model_cell.c              |    1 -
>  arch/powerpc/oprofile/op_model_fsl_emb.c           |    1 -
>  arch/powerpc/oprofile/op_model_power4.c            |    1 -
>  arch/powerpc/oprofile/op_model_rs64.c              |    1 -
>  arch/powerpc/platforms/82xx/pq2.c                  |    1 -
>  arch/powerpc/platforms/83xx/km83xx.c               |    1 -
>  arch/powerpc/platforms/83xx/mpc832x_mds.c          |    1 -
>  arch/powerpc/platforms/83xx/mpc834x_itx.c          |    1 -
>  arch/powerpc/platforms/83xx/mpc834x_mds.c          |    1 -
>  arch/powerpc/platforms/83xx/mpc836x_mds.c          |    1 -
>  arch/powerpc/platforms/83xx/sbc834x.c              |    1 -
>  arch/powerpc/platforms/85xx/corenet_ds.c           |    1 -
>  arch/powerpc/platforms/85xx/ksi8560.c              |    1 -
>  arch/powerpc/platforms/85xx/mpc8536_ds.c           |    1 -
>  arch/powerpc/platforms/85xx/mpc85xx_ads.c          |    1 -
>  arch/powerpc/platforms/85xx/mpc85xx_cds.c          |    1 -
>  arch/powerpc/platforms/85xx/mpc85xx_ds.c           |    1 -
>  arch/powerpc/platforms/85xx/mpc85xx_mds.c          |    1 -
>  arch/powerpc/platforms/85xx/mpc85xx_rdb.c          |    1 -
>  arch/powerpc/platforms/85xx/p1010rdb.c             |    1 -
>  arch/powerpc/platforms/85xx/p1023_rds.c            |    1 -
>  arch/powerpc/platforms/85xx/p2041_rdb.c            |    1 -
>  arch/powerpc/platforms/85xx/p3041_ds.c             |    1 -
>  arch/powerpc/platforms/85xx/p4080_ds.c             |    1 -
>  arch/powerpc/platforms/85xx/p5020_ds.c             |    1 -
>  arch/powerpc/platforms/85xx/sbc8548.c              |    1 -
>  arch/powerpc/platforms/85xx/sbc8560.c              |    1 -
>  arch/powerpc/platforms/85xx/socrates.c             |    1 -
>  arch/powerpc/platforms/85xx/stx_gp3.c              |    1 -
>  arch/powerpc/platforms/85xx/tqm85xx.c              |    1 -
>  arch/powerpc/platforms/85xx/xes_mpc85xx.c          |    1 -
>  arch/powerpc/platforms/86xx/gef_ppc9a.c            |    1 -
>  arch/powerpc/platforms/86xx/gef_sbc310.c           |    1 -
>  arch/powerpc/platforms/86xx/gef_sbc610.c           |    1 -
>  arch/powerpc/platforms/86xx/mpc8610_hpcd.c         |    1 -
>  arch/powerpc/platforms/86xx/mpc86xx_hpcn.c         |    1 -
>  arch/powerpc/platforms/86xx/pic.c                  |    1 -
>  arch/powerpc/platforms/86xx/sbc8641d.c             |    1 -
>  arch/powerpc/platforms/8xx/mpc86xads_setup.c       |    1 -
>  arch/powerpc/platforms/8xx/mpc885ads_setup.c       |    1 -
>  arch/powerpc/platforms/8xx/tqm8xx_setup.c          |    1 -
>  arch/powerpc/platforms/cell/smp.c                  |    1 -
>  arch/powerpc/platforms/embedded6xx/c2k.c           |    1 -
>  arch/powerpc/platforms/embedded6xx/holly.c         |    1 -
>  arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c  |    1 -
>  arch/powerpc/platforms/embedded6xx/prpmc2800.c     |    1 -
>  arch/powerpc/platforms/embedded6xx/storcenter.c    |    1 -
>  arch/powerpc/platforms/fsl_uli1575.c               |    1 -
>  arch/powerpc/platforms/iseries/dt.c                |    1 -
>  arch/powerpc/platforms/iseries/lpevents.c          |    1 -
>  arch/powerpc/platforms/iseries/setup.c             |    1 -
>  arch/powerpc/platforms/iseries/smp.c               |    1 -
>  arch/powerpc/platforms/iseries/viopath.c           |    1 -
>  arch/powerpc/platforms/maple/setup.c               |    1 -
>  arch/powerpc/platforms/maple/time.c                |    1 -
>  arch/powerpc/platforms/pasemi/setup.c              |    2 +-
>  arch/powerpc/platforms/powermac/bootx_init.c       |    1 +
>  arch/powerpc/platforms/powermac/cpufreq_32.c       |    2 +-
>  arch/powerpc/platforms/powermac/nvram.c            |    1 -
>  arch/powerpc/platforms/powermac/setup.c            |    1 -
>  arch/powerpc/platforms/powermac/time.c             |    1 -
>  arch/powerpc/platforms/powernv/smp.c               |    1 -
>  arch/powerpc/platforms/ps3/mm.c                    |    1 +
>  arch/powerpc/platforms/pseries/dtl.c               |    2 +-
>  arch/powerpc/platforms/pseries/hotplug-cpu.c       |    1 -
>  arch/powerpc/platforms/pseries/processor_idle.c    |    1 -
>  arch/powerpc/platforms/pseries/ras.c               |    1 -
>  arch/powerpc/platforms/pseries/smp.c               |    1 -
>  arch/powerpc/platforms/wsp/chroma.c                |    1 -
>  arch/powerpc/platforms/wsp/psr2.c                  |    1 -
>  arch/powerpc/sysdev/cpm_common.c                   |    1 -
>  arch/powerpc/sysdev/fsl_soc.c                      |    1 -
>  arch/powerpc/sysdev/msi_bitmap.c                   |    1 +
>  arch/powerpc/sysdev/tsi108_dev.c                   |    1 -
>  arch/powerpc/xmon/xmon.c                           |    1 +
>  arch/s390/crypto/crypt_s390.h                      |    1 +
>  arch/s390/include/asm/atomic.h                     |    2 +-
>  arch/s390/include/asm/barrier.h                    |   35 ++
>  arch/s390/include/asm/ctl_reg.h                    |   76 +++
>  arch/s390/include/asm/elf.h                        |    1 -
>  arch/s390/include/asm/exec.h                       |   12 +
>  arch/s390/include/asm/facility.h                   |   29 +
>  arch/s390/include/asm/mmu.h                        |   14 +
>  arch/s390/include/asm/mmu_context.h                |    1 +
>  arch/s390/include/asm/processor.h                  |   16 +
>  arch/s390/include/asm/setup.h                      |   14 +
>  arch/s390/include/asm/sigp.h                       |    9 +-
>  arch/s390/include/asm/smp.h                        |    1 -
>  arch/s390/include/asm/switch_to.h                  |  100 ++++
>  arch/s390/include/asm/system.h                     |  281 ----------
>  arch/s390/include/asm/uaccess.h                    |    6 +
>  arch/s390/kernel/compat_signal.c                   |    1 +
>  arch/s390/kernel/cpcmd.c                           |    1 -
>  arch/s390/kernel/dis.c                             |    1 -
>  arch/s390/kernel/early.c                           |    1 +
>  arch/s390/kernel/machine_kexec.c                   |    1 -
>  arch/s390/kernel/process.c                         |    2 +-
>  arch/s390/kernel/ptrace.c                          |    2 +-
>  arch/s390/kernel/setup.c                           |    2 +-
>  arch/s390/kernel/signal.c                          |    1 +
>  arch/s390/kernel/smp.c                             |    1 +
>  arch/s390/kernel/suspend.c                         |    2 +-
>  arch/s390/kernel/traps.c                           |    1 -
>  arch/s390/kernel/vdso.c                            |    2 +-
>  arch/s390/kvm/kvm-s390.c                           |    2 +-
>  arch/s390/mm/fault.c                               |    2 +-
>  arch/s390/mm/init.c                                |    2 +-
>  arch/s390/mm/maccess.c                             |    2 +-
>  arch/s390/mm/pgtable.c                             |    1 -
>  arch/s390/oprofile/hwsampler.c                     |    1 +
>  arch/score/include/asm/atomic.h                    |    1 +
>  arch/score/include/asm/barrier.h                   |   16 +
>  arch/score/include/asm/bitops.h                    |    1 -
>  arch/score/include/asm/bug.h                       |   11 +
>  arch/score/include/asm/cmpxchg.h                   |   49 ++
>  arch/score/include/asm/exec.h                      |    6 +
>  arch/score/include/asm/switch_to.h                 |   13 +
>  arch/score/include/asm/system.h                    |   90 ----
>  arch/sh/boards/mach-microdev/irq.c                 |    1 -
>  arch/sh/include/asm/atomic-irq.h                   |    2 +
>  arch/sh/include/asm/atomic.h                       |    2 +-
>  arch/sh/include/asm/auxvec.h                       |    2 +
>  arch/sh/include/asm/barrier.h                      |   54 ++
>  arch/sh/include/asm/bitops.h                       |    1 -
>  arch/sh/include/asm/bl_bit.h                       |   10 +
>  arch/sh/include/asm/bl_bit_32.h                    |   33 ++
>  arch/sh/include/asm/bl_bit_64.h                    |   40 ++
>  arch/sh/include/asm/bug.h                          |    5 +
>  arch/sh/include/asm/cache_insns.h                  |   11 +
>  arch/sh/include/asm/cache_insns_32.h               |   21 +
>  arch/sh/include/asm/cache_insns_64.h               |   23 +
>  arch/sh/include/asm/cmpxchg-irq.h                  |    2 +
>  arch/sh/include/asm/cmpxchg.h                      |   70 +++
>  arch/sh/include/asm/exec.h                         |   10 +
>  arch/sh/include/asm/futex-irq.h                    |    1 -
>  arch/sh/include/asm/io.h                           |    1 -
>  arch/sh/include/asm/processor.h                    |   15 +
>  arch/sh/include/asm/ptrace.h                       |    1 -
>  arch/sh/include/asm/setup.h                        |    1 +
>  arch/sh/include/asm/switch_to.h                    |   19 +
>  .../sh/include/asm/{system_32.h => switch_to_32.h} |  108 +----
>  arch/sh/include/asm/switch_to_64.h                 |   35 ++
>  arch/sh/include/asm/system.h                       |  184 -------
>  arch/sh/include/asm/system_64.h                    |   79 ---
>  arch/sh/include/asm/traps.h                        |   21 +
>  arch/sh/include/asm/traps_32.h                     |   68 +++
>  arch/sh/include/asm/traps_64.h                     |   24 +
>  arch/sh/include/asm/uaccess.h                      |   14 +
>  arch/sh/kernel/cpu/init.c                          |    2 +-
>  arch/sh/kernel/cpu/irq/imask.c                     |    1 -
>  arch/sh/kernel/cpu/sh2a/opcode_helper.c            |    1 -
>  arch/sh/kernel/cpu/sh4/fpu.c                       |    1 -
>  arch/sh/kernel/hw_breakpoint.c                     |    1 +
>  arch/sh/kernel/idle.c                              |    2 +-
>  arch/sh/kernel/io_trapped.c                        |    1 -
>  arch/sh/kernel/process_32.c                        |    1 -
>  arch/sh/kernel/process_64.c                        |    1 +
>  arch/sh/kernel/ptrace_32.c                         |    1 -
>  arch/sh/kernel/ptrace_64.c                         |    2 +-
>  arch/sh/kernel/reboot.c                            |    2 +-
>  arch/sh/kernel/signal_32.c                         |    1 -
>  arch/sh/kernel/smp.c                               |    1 -
>  arch/sh/kernel/traps.c                             |    2 +-
>  arch/sh/kernel/traps_32.c                          |    3 +-
>  arch/sh/kernel/traps_64.c                          |    1 -
>  arch/sh/math-emu/math.c                            |    1 -
>  arch/sh/mm/fault_32.c                              |    2 +-
>  arch/sh/mm/fault_64.c                              |    1 -
>  arch/sh/mm/flush-sh4.c                             |    1 +
>  arch/sh/mm/pmb.c                                   |    1 -
>  arch/sh/mm/tlb-pteaex.c                            |    1 -
>  arch/sh/mm/tlb-sh3.c                               |    1 -
>  arch/sh/mm/tlb-sh4.c                               |    1 -
>  arch/sh/mm/tlbflush_64.c                           |    1 -
>  arch/sparc/include/asm/atomic_32.h                 |    2 +-
>  arch/sparc/include/asm/atomic_64.h                 |    3 +-
>  arch/sparc/include/asm/auxio_32.h                  |    1 -
>  arch/sparc/include/asm/barrier.h                   |    8 +
>  arch/sparc/include/asm/barrier_32.h                |   15 +
>  arch/sparc/include/asm/barrier_64.h                |   56 ++
>  arch/sparc/include/asm/bug.h                       |    3 +
>  arch/sparc/include/asm/cacheflush_32.h             |    9 +
>  arch/sparc/include/asm/cacheflush_64.h             |   10 +
>  arch/sparc/include/asm/cmpxchg.h                   |    8 +
>  arch/sparc/include/asm/cmpxchg_32.h                |  112 ++++
>  arch/sparc/include/asm/cmpxchg_64.h                |  145 +++++
>  arch/sparc/include/asm/cpu_type.h                  |   34 ++
>  arch/sparc/include/asm/exec.h                      |    6 +
>  arch/sparc/include/asm/floppy_32.h                 |    1 -
>  arch/sparc/include/asm/futex_64.h                  |    1 -
>  arch/sparc/include/asm/io_32.h                     |    1 -
>  arch/sparc/include/asm/io_64.h                     |    1 -
>  arch/sparc/include/asm/irqflags_32.h               |    1 +
>  arch/sparc/include/asm/mmu_context_64.h            |    1 -
>  arch/sparc/include/asm/ns87303.h                   |    1 -
>  arch/sparc/include/asm/perfctr.h                   |   23 +
>  arch/sparc/include/asm/pgtable_32.h                |    2 +-
>  arch/sparc/include/asm/pgtable_64.h                |    1 -
>  arch/sparc/include/asm/processor.h                 |    3 +
>  arch/sparc/include/asm/processor_64.h              |    3 +
>  arch/sparc/include/asm/ptrace.h                    |    5 +-
>  arch/sparc/include/asm/setup.h                     |   16 +
>  arch/sparc/include/asm/switch_to.h                 |    8 +
>  arch/sparc/include/asm/switch_to_32.h              |  106 ++++
>  arch/sparc/include/asm/switch_to_64.h              |   72 +++
>  arch/sparc/include/asm/system.h                    |    8 -
>  arch/sparc/include/asm/system_32.h                 |  284 ----------
>  arch/sparc/include/asm/system_64.h                 |  331 ------------
>  arch/sparc/include/asm/timer_32.h                  |    3 +-
>  arch/sparc/include/asm/uaccess_64.h                |    1 -
>  arch/sparc/kernel/auxio_32.c                       |    1 +
>  arch/sparc/kernel/devices.c                        |    2 +-
>  arch/sparc/kernel/irq.h                            |    1 +
>  arch/sparc/kernel/irq_64.c                         |    1 -
>  arch/sparc/kernel/kgdb_32.c                        |    1 +
>  arch/sparc/kernel/module.c                         |    1 +
>  arch/sparc/kernel/muldiv.c                         |    1 -
>  arch/sparc/kernel/nmi.c                            |    1 +
>  arch/sparc/kernel/pcr.c                            |    1 +
>  arch/sparc/kernel/perf_event.c                     |    2 +
>  arch/sparc/kernel/process_32.c                     |    2 +-
>  arch/sparc/kernel/process_64.c                     |    1 -
>  arch/sparc/kernel/ptrace_32.c                      |    2 +-
>  arch/sparc/kernel/ptrace_64.c                      |    1 -
>  arch/sparc/kernel/reboot.c                         |    2 +-
>  arch/sparc/kernel/setup_32.c                       |    2 +-
>  arch/sparc/kernel/setup_64.c                       |    2 +-
>  arch/sparc/kernel/signal32.c                       |    1 +
>  arch/sparc/kernel/signal_32.c                      |    1 +
>  arch/sparc/kernel/signal_64.c                      |    2 +
>  arch/sparc/kernel/sigutil_32.c                     |    1 +
>  arch/sparc/kernel/sigutil_64.c                     |    1 +
>  arch/sparc/kernel/sparc_ksyms_64.c                 |    2 +-
>  arch/sparc/kernel/time_32.c                        |    1 -
>  arch/sparc/kernel/traps_32.c                       |    1 -
>  arch/sparc/kernel/traps_64.c                       |    2 +-
>  arch/sparc/kernel/unaligned_32.c                   |    1 -
>  arch/sparc/kernel/unaligned_64.c                   |    2 +-
>  arch/sparc/kernel/visemul.c                        |    2 +-
>  arch/sparc/math-emu/math_64.c                      |    1 +
>  arch/sparc/mm/btfixup.c                            |    1 -
>  arch/sparc/mm/fault_32.c                           |    1 -
>  arch/sparc/mm/init_32.c                            |    1 -
>  arch/sparc/mm/init_64.c                            |    1 -
>  arch/sparc/mm/init_64.h                            |    2 -
>  arch/sparc/mm/loadmmu.c                            |    1 -
>  arch/sparc/mm/tsb.c                                |    1 -
>  arch/sparc/prom/console_32.c                       |    1 -
>  arch/sparc/prom/console_64.c                       |    1 -
>  arch/sparc/prom/misc_32.c                          |    1 -
>  arch/sparc/prom/misc_64.c                          |    1 -
>  arch/sparc/prom/p1275.c                            |    1 -
>  arch/sparc/prom/ranges.c                           |    1 -
>  arch/tile/include/asm/atomic.h                     |    2 +-
>  arch/tile/include/asm/atomic_32.h                  |    1 +
>  arch/tile/include/asm/atomic_64.h                  |    1 +
>  arch/tile/include/asm/{system.h => barrier.h}      |  121 +----
>  arch/tile/include/asm/bitops_32.h                  |    1 -
>  arch/tile/include/asm/bitops_64.h                  |    1 -
>  arch/tile/include/asm/cacheflush.h                 |   11 +-
>  arch/tile/include/asm/exec.h                       |   20 +
>  arch/tile/include/asm/pgtable.h                    |    1 -
>  arch/tile/include/asm/setup.h                      |   22 +
>  arch/tile/include/asm/spinlock_32.h                |    1 -
>  arch/tile/include/asm/switch_to.h                  |   76 +++
>  arch/tile/include/asm/timex.h                      |    2 +
>  arch/tile/include/asm/unaligned.h                  |   15 +
>  arch/tile/kernel/early_printk.c                    |    1 +
>  arch/tile/kernel/proc.c                            |    1 +
>  arch/tile/kernel/process.c                         |    3 +-
>  arch/tile/kernel/regs_32.S                         |    2 +-
>  arch/tile/kernel/regs_64.S                         |    2 +-
>  arch/tile/kernel/single_step.c                     |    1 +
>  arch/tile/kernel/traps.c                           |    1 +
>  arch/tile/mm/elf.c                                 |    1 +
>  arch/tile/mm/fault.c                               |    1 -
>  arch/tile/mm/init.c                                |    1 -
>  arch/tile/mm/pgtable.c                             |    1 -
>  arch/um/include/asm/fixmap.h                       |    1 -
>  arch/unicore32/include/asm/Kbuild                  |    1 -
>  arch/unicore32/include/asm/barrier.h               |   28 +
>  arch/unicore32/include/asm/bug.h                   |   27 +
>  arch/unicore32/include/asm/cmpxchg.h               |   61 +++
>  arch/unicore32/include/asm/exec.h                  |   15 +
>  arch/unicore32/include/asm/hwdef-copro.h           |   48 ++
>  arch/unicore32/include/asm/io.h                    |    1 -
>  arch/unicore32/include/asm/switch_to.h             |   30 +
>  arch/unicore32/include/asm/system.h                |  161 ------
>  arch/unicore32/include/asm/uaccess.h               |    1 -
>  arch/unicore32/kernel/dma.c                        |    1 -
>  arch/unicore32/kernel/head.S                       |    2 +-
>  arch/unicore32/kernel/hibernate.c                  |    1 -
>  arch/unicore32/kernel/irq.c                        |    1 -
>  arch/unicore32/kernel/ksyms.c                      |    1 -
>  arch/unicore32/kernel/process.c                    |    1 -
>  arch/unicore32/kernel/setup.h                      |    3 +
>  arch/unicore32/kernel/traps.c                      |    1 -
>  arch/unicore32/mm/alignment.c                      |    2 +
>  arch/unicore32/mm/fault.c                          |    1 -
>  arch/unicore32/mm/flush.c                          |    1 -
>  arch/unicore32/mm/mm.h                             |    5 +
>  arch/x86/ia32/ia32_aout.c                          |    1 -
>  arch/x86/include/asm/apic.h                        |    1 -
>  arch/x86/include/asm/auxvec.h                      |    7 +
>  arch/x86/include/asm/barrier.h                     |  116 ++++
>  arch/x86/include/asm/bug.h                         |    4 +
>  arch/x86/include/asm/cacheflush.h                  |    1 +
>  arch/x86/include/asm/elf.h                         |    1 -
>  arch/x86/include/asm/exec.h                        |    1 +
>  arch/x86/include/asm/futex.h                       |    1 -
>  arch/x86/include/asm/i387.h                        |    1 +
>  arch/x86/include/asm/local.h                       |    1 -
>  arch/x86/include/asm/mc146818rtc.h                 |    1 -
>  arch/x86/include/asm/page_types.h                  |    1 -
>  arch/x86/include/asm/processor.h                   |   31 +-
>  arch/x86/include/asm/segment.h                     |   58 ++-
>  arch/x86/include/asm/special_insns.h               |  199 +++++++
>  arch/x86/include/asm/stackprotector.h              |    1 -
>  arch/x86/include/asm/switch_to.h                   |  129 +++++
>  arch/x86/include/asm/system.h                      |  523 ------------------
>  arch/x86/include/asm/tlbflush.h                    |    2 +-
>  arch/x86/include/asm/virtext.h                     |    1 -
>  arch/x86/kernel/acpi/cstate.c                      |    1 +
>  arch/x86/kernel/apm_32.c                           |    1 -
>  arch/x86/kernel/cpu/mcheck/p5.c                    |    1 -
>  arch/x86/kernel/cpu/mcheck/therm_throt.c           |    1 -
>  arch/x86/kernel/cpu/mcheck/winchip.c               |    1 -
>  arch/x86/kernel/cpu/mtrr/generic.c                 |    1 -
>  arch/x86/kernel/cpuid.c                            |    1 -
>  arch/x86/kernel/i8259.c                            |    1 -
>  arch/x86/kernel/irqinit.c                          |    1 -
>  arch/x86/kernel/kgdb.c                             |    1 -
>  arch/x86/kernel/ldt.c                              |    1 -
>  arch/x86/kernel/machine_kexec_32.c                 |    1 -
>  arch/x86/kernel/mca_32.c                           |    1 -
>  arch/x86/kernel/module.c                           |    1 -
>  arch/x86/kernel/msr.c                              |    1 -
>  arch/x86/kernel/paravirt.c                         |    1 +
>  arch/x86/kernel/pci-calgary_64.c                   |    1 -
>  arch/x86/kernel/process.c                          |    1 -
>  arch/x86/kernel/process_32.c                       |    2 +-
>  arch/x86/kernel/process_64.c                       |    2 +-
>  arch/x86/kernel/ptrace.c                           |    1 -
>  arch/x86/kernel/setup.c                            |    1 -
>  arch/x86/kernel/tce_64.c                           |    1 +
>  arch/x86/kernel/tls.c                              |    1 -
>  arch/x86/kernel/traps.c                            |    1 -
>  arch/x86/mm/init.c                                 |    1 -
>  arch/x86/mm/init_32.c                              |    1 -
>  arch/x86/mm/init_64.c                              |    1 -
>  arch/x86/mm/pgtable_32.c                           |    1 -
>  arch/x86/power/hibernate_32.c                      |    1 -
>  arch/xtensa/include/asm/atomic.h                   |    2 +-
>  arch/xtensa/include/asm/barrier.h                  |   29 +
>  arch/xtensa/include/asm/bitops.h                   |    1 -
>  arch/xtensa/include/asm/{system.h => cmpxchg.h}    |   67 +---
>  arch/xtensa/include/asm/exec.h                     |   14 +
>  arch/xtensa/include/asm/setup.h                    |    2 +
>  arch/xtensa/include/asm/switch_to.h                |   22 +
>  arch/xtensa/include/asm/uaccess.h                  |    2 +
>  arch/xtensa/kernel/process.c                       |    1 -
>  arch/xtensa/kernel/ptrace.c                        |    1 -
>  arch/xtensa/kernel/setup.c                         |    1 -
>  arch/xtensa/kernel/traps.c                         |   19 +
>  arch/xtensa/mm/fault.c                             |    1 -
>  arch/xtensa/mm/tlb.c                               |    1 -
>  drivers/acpi/processor_driver.c                    |    1 -
>  drivers/atm/eni.c                                  |    1 -
>  drivers/atm/firestream.c                           |    1 -
>  drivers/atm/horizon.c                              |    1 -
>  drivers/atm/idt77105.c                             |    1 -
>  drivers/atm/iphase.c                               |    1 -
>  drivers/atm/suni.c                                 |    1 -
>  drivers/atm/zatm.c                                 |    1 -
>  drivers/block/floppy.c                             |    1 -
>  drivers/block/hd.c                                 |    1 -
>  drivers/block/nbd.c                                |    1 -
>  drivers/block/xd.c                                 |    1 -
>  drivers/bluetooth/bt3c_cs.c                        |    1 -
>  drivers/bluetooth/btuart_cs.c                      |    1 -
>  drivers/bluetooth/dtl1_cs.c                        |    1 -
>  drivers/char/apm-emulation.c                       |    1 -
>  drivers/char/ds1302.c                              |    1 -
>  drivers/char/efirtc.c                              |    1 -
>  drivers/char/genrtc.c                              |    1 -
>  drivers/char/hpet.c                                |    1 -
>  drivers/char/ipmi/ipmi_devintf.c                   |    1 -
>  drivers/char/ipmi/ipmi_msghandler.c                |    1 -
>  drivers/char/ipmi/ipmi_si_intf.c                   |    1 -
>  drivers/char/lp.c                                  |    1 -
>  drivers/char/mbcs.c                                |    1 -
>  drivers/char/mspec.c                               |    1 -
>  drivers/char/mwave/3780i.c                         |    1 -
>  drivers/char/nvram.c                               |    1 -
>  drivers/char/nwflash.c                             |    1 -
>  drivers/char/pcmcia/synclink_cs.c                  |    1 -
>  drivers/char/rtc.c                                 |    1 -
>  drivers/char/sonypi.c                              |    1 -
>  drivers/char/xilinx_hwicap/xilinx_hwicap.c         |    1 -
>  drivers/cpufreq/omap-cpufreq.c                     |    1 -
>  drivers/cpufreq/powernow-k7.c                      |    1 -
>  drivers/firewire/core-cdev.c                       |    1 -
>  drivers/firewire/core-device.c                     |    1 -
>  drivers/firewire/core-topology.c                   |    1 -
>  drivers/firewire/ohci.c                            |    1 -
>  drivers/firewire/sbp2.c                            |    1 -
>  drivers/i2c/busses/i2c-acorn.c                     |    1 -
>  drivers/ide/ide-cs.c                               |    1 -
>  drivers/ide/qd65xx.c                               |    1 -
>  drivers/infiniband/hw/ehca/ehca_reqs.c             |    1 -
>  drivers/input/joydev.c                             |    1 -
>  drivers/input/joystick/amijoy.c                    |    1 -
>  drivers/input/mouse/amimouse.c                     |    1 -
>  drivers/input/mouse/atarimouse.c                   |    1 -
>  drivers/input/serio/hp_sdc.c                       |    1 -
>  drivers/input/serio/maceps2.c                      |    1 -
>  drivers/input/serio/rpckbd.c                       |    1 -
>  drivers/input/serio/sa1111ps2.c                    |    1 -
>  drivers/isdn/hardware/avm/avm_cs.c                 |    1 -
>  drivers/isdn/hisax/avma1_cs.c                      |    1 -
>  drivers/isdn/hisax/elsa_cs.c                       |    1 -
>  drivers/isdn/hisax/sedlbauer_cs.c                  |    1 -
>  drivers/isdn/hisax/teles_cs.c                      |    1 -
>  drivers/isdn/i4l/isdn_bsdcomp.c                    |    1 -
>  drivers/isdn/pcbit/layer2.c                        |    1 -
>  drivers/macintosh/macio-adb.c                      |    1 -
>  drivers/macintosh/therm_adt746x.c                  |    1 -
>  drivers/macintosh/therm_pm72.c                     |    1 -
>  drivers/macintosh/therm_windtunnel.c               |    1 -
>  drivers/macintosh/via-cuda.c                       |    1 -
>  drivers/macintosh/via-macii.c                      |    1 -
>  drivers/macintosh/via-pmu.c                        |    1 -
>  drivers/macintosh/via-pmu68k.c                     |    1 -
>  drivers/macintosh/windfarm_lm75_sensor.c           |    1 -
>  drivers/macintosh/windfarm_pm121.c                 |    1 -
>  drivers/macintosh/windfarm_pm81.c                  |    1 -
>  drivers/macintosh/windfarm_pm91.c                  |    1 -
>  drivers/macintosh/windfarm_smu_controls.c          |    1 -
>  drivers/macintosh/windfarm_smu_sensors.c           |    1 -
>  drivers/media/dvb/dvb-core/dmxdev.c                |    1 -
>  drivers/media/dvb/firewire/firedtv-fw.c            |    1 -
>  drivers/media/dvb/ttpci/av7110.c                   |    1 -
>  drivers/media/media-devnode.c                      |    1 -
>  drivers/media/video/ivtv/ivtv-driver.h             |    1 -
>  drivers/media/video/v4l2-common.c                  |    1 -
>  drivers/media/video/v4l2-dev.c                     |    1 -
>  drivers/message/i2o/i2o_scsi.c                     |    1 -
>  drivers/mfd/mcp-core.c                             |    1 -
>  drivers/mfd/mcp-sa11x0.c                           |    1 -
>  drivers/misc/sgi-gru/gru_instructions.h            |    1 +
>  drivers/misc/sgi-xp/xp.h                           |    1 -
>  drivers/mmc/card/block.c                           |    1 -
>  drivers/mtd/devices/pmc551.c                       |    1 -
>  drivers/mtd/devices/slram.c                        |    1 -
>  drivers/mtd/maps/pcmciamtd.c                       |    1 -
>  drivers/mtd/nand/bcm_umi_nand.c                    |    1 -
>  drivers/net/appletalk/cops.c                       |    1 -
>  drivers/net/appletalk/ltpc.c                       |    1 -
>  drivers/net/arcnet/com20020_cs.c                   |    1 -
>  drivers/net/bonding/bond_main.c                    |    1 -
>  drivers/net/can/slcan.c                            |    1 -
>  drivers/net/cris/eth_v10.c                         |    1 -
>  drivers/net/ethernet/3com/3c574_cs.c               |    1 -
>  drivers/net/ethernet/3com/3c589_cs.c               |    1 -
>  drivers/net/ethernet/8390/3c503.c                  |    1 -
>  drivers/net/ethernet/8390/ac3200.c                 |    1 -
>  drivers/net/ethernet/8390/apne.c                   |    1 -
>  drivers/net/ethernet/8390/ax88796.c                |    1 -
>  drivers/net/ethernet/8390/axnet_cs.c               |    1 -
>  drivers/net/ethernet/8390/e2100.c                  |    1 -
>  drivers/net/ethernet/8390/es3210.c                 |    1 -
>  drivers/net/ethernet/8390/etherh.c                 |    2 +-
>  drivers/net/ethernet/8390/hp-plus.c                |    1 -
>  drivers/net/ethernet/8390/hp.c                     |    1 -
>  drivers/net/ethernet/8390/lib8390.c                |    1 -
>  drivers/net/ethernet/8390/lne390.c                 |    1 -
>  drivers/net/ethernet/8390/mac8390.c                |    1 -
>  drivers/net/ethernet/8390/ne-h8300.c               |    1 -
>  drivers/net/ethernet/8390/ne.c                     |    1 -
>  drivers/net/ethernet/8390/ne2.c                    |    1 -
>  drivers/net/ethernet/8390/ne2k-pci.c               |    1 -
>  drivers/net/ethernet/8390/ne3210.c                 |    1 -
>  drivers/net/ethernet/8390/pcnet_cs.c               |    1 -
>  drivers/net/ethernet/8390/smc-mca.c                |    1 -
>  drivers/net/ethernet/8390/smc-ultra.c              |    1 -
>  drivers/net/ethernet/8390/smc-ultra32.c            |    1 -
>  drivers/net/ethernet/8390/stnic.c                  |    1 -
>  drivers/net/ethernet/8390/wd.c                     |    1 -
>  drivers/net/ethernet/8390/zorro8390.c              |    1 -
>  drivers/net/ethernet/alteon/acenic.c               |    1 -
>  drivers/net/ethernet/amd/7990.c                    |    1 -
>  drivers/net/ethernet/amd/am79c961a.c               |    1 -
>  drivers/net/ethernet/amd/amd8111e.c                |    1 -
>  drivers/net/ethernet/amd/declance.c                |    1 -
>  drivers/net/ethernet/amd/hplance.c                 |    1 -
>  drivers/net/ethernet/amd/mvme147.c                 |    1 -
>  drivers/net/ethernet/amd/nmclan_cs.c               |    1 -
>  drivers/net/ethernet/amd/sunlance.c                |    1 -
>  drivers/net/ethernet/broadcom/tg3.c                |    1 -
>  drivers/net/ethernet/cirrus/cs89x0.c               |    1 -
>  drivers/net/ethernet/cirrus/mac89x0.c              |    1 -
>  drivers/net/ethernet/dlink/de600.c                 |    1 -
>  drivers/net/ethernet/dlink/de620.c                 |    1 -
>  drivers/net/ethernet/fujitsu/at1700.c              |    1 -
>  drivers/net/ethernet/fujitsu/eth16i.c              |    1 -
>  drivers/net/ethernet/fujitsu/fmvj18x_cs.c          |    1 -
>  drivers/net/ethernet/i825xx/3c507.c                |    1 -
>  drivers/net/ethernet/i825xx/3c527.c                |    1 -
>  drivers/net/ethernet/i825xx/eepro.c                |    1 -
>  drivers/net/ethernet/i825xx/eexpress.c             |    1 -
>  drivers/net/ethernet/i825xx/ether1.c               |    1 -
>  drivers/net/ethernet/i825xx/znet.c                 |    1 -
>  drivers/net/ethernet/korina.c                      |    1 -
>  drivers/net/ethernet/marvell/mv643xx_eth.c         |    1 -
>  drivers/net/ethernet/marvell/pxa168_eth.c          |    1 -
>  drivers/net/ethernet/natsemi/jazzsonic.c           |    1 -
>  drivers/net/ethernet/natsemi/macsonic.c            |    1 -
>  drivers/net/ethernet/natsemi/ns83820.c             |    1 -
>  drivers/net/ethernet/neterion/s2io.c               |    1 -
>  drivers/net/ethernet/nvidia/forcedeth.c            |    1 -
>  drivers/net/ethernet/realtek/atp.c                 |    1 -
>  drivers/net/ethernet/realtek/r8169.c               |    1 -
>  drivers/net/ethernet/seeq/ether3.c                 |    1 -
>  drivers/net/ethernet/seeq/seeq8005.c               |    1 -
>  drivers/net/ethernet/smsc/smc91c92_cs.c            |    1 -
>  drivers/net/ethernet/sun/cassini.c                 |    1 -
>  drivers/net/ethernet/sun/sunbmac.c                 |    1 -
>  drivers/net/ethernet/sun/sungem.c                  |    1 -
>  drivers/net/ethernet/sun/sunhme.c                  |    1 -
>  drivers/net/ethernet/sun/sunqe.c                   |    1 -
>  drivers/net/ethernet/tundra/tsi108_eth.c           |    1 -
>  drivers/net/ethernet/xircom/xirc2ps_cs.c           |    1 -
>  drivers/net/hamradio/6pack.c                       |    1 -
>  drivers/net/hamradio/baycom_par.c                  |    1 -
>  drivers/net/hamradio/bpqether.c                    |    1 -
>  drivers/net/hamradio/mkiss.c                       |    1 -
>  drivers/net/hamradio/scc.c                         |    1 -
>  drivers/net/hamradio/yam.c                         |    1 -
>  drivers/net/hippi/rrunner.c                        |    1 -
>  drivers/net/irda/donauboe.c                        |    1 -
>  drivers/net/loopback.c                             |    1 -
>  drivers/net/plip/plip.c                            |    1 -
>  drivers/net/slip/slhc.c                            |    1 -
>  drivers/net/slip/slip.c                            |    1 -
>  drivers/net/tokenring/3c359.c                      |    1 -
>  drivers/net/tokenring/abyss.c                      |    1 -
>  drivers/net/tokenring/ibmtr_cs.c                   |    1 -
>  drivers/net/tokenring/lanstreamer.c                |    1 -
>  drivers/net/tokenring/madgemc.c                    |    1 -
>  drivers/net/tokenring/olympic.c                    |    1 -
>  drivers/net/tokenring/proteon.c                    |    1 -
>  drivers/net/tokenring/skisa.c                      |    1 -
>  drivers/net/tokenring/smctr.c                      |    1 -
>  drivers/net/tokenring/tms380tr.c                   |    1 -
>  drivers/net/tokenring/tmspci.c                     |    1 -
>  drivers/net/tun.c                                  |    1 -
>  drivers/net/wan/dlci.c                             |    1 -
>  drivers/net/wan/dscc4.c                            |    1 -
>  drivers/net/wan/hd64570.c                          |    1 -
>  drivers/net/wan/hd64572.c                          |    1 -
>  drivers/net/wan/lapbether.c                        |    1 -
>  drivers/net/wan/sdla.c                             |    1 -
>  drivers/net/wan/x25_asy.c                          |    1 -
>  drivers/net/wireless/airo.c                        |    1 -
>  drivers/net/wireless/airo_cs.c                     |    1 -
>  drivers/net/wireless/atmel.c                       |    1 -
>  drivers/net/wireless/atmel_cs.c                    |    1 -
>  drivers/net/wireless/prism54/islpci_mgt.c          |    1 -
>  drivers/net/wireless/ray_cs.c                      |    1 -
>  drivers/net/wireless/wl3501_cs.c                   |    1 -
>  drivers/nubus/nubus.c                              |    1 -
>  drivers/parisc/dino.c                              |    1 -
>  drivers/parisc/iosapic.c                           |    1 -
>  drivers/parisc/lba_pci.c                           |    1 -
>  drivers/pcmcia/cs.c                                |    1 -
>  drivers/pcmcia/i82092.c                            |    1 -
>  drivers/pcmcia/i82365.c                            |    1 -
>  drivers/pcmcia/m32r_cfc.c                          |    1 -
>  drivers/pcmcia/m32r_pcc.c                          |    1 -
>  drivers/pcmcia/m8xx_pcmcia.c                       |    1 -
>  drivers/pcmcia/pd6729.c                            |    1 -
>  drivers/pcmcia/pxa2xx_base.c                       |    1 -
>  drivers/pcmcia/sa11xx_base.c                       |    1 -
>  drivers/pcmcia/soc_common.c                        |    1 -
>  drivers/pcmcia/socket_sysfs.c                      |    1 -
>  drivers/pcmcia/tcic.c                              |    1 -
>  drivers/pcmcia/xxs1500_ss.c                        |    1 -
>  drivers/pnp/pnpbios/bioscalls.c                    |    1 -
>  drivers/pnp/pnpbios/core.c                         |    1 -
>  drivers/s390/char/sclp_cmd.c                       |    1 +
>  drivers/s390/cio/crw.c                             |    1 +
>  drivers/s390/crypto/ap_bus.c                       |    2 +-
>  drivers/sbus/char/flash.c                          |    1 -
>  drivers/sbus/char/openprom.c                       |    1 -
>  drivers/sbus/char/uctrl.c                          |    1 -
>  drivers/scsi/53c700.c                              |    1 -
>  drivers/scsi/BusLogic.c                            |    1 -
>  drivers/scsi/advansys.c                            |    1 -
>  drivers/scsi/aha152x.c                             |    1 -
>  drivers/scsi/aha1542.c                             |    1 -
>  drivers/scsi/aha1740.c                             |    1 -
>  drivers/scsi/arcmsr/arcmsr_hba.c                   |    1 -
>  drivers/scsi/arm/acornscsi.c                       |    1 -
>  drivers/scsi/arm/cumana_1.c                        |    1 -
>  drivers/scsi/arm/oak.c                             |    1 -
>  drivers/scsi/atp870u.c                             |    1 -
>  drivers/scsi/dtc.c                                 |    1 -
>  drivers/scsi/fd_mcs.c                              |    1 -
>  drivers/scsi/fdomain.c                             |    1 -
>  drivers/scsi/g_NCR5380.c                           |    1 -
>  drivers/scsi/gdth.c                                |    1 -
>  drivers/scsi/ibmmca.c                              |    1 -
>  drivers/scsi/in2000.c                              |    1 -
>  drivers/scsi/mac53c94.c                            |    1 -
>  drivers/scsi/mac_scsi.c                            |    1 -
>  drivers/scsi/mesh.c                                |    1 -
>  drivers/scsi/ncr53c8xx.c                           |    1 -
>  drivers/scsi/nsp32.c                               |    1 -
>  drivers/scsi/osst.c                                |    1 -
>  drivers/scsi/pas16.c                               |    1 -
>  drivers/scsi/qla1280.c                             |    1 -
>  drivers/scsi/qlogicpti.c                           |    1 -
>  drivers/scsi/st.c                                  |    1 -
>  drivers/scsi/sun3_scsi.c                           |    1 -
>  drivers/scsi/sun3_scsi_vme.c                       |    1 -
>  drivers/scsi/sym53c416.c                           |    1 -
>  drivers/scsi/t128.c                                |    1 -
>  drivers/scsi/u14-34f.c                             |    1 -
>  drivers/scsi/ultrastor.c                           |    1 -
>  drivers/scsi/wd7000.c                              |    1 -
>  drivers/spi/spi-omap-uwire.c                       |    1 -
>  drivers/staging/comedi/drivers.c                   |    1 -
>  drivers/staging/comedi/drivers/cb_pcidas64.c       |    1 -
>  drivers/staging/comedi/drivers/mite.c              |    1 -
>  drivers/staging/crystalhd/crystalhd_lnx.h          |    1 -
>  drivers/staging/crystalhd/crystalhd_misc.h         |    1 -
>  drivers/staging/et131x/et131x.c                    |    1 -
>  drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c   |    1 -
>  drivers/staging/media/go7007/go7007-driver.c       |    1 -
>  drivers/staging/media/go7007/go7007-i2c.c          |    1 -
>  drivers/staging/media/go7007/go7007-v4l2.c         |    1 -
>  drivers/staging/media/go7007/snd-go7007.c          |    1 -
>  drivers/staging/media/lirc/lirc_serial.c           |    1 -
>  drivers/staging/media/lirc/lirc_sir.c              |    1 -
>  drivers/staging/panel/panel.c                      |    1 -
>  drivers/staging/sbe-2t3e3/io.c                     |    1 -
>  .../tidspbridge/include/dspbridge/host_os.h        |    1 -
>  drivers/staging/wlags49_h2/wl_cs.c                 |    1 -
>  drivers/staging/wlags49_h2/wl_main.c               |    3 +-
>  drivers/staging/wlags49_h2/wl_netdev.c             |    3 +-
>  drivers/staging/wlags49_h2/wl_pci.c                |    1 -
>  drivers/staging/wlags49_h2/wl_util.c               |    3 +-
>  drivers/telephony/phonedev.c                       |    1 -
>  drivers/tty/amiserial.c                            |    1 -
>  drivers/tty/isicom.c                               |    1 -
>  drivers/tty/moxa.c                                 |    1 -
>  drivers/tty/mxser.c                                |    1 -
>  drivers/tty/n_hdlc.c                               |    1 -
>  drivers/tty/n_tty.c                                |    1 -
>  drivers/tty/pty.c                                  |    1 -
>  drivers/tty/serial/21285.c                         |    1 +
>  drivers/tty/serial/68328serial.c                   |    1 -
>  drivers/tty/serial/8250/serial_cs.c                |    1 -
>  drivers/tty/serial/crisv10.c                       |    2 +-
>  drivers/tty/serial/dz.c                            |    1 -
>  drivers/tty/serial/icom.c                          |    1 -
>  drivers/tty/serial/msm_serial_hs.c                 |    1 -
>  drivers/tty/serial/sunhv.c                         |    1 +
>  drivers/tty/serial/sunsab.c                        |    1 +
>  drivers/tty/serial/sunsu.c                         |    1 +
>  drivers/tty/serial/sunzilog.c                      |    1 +
>  drivers/tty/serial/zs.c                            |    1 -
>  drivers/tty/synclink.c                             |    1 -
>  drivers/tty/synclink_gt.c                          |    1 -
>  drivers/tty/synclinkmp.c                           |    1 -
>  drivers/tty/tty_io.c                               |    1 -
>  drivers/tty/tty_ioctl.c                            |    1 -
>  drivers/tty/vt/vt.c                                |    1 -
>  drivers/usb/gadget/amd5536udc.c                    |    1 -
>  drivers/usb/gadget/at91_udc.c                      |    1 -
>  drivers/usb/gadget/dummy_hcd.c                     |    1 -
>  drivers/usb/gadget/fsl_udc_core.c                  |    1 -
>  drivers/usb/gadget/goku_udc.c                      |    1 -
>  drivers/usb/gadget/langwell_udc.c                  |    1 -
>  drivers/usb/gadget/mv_udc_core.c                   |    1 -
>  drivers/usb/gadget/net2272.c                       |    1 -
>  drivers/usb/gadget/net2280.c                       |    1 -
>  drivers/usb/gadget/omap_udc.c                      |    1 -
>  drivers/usb/gadget/printer.c                       |    1 -
>  drivers/usb/gadget/pxa25x_udc.c                    |    1 -
>  drivers/usb/gadget/rndis.c                         |    1 -
>  drivers/usb/gadget/s3c2410_udc.c                   |    1 -
>  drivers/usb/host/ehci-hcd.c                        |    1 -
>  drivers/usb/host/isp116x-hcd.c                     |    1 -
>  drivers/usb/host/isp1362-hcd.c                     |    1 -
>  drivers/usb/host/ohci-hcd.c                        |    1 -
>  drivers/usb/host/oxu210hp-hcd.c                    |    1 -
>  drivers/usb/host/sl811-hcd.c                       |    1 -
>  drivers/usb/host/u132-hcd.c                        |    1 -
>  drivers/usb/host/uhci-hcd.c                        |    1 -
>  drivers/video/amifb.c                              |    1 -
>  drivers/video/bt431.h                              |    1 -
>  drivers/video/bt455.h                              |    1 -
>  drivers/video/console/fbcon.c                      |    1 -
>  drivers/video/console/newport_con.c                |    1 -
>  drivers/video/cyber2000fb.c                        |    1 -
>  drivers/video/dnfb.c                               |    1 -
>  drivers/video/neofb.c                              |    1 -
>  drivers/video/pmag-ba-fb.c                         |    1 -
>  drivers/video/pmagb-b-fb.c                         |    1 -
>  drivers/video/q40fb.c                              |    1 -
>  drivers/video/savage/savagefb_driver.c             |    1 -
>  drivers/virtio/config.c                            |    1 -
>  drivers/watchdog/advantechwdt.c                    |    1 -
>  drivers/watchdog/alim7101_wdt.c                    |    1 -
>  drivers/watchdog/booke_wdt.c                       |    1 -
>  drivers/watchdog/eurotechwdt.c                     |    1 -
>  drivers/watchdog/ib700wdt.c                        |    1 -
>  drivers/watchdog/it87_wdt.c                        |    1 -
>  drivers/watchdog/machzwd.c                         |    1 -
>  drivers/watchdog/pc87413_wdt.c                     |    1 -
>  drivers/watchdog/sbc60xxwdt.c                      |    1 -
>  drivers/watchdog/sbc7240_wdt.c                     |    1 -
>  drivers/watchdog/sbc8360.c                         |    1 -
>  drivers/watchdog/sbc_fitpc2_wdt.c                  |    1 -
>  drivers/watchdog/sc520_wdt.c                       |    1 -
>  drivers/watchdog/smsc37b787_wdt.c                  |    1 -
>  drivers/watchdog/w83627hf_wdt.c                    |    1 -
>  drivers/watchdog/w83697hf_wdt.c                    |    1 -
>  drivers/watchdog/w83697ug_wdt.c                    |    1 -
>  drivers/watchdog/w83877f_wdt.c                     |    1 -
>  drivers/watchdog/w83977f_wdt.c                     |    1 -
>  drivers/watchdog/wdt.c                             |    1 -
>  drivers/watchdog/wdt285.c                          |    1 +
>  drivers/watchdog/wdt977.c                          |    1 -
>  drivers/watchdog/wdt_pci.c                         |    1 -
>  fs/binfmt_aout.c                                   |    1 -
>  fs/binfmt_elf.c                                    |    1 +
>  fs/binfmt_elf_fdpic.c                              |    1 +
>  fs/binfmt_flat.c                                   |    1 -
>  fs/coda/inode.c                                    |    1 -
>  fs/coda/psdev.c                                    |    1 -
>  fs/coda/upcall.c                                   |    1 -
>  fs/eventpoll.c                                     |    1 -
>  fs/exec.c                                          |    1 +
>  fs/jbd2/commit.c                                   |    1 -
>  fs/jbd2/journal.c                                  |    1 -
>  fs/ncpfs/file.c                                    |    1 -
>  fs/ncpfs/inode.c                                   |    1 -
>  fs/ncpfs/mmap.c                                    |    1 -
>  fs/nfs/client.c                                    |    1 -
>  fs/nfs/direct.c                                    |    1 -
>  fs/nfs/file.c                                      |    1 -
>  fs/nfs/getroot.c                                   |    1 -
>  fs/nfs/inode.c                                     |    1 -
>  fs/nfs/read.c                                      |    1 -
>  fs/nfs/super.c                                     |    1 -
>  fs/proc/inode.c                                    |    1 -
>  fs/reiserfs/journal.c                              |    1 -
>  fs/ufs/inode.c                                     |    1 -
>  fs/ufs/super.c                                     |    1 -
>  fs/xfs/xfs_buf.h                                   |    1 -
>  include/acpi/platform/aclinux.h                    |    1 -
>  include/asm-generic/atomic.h                       |    3 +-
>  include/asm-generic/barrier.h                      |   50 ++
>  include/asm-generic/bitops/atomic.h                |    2 +-
>  include/asm-generic/cmpxchg.h                      |   87 +++-
>  include/asm-generic/exec.h                         |   19 +
>  include/asm-generic/switch_to.h                    |   30 +
>  include/asm-generic/system.h                       |  141 -----
>  include/linux/cnt32_to_63.h                        |    1 -
>  include/linux/debug_locks.h                        |    1 -
>  include/linux/efi.h                                |    1 -
>  include/linux/ide.h                                |    1 -
>  include/linux/interrupt.h                          |    1 -
>  include/linux/llist.h                              |    3 +-
>  include/linux/lsm_audit.h                          |    1 -
>  include/linux/mm.h                                 |    2 +
>  include/linux/mtd/map.h                            |    2 +-
>  include/linux/parport.h                            |    1 -
>  include/linux/rwsem.h                              |    1 -
>  include/linux/sched.h                              |    1 -
>  include/linux/skbuff.h                             |    1 -
>  include/linux/spinlock.h                           |    2 +-
>  include/linux/stop_machine.h                       |    1 -
>  include/linux/tty.h                                |    1 -
>  include/linux/wait.h                               |    1 -
>  include/xen/xen-ops.h                              |    1 +
>  init/main.c                                        |    1 -
>  kernel/debug/debug_core.c                          |    1 -
>  kernel/debug/kdb/kdb_bt.c                          |    1 -
>  kernel/dma.c                                       |    1 -
>  kernel/kexec.c                                     |    1 -
>  kernel/rwsem.c                                     |    1 -
>  kernel/sched/core.c                                |    1 +
>  kernel/signal.c                                    |    1 +
>  kernel/sysctl.c                                    |    4 +-
>  lib/llist.c                                        |    1 -
>  lib/raid6/altivec.uc                               |    1 -
>  net/802/fc.c                                       |    1 -
>  net/802/fddi.c                                     |    1 -
>  net/802/hippi.c                                    |    1 -
>  net/802/tr.c                                       |    1 -
>  net/atm/clip.c                                     |    1 -
>  net/ax25/af_ax25.c                                 |    1 -
>  net/ax25/ax25_addr.c                               |    1 -
>  net/ax25/ax25_dev.c                                |    1 -
>  net/ax25/ax25_ds_in.c                              |    1 -
>  net/ax25/ax25_ds_subr.c                            |    1 -
>  net/ax25/ax25_ds_timer.c                           |    1 -
>  net/ax25/ax25_iface.c                              |    1 -
>  net/ax25/ax25_in.c                                 |    1 -
>  net/ax25/ax25_ip.c                                 |    1 -
>  net/ax25/ax25_out.c                                |    1 -
>  net/ax25/ax25_route.c                              |    1 -
>  net/ax25/ax25_std_in.c                             |    1 -
>  net/ax25/ax25_std_subr.c                           |    1 -
>  net/ax25/ax25_std_timer.c                          |    1 -
>  net/ax25/ax25_subr.c                               |    1 -
>  net/ax25/ax25_timer.c                              |    1 -
>  net/ax25/ax25_uid.c                                |    1 -
>  net/bluetooth/bnep/sock.c                          |    1 -
>  net/bluetooth/cmtp/sock.c                          |    1 -
>  net/bluetooth/hci_conn.c                           |    1 -
>  net/bluetooth/hci_core.c                           |    1 -
>  net/bluetooth/hci_event.c                          |    1 -
>  net/bluetooth/hci_sock.c                           |    1 -
>  net/bluetooth/l2cap_core.c                         |    1 -
>  net/bluetooth/rfcomm/sock.c                        |    1 -
>  net/bluetooth/sco.c                                |    1 -
>  net/core/datagram.c                                |    1 -
>  net/core/dev.c                                     |    1 -
>  net/core/filter.c                                  |    1 -
>  net/core/gen_estimator.c                           |    1 -
>  net/core/rtnetlink.c                               |    1 -
>  net/core/scm.c                                     |    1 -
>  net/core/skbuff.c                                  |    1 -
>  net/core/sock.c                                    |    1 -
>  net/core/utils.c                                   |    1 -
>  net/decnet/af_decnet.c                             |    1 -
>  net/decnet/dn_dev.c                                |    1 -
>  net/decnet/dn_nsp_in.c                             |    1 -
>  net/decnet/dn_nsp_out.c                            |    1 -
>  net/econet/af_econet.c                             |    1 -
>  net/ethernet/eth.c                                 |    1 -
>  net/ipv4/af_inet.c                                 |    1 -
>  net/ipv4/arp.c                                     |    1 -
>  net/ipv4/devinet.c                                 |    1 -
>  net/ipv4/fib_frontend.c                            |    1 -
>  net/ipv4/fib_semantics.c                           |    1 -
>  net/ipv4/fib_trie.c                                |    1 -
>  net/ipv4/icmp.c                                    |    1 -
>  net/ipv4/igmp.c                                    |    1 -
>  net/ipv4/ip_input.c                                |    1 -
>  net/ipv4/ip_output.c                               |    1 -
>  net/ipv4/ipmr.c                                    |    1 -
>  net/ipv4/ping.c                                    |    1 -
>  net/ipv4/route.c                                   |    1 -
>  net/ipv4/udp.c                                     |    1 -
>  net/ipv6/af_inet6.c                                |    1 -
>  net/ipv6/icmp.c                                    |    1 -
>  net/ipv6/ip6mr.c                                   |    1 -
>  net/irda/irlan/irlan_client.c                      |    1 -
>  net/irda/irlan/irlan_common.c                      |    1 -
>  net/irda/irlan/irlan_provider.c                    |    1 -
>  net/irda/timer.c                                   |    1 -
>  net/lapb/lapb_iface.c                              |    1 -
>  net/lapb/lapb_in.c                                 |    1 -
>  net/lapb/lapb_out.c                                |    1 -
>  net/lapb/lapb_subr.c                               |    1 -
>  net/lapb/lapb_timer.c                              |    1 -
>  net/netfilter/ipvs/ip_vs_app.c                     |    1 -
>  net/netfilter/ipvs/ip_vs_proto.c                   |    1 -
>  net/netfilter/nfnetlink.c                          |    1 -
>  net/netrom/af_netrom.c                             |    1 -
>  net/netrom/nr_dev.c                                |    1 -
>  net/netrom/nr_in.c                                 |    1 -
>  net/netrom/nr_out.c                                |    1 -
>  net/netrom/nr_route.c                              |    1 -
>  net/netrom/nr_subr.c                               |    1 -
>  net/netrom/nr_timer.c                              |    1 -
>  net/openvswitch/datapath.c                         |    1 -
>  net/packet/af_packet.c                             |    1 -
>  net/rose/af_rose.c                                 |    1 -
>  net/rose/rose_dev.c                                |    1 -
>  net/rose/rose_in.c                                 |    1 -
>  net/rose/rose_link.c                               |    1 -
>  net/rose/rose_out.c                                |    1 -
>  net/rose/rose_route.c                              |    1 -
>  net/rose/rose_subr.c                               |    1 -
>  net/rose/rose_timer.c                              |    1 -
>  net/sunrpc/clnt.c                                  |    1 -
>  security/selinux/include/avc.h                     |    1 -
>  sound/oss/os.h                                     |    1 -
>  sound/oss/vidc.c                                   |    1 -
>  sound/oss/waveartist.c                             |    1 -
>  sound/pci/asihpi/hpios.h                           |    1 -
>  sound/pci/aw2/aw2-saa7146.c                        |    1 -
>  1612 files changed, 6971 insertions(+), 7077 deletions(-)
>  create mode 100644 arch/alpha/include/asm/exec.h
>  create mode 100644 arch/alpha/include/asm/mce.h
>  create mode 100644 arch/alpha/include/asm/special_insns.h
>  create mode 100644 arch/alpha/include/asm/switch_to.h
>  delete mode 100644 arch/alpha/include/asm/system.h
>  create mode 100644 arch/arm/include/asm/barrier.h
>  create mode 100644 arch/arm/include/asm/cmpxchg.h
>  create mode 100644 arch/arm/include/asm/compiler.h
>  create mode 100644 arch/arm/include/asm/cp15.h
>  create mode 100644 arch/arm/include/asm/exec.h
>  create mode 100644 arch/arm/include/asm/switch_to.h
>  create mode 100644 arch/arm/include/asm/system_info.h
>  create mode 100644 arch/arm/include/asm/system_misc.h
>  create mode 100644 arch/avr32/include/asm/barrier.h
>  rename arch/avr32/include/asm/{system.h => cmpxchg.h} (57%)
>  create mode 100644 arch/avr32/include/asm/exec.h
>  create mode 100644 arch/avr32/include/asm/special_insns.h
>  create mode 100644 arch/avr32/include/asm/switch_to.h
>  create mode 100644 arch/blackfin/include/asm/barrier.h
>  rename arch/blackfin/include/asm/{system.h => cmpxchg.h} (60%)
>  create mode 100644 arch/blackfin/include/asm/exec.h
>  create mode 100644 arch/blackfin/include/asm/switch_to.h
>  create mode 100644 arch/c6x/include/asm/barrier.h
>  create mode 100644 arch/c6x/include/asm/bug.h
>  create mode 100644 arch/c6x/include/asm/cmpxchg.h
>  create mode 100644 arch/c6x/include/asm/exec.h
>  create mode 100644 arch/c6x/include/asm/special_insns.h
>  create mode 100644 arch/c6x/include/asm/switch_to.h
>  delete mode 100644 arch/c6x/include/asm/system.h
>  create mode 100644 arch/cris/include/asm/barrier.h
>  rename arch/cris/include/asm/{system.h => cmpxchg.h} (52%)
>  create mode 100644 arch/cris/include/asm/exec.h
>  create mode 100644 arch/cris/include/asm/switch_to.h
>  create mode 100644 arch/frv/include/asm/barrier.h
>  rename arch/frv/include/asm/{system.h => cmpxchg.h} (66%)
>  create mode 100644 arch/frv/include/asm/exec.h
>  create mode 100644 arch/frv/include/asm/switch_to.h
>  create mode 100644 arch/h8300/include/asm/barrier.h
>  create mode 100644 arch/h8300/include/asm/cmpxchg.h
>  create mode 100644 arch/h8300/include/asm/exec.h
>  create mode 100644 arch/h8300/include/asm/switch_to.h
>  delete mode 100644 arch/h8300/include/asm/system.h
>  create mode 100644 arch/hexagon/include/asm/barrier.h
>  rename arch/hexagon/include/asm/{system.h => cmpxchg.h} (68%)
>  create mode 100644 arch/hexagon/include/asm/exec.h
>  create mode 100644 arch/hexagon/include/asm/switch_to.h
>  create mode 100644 arch/ia64/include/asm/barrier.h
>  create mode 100644 arch/ia64/include/asm/exec.h
>  create mode 100644 arch/ia64/include/asm/switch_to.h
>  delete mode 100644 arch/ia64/include/asm/system.h
>  create mode 100644 arch/m32r/include/asm/barrier.h
>  create mode 100644 arch/m32r/include/asm/cmpxchg.h
>  create mode 100644 arch/m32r/include/asm/dcache_clear.h
>  create mode 100644 arch/m32r/include/asm/exec.h
>  create mode 100644 arch/m32r/include/asm/switch_to.h
>  delete mode 100644 arch/m32r/include/asm/system.h
>  create mode 100644 arch/m68k/include/asm/barrier.h
>  rename arch/m68k/include/asm/{system.h => cmpxchg.h} (56%)
>  create mode 100644 arch/m68k/include/asm/exec.h
>  create mode 100644 arch/m68k/include/asm/switch_to.h
>  create mode 100644 arch/microblaze/include/asm/barrier.h
>  create mode 100644 arch/microblaze/include/asm/cmpxchg.h
>  create mode 100644 arch/microblaze/include/asm/exec.h
>  create mode 100644 arch/microblaze/include/asm/switch_to.h
>  delete mode 100644 arch/microblaze/include/asm/system.h
>  create mode 100644 arch/mips/include/asm/exec.h
>  create mode 100644 arch/mips/include/asm/switch_to.h
>  delete mode 100644 arch/mips/include/asm/system.h
>  create mode 100644 arch/mn10300/include/asm/barrier.h
>  create mode 100644 arch/mn10300/include/asm/cmpxchg.h
>  create mode 100644 arch/mn10300/include/asm/exec.h
>  create mode 100644 arch/mn10300/include/asm/switch_to.h
>  delete mode 100644 arch/mn10300/include/asm/system.h
>  delete mode 100644 arch/openrisc/include/asm/system.h
>  create mode 100644 arch/parisc/include/asm/barrier.h
>  create mode 100644 arch/parisc/include/asm/exec.h
>  create mode 100644 arch/parisc/include/asm/ldcw.h
>  create mode 100644 arch/parisc/include/asm/special_insns.h
>  create mode 100644 arch/parisc/include/asm/switch_to.h
>  delete mode 100644 arch/parisc/include/asm/system.h
>  create mode 100644 arch/powerpc/include/asm/barrier.h
>  create mode 100644 arch/powerpc/include/asm/cmpxchg.h
>  create mode 100644 arch/powerpc/include/asm/debug.h
>  create mode 100644 arch/powerpc/include/asm/exec.h
>  create mode 100644 arch/powerpc/include/asm/switch_to.h
>  delete mode 100644 arch/powerpc/include/asm/system.h
>  create mode 100644 arch/s390/include/asm/barrier.h
>  create mode 100644 arch/s390/include/asm/ctl_reg.h
>  create mode 100644 arch/s390/include/asm/exec.h
>  create mode 100644 arch/s390/include/asm/facility.h
>  create mode 100644 arch/s390/include/asm/switch_to.h
>  delete mode 100644 arch/s390/include/asm/system.h
>  create mode 100644 arch/score/include/asm/barrier.h
>  create mode 100644 arch/score/include/asm/cmpxchg.h
>  create mode 100644 arch/score/include/asm/exec.h
>  create mode 100644 arch/score/include/asm/switch_to.h
>  delete mode 100644 arch/score/include/asm/system.h
>  create mode 100644 arch/sh/include/asm/barrier.h
>  create mode 100644 arch/sh/include/asm/bl_bit.h
>  create mode 100644 arch/sh/include/asm/bl_bit_32.h
>  create mode 100644 arch/sh/include/asm/bl_bit_64.h
>  create mode 100644 arch/sh/include/asm/cache_insns.h
>  create mode 100644 arch/sh/include/asm/cache_insns_32.h
>  create mode 100644 arch/sh/include/asm/cache_insns_64.h
>  create mode 100644 arch/sh/include/asm/cmpxchg.h
>  create mode 100644 arch/sh/include/asm/exec.h
>  create mode 100644 arch/sh/include/asm/switch_to.h
>  rename arch/sh/include/asm/{system_32.h => switch_to_32.h} (58%)
>  create mode 100644 arch/sh/include/asm/switch_to_64.h
>  delete mode 100644 arch/sh/include/asm/system.h
>  delete mode 100644 arch/sh/include/asm/system_64.h
>  create mode 100644 arch/sh/include/asm/traps.h
>  create mode 100644 arch/sh/include/asm/traps_32.h
>  create mode 100644 arch/sh/include/asm/traps_64.h
>  create mode 100644 arch/sparc/include/asm/barrier.h
>  create mode 100644 arch/sparc/include/asm/barrier_32.h
>  create mode 100644 arch/sparc/include/asm/barrier_64.h
>  create mode 100644 arch/sparc/include/asm/cmpxchg.h
>  create mode 100644 arch/sparc/include/asm/cmpxchg_32.h
>  create mode 100644 arch/sparc/include/asm/cmpxchg_64.h
>  create mode 100644 arch/sparc/include/asm/cpu_type.h
>  create mode 100644 arch/sparc/include/asm/exec.h
>  create mode 100644 arch/sparc/include/asm/switch_to.h
>  create mode 100644 arch/sparc/include/asm/switch_to_32.h
>  create mode 100644 arch/sparc/include/asm/switch_to_64.h
>  delete mode 100644 arch/sparc/include/asm/system.h
>  delete mode 100644 arch/sparc/include/asm/system_32.h
>  delete mode 100644 arch/sparc/include/asm/system_64.h
>  rename arch/tile/include/asm/{system.h => barrier.h} (51%)
>  create mode 100644 arch/tile/include/asm/exec.h
>  create mode 100644 arch/tile/include/asm/switch_to.h
>  create mode 100644 arch/unicore32/include/asm/barrier.h
>  create mode 100644 arch/unicore32/include/asm/bug.h
>  create mode 100644 arch/unicore32/include/asm/cmpxchg.h
>  create mode 100644 arch/unicore32/include/asm/exec.h
>  create mode 100644 arch/unicore32/include/asm/hwdef-copro.h
>  create mode 100644 arch/unicore32/include/asm/switch_to.h
>  delete mode 100644 arch/unicore32/include/asm/system.h
>  create mode 100644 arch/x86/include/asm/barrier.h
>  create mode 100644 arch/x86/include/asm/exec.h
>  create mode 100644 arch/x86/include/asm/special_insns.h
>  create mode 100644 arch/x86/include/asm/switch_to.h
>  delete mode 100644 arch/x86/include/asm/system.h
>  create mode 100644 arch/xtensa/include/asm/barrier.h
>  rename arch/xtensa/include/asm/{system.h => cmpxchg.h} (70%)
>  create mode 100644 arch/xtensa/include/asm/exec.h
>  create mode 100644 arch/xtensa/include/asm/switch_to.h
>  create mode 100644 include/asm-generic/barrier.h
>  create mode 100644 include/asm-generic/exec.h
>  create mode 100644 include/asm-generic/switch_to.h
>  delete mode 100644 include/asm-generic/system.h

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [GIT PULL] Disintegrate and kill asm/system.h
@ 2012-03-28 18:20 David Howells
  2012-03-29  2:50 ` Michael Neuling
  0 siblings, 1 reply; 25+ messages in thread
From: David Howells @ 2012-03-28 18:20 UTC (permalink / raw)
  To: torvalds, akpm
  Cc: dhowells, linux-arch, linux-kernel, paul.gortmaker, arnd, hpa,
	sfr


[Sent again, this time with a subject line]

Hi Linus,

Here are a bunch of patches to disintegrate asm/system.h into a set of separate
bits to relieve the problem of circular inclusion dependencies.

The following changes since commit 437538267b672f9320833907f1b5acbb2605f4be:

  Merge tag 'fbdev-updates-for-3.4' of git://github.com/schandinat/linux-2.6 (2012-03-22 20:43:40 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system.git split-asm-system_h

A signed tag is here:

	http://git.kernel.org/?p=linux/kernel/git/dhowells/linux-asm_system.git;a=tag;h=refs/tags/split-asm_system_h-for-linus-20120328

Can you apply this after pulling the arch trees please?  Note that some of the
arch-specific patches may well come to you via their arch trees before you
apply this patch series (the Blackfin has, for instance, and I've eliminated it
from my tree).  There's also a chance that the penultimate patch won't apply by
the time you get to it - it's generated by a one-line script to simply remove
all #inclusions of asm/system.h.

I've built all the working defconfigs from all the arches that I can and made
sure that they don't break.

The reason for these patches is that I recently encountered a circular
dependency problem that came about when I produced some patches to optimise
get_order() by rewriting it to use ilog2().  This uses bitops - and on the SH
arch asm/bitops.h drags in asm-generic/get_order.h by a circuituous route
involving asm/system.h.

The main difficulty seems to be asm/system.h.  It holds a number of low level
bits with no/few dependencies that are commonly used (eg. memory barriers) and
a number of bits with more dependencies that aren't used in many places
(eg. switch_to()).

These patches break asm/system.h up into the following core pieces:

     (1) asm/barrier.h

         Move memory barriers here.  This already done for MIPS and Alpha.

     (2) asm/switch_to.h

         Move switch_to() and related stuff here.

     (3) asm/exec.h

         Move arch_align_stack() here.  Other process execution related bits
         could perhaps go here from asm/processor.h.

     (4) asm/cmpxchg.h

         Move xchg() and cmpxchg() here as they're full word atomic ops and
         frequently used by atomic_xchg() and atomic_cmpxchg().

     (5) asm/bug.h

         Move die() and related bits.

     (6) asm/auxvec.h

         Move AT_VECTOR_SIZE_ARCH here.

Other arch headers are created as needed on a per-arch basis.

---
David Howells (36):
      ARM: Fix missing linux/types.h #inclusion in asm/hardware/iop3xx.h
      SELinux: selinux/xfrm.h needs net/flow.h
      Disintegrate asm/system.h for X86
      Disintegrate asm/system.h for Alpha
      Disintegrate asm/system.h for ARM
      Disintegrate asm/system.h for AVR32
      Disintegrate asm/system.h for C6X
      Disintegrate asm/system.h for CRIS
      Disintegrate asm/system.h for FRV
      Disintegrate asm/system.h for H8300
      Disintegrate asm/system.h for Hexagon
      Disintegrate asm/system.h for IA64
      Disintegrate asm/system.h for M32R
      m68k: Fix xchg/cmpxchg to fail to link if given an inappropriate pointer
      Disintegrate asm/system.h for M68K
      Disintegrate asm/system.h for Microblaze
      Disintegrate asm/system.h for MIPS
      Disintegrate asm/system.h for MN10300
      Disintegrate asm/system.h for PA-RISC
      Disintegrate asm/system.h for PowerPC
      Disintegrate asm/system.h for S390
      Disintegrate asm/system.h for Score
      Disintegrate asm/system.h for SH
      Disintegrate asm/system.h for Sparc
      Disintegrate asm/system.h for Tile
      Disintegrate asm/system.h for Xtensa
      Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h
      Create asm-generic/barrier.h
      Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h
      Split the switch_to() wrapper out of asm-generic/system.h
      Split arch_align_stack() out from asm-generic/system.h
      Disintegrate asm/system.h for OpenRISC
      Move all declarations of free_initmem() to linux/mm.h
      Add #includes needed to permit the removal of asm/system.h
      Remove all #inclusions of asm/system.h
      Delete all instances of asm/system.h

Guan Xuetao (1):
      Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]

Russell King (1):
      ARM: move CP15 definitions to separate header file

 arch/alpha/boot/bootp.c                            |    1 -
 arch/alpha/boot/bootpz.c                           |    1 -
 arch/alpha/boot/head.S                             |    1 -
 arch/alpha/boot/main.c                             |    1 -
 arch/alpha/include/asm/atomic.h                    |   68 +++-
 arch/alpha/include/asm/auxvec.h                    |    2 +
 arch/alpha/include/asm/core_lca.h                  |    2 +-
 arch/alpha/include/asm/core_mcpcia.h               |    1 +
 arch/alpha/include/asm/core_t2.h                   |    1 -
 arch/alpha/include/asm/elf.h                       |    1 +
 arch/alpha/include/asm/exec.h                      |    6 +
 arch/alpha/include/asm/fpu.h                       |    2 +
 arch/alpha/include/asm/io.h                        |    1 -
 arch/alpha/include/asm/irqflags.h                  |    2 +-
 arch/alpha/include/asm/mce.h                       |   83 +++
 arch/alpha/include/asm/mmu_context.h               |    1 -
 arch/alpha/include/asm/pal.h                       |  112 ++++
 arch/alpha/include/asm/pgtable.h                   |    1 +
 arch/alpha/include/asm/setup.h                     |   36 ++
 arch/alpha/include/asm/special_insns.h             |   41 ++
 arch/alpha/include/asm/spinlock.h                  |    1 -
 arch/alpha/include/asm/switch_to.h                 |   14 +
 arch/alpha/include/asm/system.h                    |  354 ------------
 arch/alpha/include/asm/xchg.h                      |    2 +-
 arch/alpha/kernel/core_apecs.c                     |    1 +
 arch/alpha/kernel/core_cia.c                       |    1 +
 arch/alpha/kernel/core_t2.c                        |    1 +
 arch/alpha/kernel/err_impl.h                       |    2 +
 arch/alpha/kernel/head.S                           |    6 +-
 arch/alpha/kernel/irq.c                            |    1 -
 arch/alpha/kernel/irq_alpha.c                      |    1 +
 arch/alpha/kernel/osf_sys.c                        |    1 -
 arch/alpha/kernel/process.c                        |    1 -
 arch/alpha/kernel/ptrace.c                         |    1 -
 arch/alpha/kernel/setup.c                          |    1 -
 arch/alpha/kernel/sys_alcor.c                      |    1 -
 arch/alpha/kernel/sys_cabriolet.c                  |    1 -
 arch/alpha/kernel/sys_dp264.c                      |    1 -
 arch/alpha/kernel/sys_eb64p.c                      |    1 -
 arch/alpha/kernel/sys_eiger.c                      |    1 -
 arch/alpha/kernel/sys_jensen.c                     |    1 -
 arch/alpha/kernel/sys_marvel.c                     |    1 -
 arch/alpha/kernel/sys_miata.c                      |    1 -
 arch/alpha/kernel/sys_mikasa.c                     |    2 +-
 arch/alpha/kernel/sys_nautilus.c                   |    1 -
 arch/alpha/kernel/sys_noritake.c                   |    2 +-
 arch/alpha/kernel/sys_rawhide.c                    |    1 -
 arch/alpha/kernel/sys_ruffian.c                    |    1 -
 arch/alpha/kernel/sys_rx164.c                      |    1 -
 arch/alpha/kernel/sys_sable.c                      |    1 -
 arch/alpha/kernel/sys_sio.c                        |    1 -
 arch/alpha/kernel/sys_sx164.c                      |    2 +-
 arch/alpha/kernel/sys_takara.c                     |    1 -
 arch/alpha/kernel/sys_titan.c                      |    1 -
 arch/alpha/kernel/sys_wildfire.c                   |    1 -
 arch/alpha/kernel/traps.c                          |    1 +
 arch/alpha/kernel/vmlinux.lds.S                    |    2 +
 arch/alpha/lib/stacktrace.c                        |    1 -
 arch/alpha/mm/fault.c                              |    1 -
 arch/alpha/mm/init.c                               |    2 +-
 arch/alpha/oprofile/common.c                       |    1 -
 arch/alpha/oprofile/op_model_ev4.c                 |    1 -
 arch/alpha/oprofile/op_model_ev5.c                 |    1 -
 arch/alpha/oprofile/op_model_ev6.c                 |    1 -
 arch/alpha/oprofile/op_model_ev67.c                |    1 -
 arch/arm/common/via82c505.c                        |    1 -
 arch/arm/include/asm/atomic.h                      |    4 +-
 arch/arm/include/asm/barrier.h                     |   69 +++
 arch/arm/include/asm/bitops.h                      |    2 +-
 arch/arm/include/asm/bug.h                         |   30 +
 arch/arm/include/asm/cmpxchg.h                     |  295 ++++++++++
 arch/arm/include/asm/compiler.h                    |   15 +
 arch/arm/include/asm/cp15.h                        |   87 +++
 arch/arm/include/asm/div64.h                       |    2 +-
 arch/arm/include/asm/dma.h                         |    1 -
 arch/arm/include/asm/domain.h                      |    4 +
 arch/arm/include/asm/exec.h                        |    6 +
 arch/arm/include/asm/hardware/iop3xx.h             |    3 +
 arch/arm/include/asm/io.h                          |    2 +-
 arch/arm/include/asm/mmu.h                         |    7 +
 arch/arm/include/asm/processor.h                   |    3 +-
 arch/arm/include/asm/switch_to.h                   |   18 +
 arch/arm/include/asm/system.h                      |  551 +------------------
 arch/arm/include/asm/system_info.h                 |   27 +
 arch/arm/include/asm/system_misc.h                 |   28 +
 arch/arm/include/asm/uaccess.h                     |    2 +-
 arch/arm/kernel/armksyms.c                         |    1 -
 arch/arm/kernel/elf.c                              |    1 +
 arch/arm/kernel/entry-armv.S                       |    2 +-
 arch/arm/kernel/fiq.c                              |    2 +-
 arch/arm/kernel/head-nommu.S                       |    2 +-
 arch/arm/kernel/head.S                             |    2 +-
 arch/arm/kernel/hw_breakpoint.c                    |    1 -
 arch/arm/kernel/irq.c                              |    1 -
 arch/arm/kernel/kprobes-common.c                   |    1 +
 arch/arm/kernel/machine_kexec.c                    |    2 +-
 arch/arm/kernel/process.c                          |    1 -
 arch/arm/kernel/ptrace.c                           |    1 -
 arch/arm/kernel/setup.c                            |    4 +-
 arch/arm/kernel/sleep.S                            |    1 -
 arch/arm/kernel/tcm.c                              |    1 +
 arch/arm/kernel/thumbee.c                          |    1 +
 arch/arm/kernel/traps.c                            |    2 +-
 arch/arm/mach-at91/at91cap9.c                      |    2 +
 arch/arm/mach-at91/at91rm9200.c                    |    1 +
 arch/arm/mach-at91/at91sam9260.c                   |    1 +
 arch/arm/mach-at91/at91sam9261.c                   |    1 +
 arch/arm/mach-at91/at91sam9263.c                   |    1 +
 arch/arm/mach-at91/at91sam9g45.c                   |    1 +
 arch/arm/mach-at91/at91sam9rl.c                    |    1 +
 arch/arm/mach-at91/include/mach/system_rev.h       |    2 +
 arch/arm/mach-clps711x/common.c                    |    1 +
 arch/arm/mach-clps711x/p720t-leds.c                |    1 -
 arch/arm/mach-davinci/board-da850-evm.c            |    1 +
 arch/arm/mach-ebsa110/core.c                       |    2 +-
 arch/arm/mach-ebsa110/leds.c                       |    1 -
 arch/arm/mach-exynos/hotplug.c                     |    1 +
 arch/arm/mach-footbridge/common.c                  |    1 +
 arch/arm/mach-footbridge/dc21285-timer.c           |    1 +
 arch/arm/mach-footbridge/dc21285.c                 |    1 -
 arch/arm/mach-footbridge/ebsa285-leds.c            |    1 -
 arch/arm/mach-footbridge/netwinder-hw.c            |    1 +
 arch/arm/mach-footbridge/netwinder-leds.c          |    1 -
 arch/arm/mach-imx/dma-v1.c                         |    1 -
 arch/arm/mach-imx/mach-imx6q.c                     |    1 +
 arch/arm/mach-imx/mach-mx51_efikamx.c              |    1 +
 arch/arm/mach-imx/mach-mx51_efikasb.c              |    1 +
 arch/arm/mach-integrator/core.c                    |    1 -
 arch/arm/mach-integrator/leds.c                    |    1 -
 arch/arm/mach-integrator/pci.c                     |    1 -
 arch/arm/mach-integrator/pci_v3.c                  |    1 -
 arch/arm/mach-iop33x/uart.c                        |    1 -
 arch/arm/mach-ixp2000/core.c                       |    1 -
 arch/arm/mach-ixp2000/enp2611.c                    |    1 -
 arch/arm/mach-ixp2000/ixdp2400.c                   |    1 -
 arch/arm/mach-ixp2000/ixdp2800.c                   |    1 -
 arch/arm/mach-ixp2000/ixdp2x00.c                   |    1 -
 arch/arm/mach-ixp2000/ixdp2x01.c                   |    1 -
 arch/arm/mach-ixp2000/pci.c                        |    1 -
 arch/arm/mach-ixp23xx/core.c                       |    1 -
 arch/arm/mach-ixp23xx/espresso.c                   |    1 -
 arch/arm/mach-ixp23xx/ixdp2351.c                   |    1 -
 arch/arm/mach-ixp23xx/pci.c                        |    1 -
 arch/arm/mach-ixp23xx/roadrunner.c                 |    1 -
 arch/arm/mach-ixp4xx/common-pci.c                  |    1 -
 arch/arm/mach-ixp4xx/goramo_mlr.c                  |    1 -
 arch/arm/mach-ks8695/time.c                        |    1 +
 arch/arm/mach-mmp/common.c                         |    1 +
 arch/arm/mach-mmp/pxa168.c                         |    1 +
 arch/arm/mach-msm/board-sapphire.c                 |    1 -
 arch/arm/mach-mxs/system.c                         |    2 +-
 arch/arm/mach-omap1/id.c                           |    1 +
 arch/arm/mach-omap1/leds-h2p2-debug.c              |    1 -
 arch/arm/mach-omap1/leds-innovator.c               |    1 -
 arch/arm/mach-omap1/leds-osk.c                     |    1 -
 arch/arm/mach-omap1/mux.c                          |    1 -
 arch/arm/mach-omap1/time.c                         |    1 -
 arch/arm/mach-omap1/timer32k.c                     |    1 -
 arch/arm/mach-omap2/board-omap3touchbook.c         |    1 +
 arch/arm/mach-omap2/board-rx51-peripherals.c       |    1 +
 arch/arm/mach-omap2/mux.c                          |    1 -
 arch/arm/mach-omap2/omap-mpuss-lowpower.c          |    1 -
 arch/arm/mach-omap2/pm24xx.c                       |    1 +
 arch/arm/mach-omap2/pm34xx.c                       |    1 +
 arch/arm/mach-omap2/pm44xx.c                       |    1 +
 arch/arm/mach-omap2/sleep44xx.S                    |    1 -
 arch/arm/mach-orion5x/common.c                     |    1 +
 arch/arm/mach-orion5x/dns323-setup.c               |    1 +
 arch/arm/mach-orion5x/ls-chl-setup.c               |    1 -
 arch/arm/mach-orion5x/ls_hgl-setup.c               |    1 -
 arch/arm/mach-orion5x/lsmini-setup.c               |    1 -
 arch/arm/mach-pnx4008/core.c                       |    2 +-
 arch/arm/mach-pnx4008/dma.c                        |    1 -
 arch/arm/mach-pnx4008/irq.c                        |    1 -
 arch/arm/mach-pnx4008/time.c                       |    1 -
 arch/arm/mach-pxa/cm-x300.c                        |    1 +
 arch/arm/mach-pxa/colibri-pxa3xx.c                 |    1 +
 arch/arm/mach-pxa/corgi.c                          |    1 -
 arch/arm/mach-pxa/generic.c                        |    1 -
 arch/arm/mach-pxa/leds-idp.c                       |    1 -
 arch/arm/mach-pxa/leds-lubbock.c                   |    1 -
 arch/arm/mach-pxa/leds-mainstone.c                 |    1 -
 arch/arm/mach-pxa/magician.c                       |    1 +
 arch/arm/mach-pxa/poodle.c                         |    1 -
 arch/arm/mach-pxa/reset.c                          |    1 +
 arch/arm/mach-pxa/viper.c                          |    1 +
 arch/arm/mach-pxa/zeus.c                           |    1 +
 arch/arm/mach-realview/core.c                      |    1 -
 arch/arm/mach-realview/hotplug.c                   |    1 +
 arch/arm/mach-rpc/riscpc.c                         |    1 +
 arch/arm/mach-s3c2410/s3c2410.c                    |    1 +
 arch/arm/mach-s3c2412/s3c2412.c                    |    1 +
 arch/arm/mach-s3c2416/s3c2416.c                    |    1 +
 arch/arm/mach-s3c2440/s3c244x.c                    |    1 +
 arch/arm/mach-s3c2443/s3c2443.c                    |    1 +
 arch/arm/mach-s3c64xx/common.c                     |    1 +
 arch/arm/mach-s5p64x0/common.c                     |    1 +
 arch/arm/mach-s5pc100/common.c                     |    1 +
 arch/arm/mach-sa1100/dma.c                         |    1 -
 arch/arm/mach-sa1100/generic.c                     |    2 +-
 arch/arm/mach-sa1100/leds-assabet.c                |    1 -
 arch/arm/mach-sa1100/leds-badge4.c                 |    1 -
 arch/arm/mach-sa1100/leds-cerf.c                   |    1 -
 arch/arm/mach-sa1100/leds-hackkit.c                |    1 -
 arch/arm/mach-sa1100/leds-lart.c                   |    1 -
 arch/arm/mach-sa1100/pm.c                          |    1 -
 arch/arm/mach-shark/leds.c                         |    1 -
 arch/arm/mach-shmobile/cpuidle.c                   |    1 -
 arch/arm/mach-shmobile/include/mach/system.h       |    2 +
 arch/arm/mach-shmobile/pm-r8a7779.c                |    1 -
 arch/arm/mach-shmobile/pm-sh7372.c                 |    1 -
 arch/arm/mach-shmobile/suspend.c                   |    2 +-
 arch/arm/mach-tegra/cpu-tegra.c                    |    1 -
 arch/arm/mach-tegra/hotplug.c                      |    1 +
 arch/arm/mach-versatile/core.c                     |    1 -
 arch/arm/mach-versatile/pci.c                      |    1 -
 arch/arm/mach-vexpress/hotplug.c                   |    2 +-
 arch/arm/mach-w90x900/cpu.c                        |    1 +
 arch/arm/mm/alignment.c                            |    3 +-
 arch/arm/mm/cache-feroceon-l2.c                    |    1 +
 arch/arm/mm/cache-tauros2.c                        |    1 +
 arch/arm/mm/cache-xsc3l2.c                         |    2 +-
 arch/arm/mm/fault.c                                |    3 +-
 arch/arm/mm/flush.c                                |    1 -
 arch/arm/mm/idmap.c                                |    1 +
 arch/arm/mm/ioremap.c                              |    2 +
 arch/arm/mm/mmu.c                                  |    2 +
 arch/arm/mm/pgd.c                                  |    1 +
 arch/arm/mm/proc-fa526.S                           |    1 -
 arch/arm/nwfpe/fpa11.c                             |    1 -
 arch/arm/plat-iop/i2c.c                            |    1 -
 arch/arm/plat-iop/pci.c                            |    1 -
 arch/arm/plat-iop/restart.c                        |    1 +
 arch/arm/plat-mxc/system.c                         |    2 +-
 arch/arm/plat-omap/debug-leds.c                    |    1 -
 arch/arm/plat-omap/dma.c                           |    1 -
 arch/arm/plat-omap/mux.c                           |    1 -
 arch/arm/plat-pxa/dma.c                            |    1 -
 arch/arm/plat-s3c24xx/cpu.c                        |    1 +
 arch/arm/plat-s3c24xx/dma.c                        |    1 -
 arch/arm/plat-samsung/cpu.c                        |    1 -
 arch/arm/plat-samsung/time.c                       |    1 -
 arch/arm/plat-spear/restart.c                      |    1 +
 arch/arm/vfp/vfpmodule.c                           |    2 +
 arch/avr32/include/asm/atomic.h                    |    2 +-
 arch/avr32/include/asm/barrier.h                   |   27 +
 arch/avr32/include/asm/bitops.h                    |    1 -
 arch/avr32/include/asm/bug.h                       |    5 +
 arch/avr32/include/asm/{system.h => cmpxchg.h}     |   79 +---
 arch/avr32/include/asm/exec.h                      |   13 +
 arch/avr32/include/asm/special_insns.h             |   13 +
 arch/avr32/include/asm/switch_to.h                 |   46 ++
 arch/avr32/mach-at32ap/cpufreq.c                   |    1 -
 arch/avr32/oprofile/op_model_avr32.c               |    1 -
 arch/blackfin/include/asm/system.h                 |    5 -
 arch/c6x/include/asm/Kbuild                        |    1 -
 arch/c6x/include/asm/barrier.h                     |   27 +
 arch/c6x/include/asm/bitops.h                      |    1 -
 arch/c6x/include/asm/bug.h                         |   23 +
 arch/c6x/include/asm/cmpxchg.h                     |   68 +++
 arch/c6x/include/asm/exec.h                        |    6 +
 arch/c6x/include/asm/processor.h                   |    9 +
 arch/c6x/include/asm/setup.h                       |    1 +
 arch/c6x/include/asm/special_insns.h               |   63 ++
 arch/c6x/include/asm/switch_to.h                   |   33 ++
 arch/c6x/include/asm/system.h                      |  168 ------
 arch/c6x/kernel/irq.c                              |    1 +
 arch/c6x/kernel/setup.c                            |    1 +
 arch/c6x/kernel/soc.c                              |    1 -
 arch/c6x/kernel/time.c                             |    1 +
 arch/c6x/kernel/traps.c                            |    1 +
 arch/c6x/platforms/timer64.c                       |    1 +
 arch/cris/arch-v10/drivers/ds1302.c                |    1 -
 arch/cris/arch-v10/drivers/gpio.c                  |    1 -
 arch/cris/arch-v10/drivers/i2c.c                   |    1 -
 arch/cris/arch-v10/drivers/pcf8563.c               |    1 -
 arch/cris/arch-v10/drivers/sync_serial.c           |    1 -
 arch/cris/arch-v10/kernel/debugport.c              |    1 -
 arch/cris/arch-v10/kernel/dma.c                    |    1 +
 arch/cris/arch-v10/kernel/io_interface_mux.c       |    1 +
 arch/cris/arch-v10/kernel/process.c                |    1 +
 arch/cris/arch-v10/kernel/ptrace.c                 |    1 -
 arch/cris/arch-v10/kernel/setup.c                  |    1 +
 arch/cris/arch-v10/kernel/signal.c                 |    1 +
 arch/cris/arch-v10/kernel/traps.c                  |    1 +
 arch/cris/arch-v32/drivers/i2c.c                   |    1 -
 arch/cris/arch-v32/drivers/mach-a3/gpio.c          |    1 -
 arch/cris/arch-v32/drivers/mach-fs/gpio.c          |    1 -
 arch/cris/arch-v32/kernel/debugport.c              |    1 -
 arch/cris/arch-v32/kernel/fasttimer.c              |    1 -
 arch/cris/arch-v32/kernel/ptrace.c                 |    1 -
 arch/cris/arch-v32/mach-a3/dma.c                   |    1 -
 arch/cris/arch-v32/mach-fs/dma.c                   |    1 -
 arch/cris/include/arch-v10/arch/elf.h              |    2 +
 arch/cris/include/arch-v32/arch/elf.h              |    2 +
 arch/cris/include/arch-v32/arch/system.h           |   10 -
 arch/cris/include/asm/atomic.h                     |    2 +-
 arch/cris/include/asm/barrier.h                    |   25 +
 arch/cris/include/asm/bitops.h                     |    1 -
 arch/cris/include/asm/{system.h => cmpxchg.h}      |   52 +--
 arch/cris/include/asm/exec.h                       |    6 +
 arch/cris/include/asm/processor.h                  |   11 +-
 arch/cris/include/asm/switch_to.h                  |   12 +
 arch/cris/kernel/irq.c                             |    1 +
 arch/cris/kernel/process.c                         |    1 -
 arch/cris/kernel/ptrace.c                          |    1 -
 arch/cris/kernel/setup.c                           |    1 +
 arch/cris/kernel/traps.c                           |    1 +
 arch/cris/mm/fault.c                               |    1 +
 arch/frv/include/asm/atomic.h                      |   57 +--
 arch/frv/include/asm/barrier.h                     |   29 +
 arch/frv/include/asm/bug.h                         |    2 +
 arch/frv/include/asm/{system.h => cmpxchg.h}       |   98 ++--
 arch/frv/include/asm/exec.h                        |   17 +
 arch/frv/include/asm/switch_to.h                   |   35 ++
 arch/frv/kernel/debug-stub.c                       |    1 -
 arch/frv/kernel/gdb-io.c                           |    1 -
 arch/frv/kernel/gdb-stub.c                         |    1 -
 arch/frv/kernel/irq-mb93091.c                      |    1 -
 arch/frv/kernel/irq-mb93093.c                      |    1 -
 arch/frv/kernel/irq-mb93493.c                      |    1 -
 arch/frv/kernel/irq.c                              |    1 -
 arch/frv/kernel/process.c                          |    1 -
 arch/frv/kernel/ptrace.c                           |    1 -
 arch/frv/kernel/traps.c                            |    1 -
 arch/frv/mm/fault.c                                |    1 -
 arch/frv/mm/init.c                                 |    1 -
 arch/frv/mm/kmap.c                                 |    1 -
 arch/h8300/include/asm/atomic.h                    |    4 +-
 arch/h8300/include/asm/barrier.h                   |   27 +
 arch/h8300/include/asm/bitops.h                    |    1 -
 arch/h8300/include/asm/bug.h                       |    4 +
 arch/h8300/include/asm/cmpxchg.h                   |   60 ++
 arch/h8300/include/asm/exec.h                      |    6 +
 arch/h8300/include/asm/processor.h                 |    5 +
 arch/h8300/include/asm/switch_to.h                 |   50 ++
 arch/h8300/include/asm/system.h                    |  140 -----
 arch/h8300/kernel/irq.c                            |    1 -
 arch/h8300/kernel/process.c                        |    1 -
 arch/h8300/kernel/ptrace.c                         |    1 -
 arch/h8300/kernel/traps.c                          |    1 -
 arch/h8300/mm/fault.c                              |    1 -
 arch/h8300/mm/init.c                               |    1 -
 arch/h8300/mm/kmap.c                               |    1 -
 arch/h8300/mm/memory.c                             |    1 -
 arch/hexagon/include/asm/atomic.h                  |    1 +
 arch/hexagon/include/asm/barrier.h                 |   41 ++
 arch/hexagon/include/asm/bitops.h                  |    1 -
 arch/hexagon/include/asm/{system.h => cmpxchg.h}   |   46 +--
 arch/hexagon/include/asm/exec.h                    |   28 +
 arch/hexagon/include/asm/switch_to.h               |   34 ++
 arch/hexagon/kernel/ptrace.c                       |    1 -
 arch/hexagon/kernel/smp.c                          |    1 -
 arch/hexagon/kernel/vm_events.c                    |    1 -
 arch/ia64/dig/setup.c                              |    2 +-
 arch/ia64/hp/common/sba_iommu.c                    |    1 -
 arch/ia64/hp/sim/boot/bootloader.c                 |    1 -
 arch/ia64/hp/sim/boot/fw-emu.c                     |    1 +
 arch/ia64/hp/sim/simeth.c                          |    1 -
 arch/ia64/include/asm/acpi.h                       |    1 -
 arch/ia64/include/asm/atomic.h                     |    1 -
 arch/ia64/include/asm/auxvec.h                     |    2 +
 arch/ia64/include/asm/barrier.h                    |   68 +++
 arch/ia64/include/asm/exec.h                       |   14 +
 arch/ia64/include/asm/futex.h                      |    1 -
 arch/ia64/include/asm/io.h                         |    1 -
 arch/ia64/include/asm/irqflags.h                   |    2 +
 arch/ia64/include/asm/kexec.h                      |    1 +
 arch/ia64/include/asm/mca_asm.h                    |    2 +
 arch/ia64/include/asm/page.h                       |   10 +
 arch/ia64/include/asm/pci.h                        |    8 +
 arch/ia64/include/asm/pgtable.h                    |    1 -
 arch/ia64/include/asm/processor.h                  |    8 +
 arch/ia64/include/asm/sal.h                        |    1 -
 arch/ia64/include/asm/setup.h                      |   18 +
 arch/ia64/include/asm/sn/pda.h                     |    1 -
 arch/ia64/include/asm/spinlock.h                   |    1 -
 arch/ia64/include/asm/switch_to.h                  |   87 +++
 arch/ia64/include/asm/system.h                     |  203 -------
 arch/ia64/include/asm/uv/uv.h                      |    1 -
 arch/ia64/kernel/acpi.c                            |    1 -
 arch/ia64/kernel/efi.c                             |    1 +
 arch/ia64/kernel/fsys.S                            |    1 -
 arch/ia64/kernel/gate.S                            |    3 +-
 arch/ia64/kernel/gate.lds.S                        |    3 +-
 arch/ia64/kernel/head.S                            |    1 -
 arch/ia64/kernel/iosapic.c                         |    1 -
 arch/ia64/kernel/irq_ia64.c                        |    1 -
 arch/ia64/kernel/ivt.S                             |    1 -
 arch/ia64/kernel/machvec.c                         |    1 -
 arch/ia64/kernel/mca.c                             |    1 -
 arch/ia64/kernel/mca_drv.c                         |    1 -
 arch/ia64/kernel/patch.c                           |    1 -
 arch/ia64/kernel/pci-dma.c                         |    1 -
 arch/ia64/kernel/perfmon.c                         |    1 -
 arch/ia64/kernel/ptrace.c                          |    1 -
 arch/ia64/kernel/setup.c                           |    1 -
 arch/ia64/kernel/smp.c                             |    1 -
 arch/ia64/kernel/smpboot.c                         |    1 -
 arch/ia64/kernel/time.c                            |    1 -
 arch/ia64/kernel/traps.c                           |    1 +
 arch/ia64/kernel/uncached.c                        |    1 -
 arch/ia64/kernel/unwind.c                          |    1 -
 arch/ia64/kernel/vmlinux.lds.S                     |    1 -
 arch/ia64/mm/fault.c                               |    1 -
 arch/ia64/mm/init.c                                |    1 -
 arch/ia64/oprofile/backtrace.c                     |    1 -
 arch/ia64/pci/pci.c                                |    1 -
 arch/ia64/sn/kernel/setup.c                        |    2 +-
 arch/ia64/sn/kernel/sn2/prominfo_proc.c            |    1 -
 arch/ia64/sn/kernel/sn2/sn2_smp.c                  |    1 -
 arch/ia64/sn/kernel/sn2/timer.c                    |    1 -
 arch/ia64/sn/kernel/tiocx.c                        |    1 -
 arch/ia64/xen/xensetup.S                           |    1 -
 arch/m32r/include/asm/atomic.h                     |    3 +-
 arch/m32r/include/asm/barrier.h                    |   94 +++
 arch/m32r/include/asm/bitops.h                     |    3 +-
 arch/m32r/include/asm/cmpxchg.h                    |  221 ++++++++
 arch/m32r/include/asm/dcache_clear.h               |   29 +
 arch/m32r/include/asm/exec.h                       |   14 +
 arch/m32r/include/asm/local.h                      |    1 -
 arch/m32r/include/asm/spinlock.h                   |    1 +
 arch/m32r/include/asm/switch_to.h                  |   51 ++
 arch/m32r/include/asm/system.h                     |  367 ------------
 arch/m32r/kernel/ptrace.c                          |    1 -
 arch/m32r/kernel/traps.c                           |    1 -
 arch/m32r/mm/fault-nommu.c                         |    1 -
 arch/m32r/mm/fault.c                               |    1 -
 arch/m32r/platforms/m32104ut/setup.c               |    1 -
 arch/m32r/platforms/m32700ut/setup.c               |    1 -
 arch/m32r/platforms/mappi/setup.c                  |    1 -
 arch/m32r/platforms/mappi2/setup.c                 |    1 -
 arch/m32r/platforms/mappi3/setup.c                 |    1 -
 arch/m32r/platforms/oaks32r/setup.c                |    1 -
 arch/m32r/platforms/opsput/setup.c                 |    1 -
 arch/m32r/platforms/usrv/setup.c                   |    1 -
 arch/m68k/amiga/amisound.c                         |    1 -
 arch/m68k/amiga/config.c                           |    1 -
 arch/m68k/apollo/config.c                          |    1 -
 arch/m68k/atari/ataints.c                          |    1 -
 arch/m68k/atari/atasound.c                         |    1 -
 arch/m68k/atari/config.c                           |    1 -
 arch/m68k/bvme6000/config.c                        |    1 -
 arch/m68k/bvme6000/rtc.c                           |    1 -
 arch/m68k/hp300/time.c                             |    1 -
 arch/m68k/include/asm/atomic.h                     |    2 +-
 arch/m68k/include/asm/barrier.h                    |   20 +
 arch/m68k/include/asm/{system.h => cmpxchg.h}      |   94 +---
 arch/m68k/include/asm/exec.h                       |    6 +
 arch/m68k/include/asm/sun3xflop.h                  |    1 -
 arch/m68k/include/asm/switch_to.h                  |   41 ++
 arch/m68k/kernel/ints.c                            |    1 -
 arch/m68k/kernel/irq.c                             |    1 -
 arch/m68k/kernel/process.c                         |    1 -
 arch/m68k/kernel/ptrace.c                          |    1 -
 arch/m68k/kernel/traps.c                           |    1 -
 arch/m68k/kernel/vectors.c                         |    1 -
 arch/m68k/mac/config.c                             |    1 -
 arch/m68k/mac/misc.c                               |    1 -
 arch/m68k/mm/fault.c                               |    1 -
 arch/m68k/mm/init_mm.c                             |    1 -
 arch/m68k/mm/init_no.c                             |    1 -
 arch/m68k/mm/kmap.c                                |    1 -
 arch/m68k/mm/memory.c                              |    1 -
 arch/m68k/mm/motorola.c                            |    1 -
 arch/m68k/mm/sun3mmu.c                             |    1 -
 arch/m68k/mvme147/config.c                         |    1 -
 arch/m68k/mvme16x/config.c                         |    1 -
 arch/m68k/mvme16x/rtc.c                            |    1 -
 arch/m68k/platform/68328/config.c                  |    1 -
 arch/m68k/platform/68328/timers.c                  |    1 -
 arch/m68k/platform/68360/config.c                  |    1 -
 arch/m68k/platform/68EZ328/config.c                |    1 -
 arch/m68k/platform/68VZ328/config.c                |    1 -
 arch/m68k/q40/config.c                             |    1 -
 arch/m68k/q40/q40ints.c                            |    1 -
 arch/m68k/sun3/intersil.c                          |    1 -
 arch/m68k/sun3/mmu_emu.c                           |    1 -
 arch/m68k/sun3/prom/console.c                      |    1 -
 arch/m68k/sun3x/config.c                           |    1 -
 arch/m68k/sun3x/time.c                             |    1 -
 arch/microblaze/include/asm/atomic.h               |    1 +
 arch/microblaze/include/asm/barrier.h              |   27 +
 arch/microblaze/include/asm/cmpxchg.h              |   40 ++
 arch/microblaze/include/asm/exec.h                 |   14 +
 arch/microblaze/include/asm/processor.h            |   11 +-
 arch/microblaze/include/asm/setup.h                |    6 +
 arch/microblaze/include/asm/switch_to.h            |   24 +
 arch/microblaze/include/asm/system.h               |   97 ----
 arch/microblaze/kernel/cpu/pvr.c                   |    1 -
 arch/microblaze/kernel/microblaze_ksyms.c          |    1 -
 arch/microblaze/kernel/process.c                   |    1 -
 arch/microblaze/kernel/prom.c                      |    1 -
 arch/microblaze/kernel/setup.c                     |    1 -
 arch/microblaze/kernel/timer.c                     |    1 -
 arch/microblaze/kernel/traps.c                     |    1 -
 arch/microblaze/lib/memcpy.c                       |    1 -
 arch/microblaze/mm/fault.c                         |    1 -
 arch/mips/cavium-octeon/setup.c                    |    1 -
 arch/mips/cavium-octeon/smp.c                      |    2 +-
 arch/mips/dec/ecc-berr.c                           |    1 -
 arch/mips/dec/kn01-berr.c                          |    1 -
 arch/mips/dec/kn02xa-berr.c                        |    1 -
 arch/mips/dec/wbflush.c                            |    2 +-
 arch/mips/emma/markeins/irq.c                      |    1 -
 arch/mips/fw/arc/misc.c                            |    1 -
 arch/mips/include/asm/atomic.h                     |    2 +-
 arch/mips/include/asm/barrier.h                    |    2 +
 arch/mips/include/asm/cmpxchg.h                    |  124 ++++
 arch/mips/include/asm/dma.h                        |    1 -
 arch/mips/include/asm/exec.h                       |   17 +
 arch/mips/include/asm/mach-au1x00/au1000_dma.h     |    1 -
 arch/mips/include/asm/processor.h                  |    7 +-
 arch/mips/include/asm/setup.h                      |   11 +
 arch/mips/include/asm/switch_to.h                  |   85 +++
 arch/mips/include/asm/system.h                     |  235 --------
 arch/mips/include/asm/txx9/jmr3927.h               |    1 -
 arch/mips/kernel/cpu-bugs64.c                      |    2 +-
 arch/mips/kernel/cpu-probe.c                       |    1 -
 arch/mips/kernel/irq-rm7000.c                      |    1 -
 arch/mips/kernel/irq-rm9000.c                      |    1 -
 arch/mips/kernel/irq.c                             |    1 -
 arch/mips/kernel/irq_cpu.c                         |    1 -
 arch/mips/kernel/mips-mt.c                         |    1 -
 arch/mips/kernel/process.c                         |    1 -
 arch/mips/kernel/ptrace.c                          |    1 -
 arch/mips/kernel/ptrace32.c                        |    1 -
 arch/mips/kernel/rtlx.c                            |    1 -
 arch/mips/kernel/setup.c                           |    1 -
 arch/mips/kernel/signal.c                          |    1 +
 arch/mips/kernel/signal32.c                        |    2 +-
 arch/mips/kernel/signal_n32.c                      |    1 -
 arch/mips/kernel/smp-bmips.c                       |    1 -
 arch/mips/kernel/smp-cmp.c                         |    1 -
 arch/mips/kernel/smp-mt.c                          |    1 -
 arch/mips/kernel/smp.c                             |    2 +-
 arch/mips/kernel/smtc-proc.c                       |    1 -
 arch/mips/kernel/smtc.c                            |    1 -
 arch/mips/kernel/spram.c                           |    1 -
 arch/mips/kernel/syscall.c                         |    1 +
 arch/mips/kernel/traps.c                           |    1 -
 arch/mips/kernel/unaligned.c                       |    1 -
 arch/mips/kernel/vpe.c                             |    1 -
 arch/mips/lasat/reset.c                            |    1 -
 arch/mips/math-emu/dsemul.c                        |    1 -
 arch/mips/mipssim/sim_smtc.c                       |    1 -
 arch/mips/mipssim/sim_time.c                       |    1 +
 arch/mips/mm/c-octeon.c                            |    1 -
 arch/mips/mm/c-r3k.c                               |    1 -
 arch/mips/mm/c-r4k.c                               |    1 -
 arch/mips/mm/c-tx39.c                              |    1 -
 arch/mips/mm/fault.c                               |    1 -
 arch/mips/mm/page.c                                |    1 -
 arch/mips/mm/sc-ip22.c                             |    1 -
 arch/mips/mm/sc-mips.c                             |    1 -
 arch/mips/mm/sc-r5k.c                              |    1 -
 arch/mips/mm/tlb-r3k.c                             |    1 -
 arch/mips/mm/tlb-r4k.c                             |    1 -
 arch/mips/mm/tlb-r8k.c                             |    1 -
 arch/mips/mm/tlbex.c                               |    1 +
 arch/mips/mti-malta/malta-init.c                   |    1 -
 arch/mips/mti-malta/malta-int.c                    |    1 +
 arch/mips/mti-malta/malta-time.c                   |    1 +
 arch/mips/netlogic/common/irq.c                    |    1 -
 arch/mips/pmc-sierra/msp71xx/msp_irq_cic.c         |    1 -
 arch/mips/pmc-sierra/msp71xx/msp_irq_per.c         |    1 -
 arch/mips/pmc-sierra/msp71xx/msp_irq_slp.c         |    1 -
 arch/mips/pmc-sierra/yosemite/irq.c                |    1 -
 arch/mips/pmc-sierra/yosemite/prom.c               |    1 -
 arch/mips/pnx833x/common/interrupts.c              |    1 +
 arch/mips/powertv/asic/asic_int.c                  |    1 +
 arch/mips/powertv/asic/irq_asic.c                  |    1 -
 arch/mips/powertv/init.c                           |    1 -
 arch/mips/rb532/irq.c                              |    1 -
 arch/mips/sgi-ip22/ip22-berr.c                     |    1 -
 arch/mips/sgi-ip22/ip22-reset.c                    |    1 -
 arch/mips/sgi-ip22/ip28-berr.c                     |    1 -
 arch/mips/sgi-ip27/ip27-irq.c                      |    1 -
 arch/mips/sgi-ip27/ip27-reset.c                    |    1 -
 arch/mips/sgi-ip32/ip32-irq.c                      |    1 -
 arch/mips/sgi-ip32/ip32-reset.c                    |    1 -
 arch/mips/sibyte/bcm1480/irq.c                     |    1 -
 arch/mips/sibyte/common/sb_tbprof.c                |    1 -
 arch/mips/sibyte/sb1250/bus_watcher.c              |    1 -
 arch/mips/sibyte/sb1250/irq.c                      |    1 -
 arch/mips/sni/reset.c                              |    1 -
 arch/mips/vr41xx/common/irq.c                      |    1 -
 arch/mips/vr41xx/common/pmu.c                      |    1 -
 arch/mn10300/include/asm/atomic.h                  |  109 +----
 arch/mn10300/include/asm/barrier.h                 |   37 ++
 arch/mn10300/include/asm/cmpxchg.h                 |  115 ++++
 arch/mn10300/include/asm/dma.h                     |    1 -
 arch/mn10300/include/asm/exec.h                    |   16 +
 arch/mn10300/include/asm/switch_to.h               |   49 ++
 arch/mn10300/include/asm/system.h                  |  102 ----
 arch/mn10300/kernel/entry.S                        |    1 -
 arch/mn10300/kernel/fpu.c                          |    1 -
 arch/mn10300/kernel/gdb-io-serial.c                |    1 -
 arch/mn10300/kernel/gdb-io-ttysm.c                 |    1 -
 arch/mn10300/kernel/gdb-stub.c                     |    1 -
 arch/mn10300/kernel/mn10300-serial.c               |    1 -
 arch/mn10300/kernel/mn10300-watchdog.c             |    1 -
 arch/mn10300/kernel/process.c                      |    1 -
 arch/mn10300/kernel/ptrace.c                       |    1 -
 arch/mn10300/kernel/setup.c                        |    1 -
 arch/mn10300/kernel/smp-low.S                      |    2 +-
 arch/mn10300/kernel/smp.c                          |    1 -
 arch/mn10300/kernel/traps.c                        |    1 -
 arch/mn10300/lib/bitops.c                          |    1 -
 arch/mn10300/mm/fault.c                            |    1 -
 arch/mn10300/mm/init.c                             |    1 -
 arch/mn10300/mm/misalignment.c                     |    1 -
 arch/mn10300/mm/pgtable.c                          |    1 -
 arch/mn10300/mm/tlb-smp.c                          |    1 -
 arch/mn10300/proc-mn2ws0050/proc-init.c            |    1 -
 arch/openrisc/include/asm/Kbuild                   |    3 +
 arch/openrisc/include/asm/system.h                 |   35 --
 arch/openrisc/kernel/idle.c                        |    1 -
 arch/openrisc/kernel/process.c                     |    1 -
 arch/openrisc/kernel/prom.c                        |    1 -
 arch/openrisc/kernel/ptrace.c                      |    1 -
 arch/openrisc/kernel/setup.c                       |    1 -
 arch/openrisc/kernel/traps.c                       |    1 -
 arch/openrisc/mm/init.c                            |    1 -
 arch/openrisc/mm/tlb.c                             |    1 -
 arch/parisc/include/asm/atomic.h                   |    1 -
 arch/parisc/include/asm/barrier.h                  |   35 ++
 arch/parisc/include/asm/delay.h                    |    2 +-
 arch/parisc/include/asm/dma.h                      |    1 -
 arch/parisc/include/asm/exec.h                     |    6 +
 arch/parisc/include/asm/ldcw.h                     |   48 ++
 arch/parisc/include/asm/processor.h                |    2 +-
 arch/parisc/include/asm/psw.h                      |   41 ++
 arch/parisc/include/asm/special_insns.h            |   40 ++
 arch/parisc/include/asm/spinlock.h                 |    1 -
 arch/parisc/include/asm/switch_to.h                |   12 +
 arch/parisc/include/asm/system.h                   |  165 ------
 arch/parisc/include/asm/thread_info.h              |    1 +
 arch/parisc/include/asm/timex.h                    |    1 -
 arch/parisc/include/asm/uaccess.h                  |    1 -
 arch/parisc/kernel/cache.c                         |    1 -
 arch/parisc/kernel/firmware.c                      |    1 -
 arch/parisc/kernel/pci.c                           |    1 -
 arch/parisc/kernel/ptrace.c                        |    1 -
 arch/parisc/kernel/smp.c                           |    1 -
 arch/parisc/kernel/traps.c                         |    1 -
 arch/parisc/lib/bitops.c                           |    1 -
 arch/powerpc/include/asm/atomic.h                  |    8 +-
 arch/powerpc/include/asm/auxvec.h                  |    2 +
 arch/powerpc/include/asm/barrier.h                 |   68 +++
 arch/powerpc/include/asm/bug.h                     |   11 +
 arch/powerpc/include/asm/cache.h                   |   16 +
 arch/powerpc/include/asm/cmpxchg.h                 |  309 ++++++++++
 arch/powerpc/include/asm/debug.h                   |   56 ++
 arch/powerpc/include/asm/dma.h                     |    1 -
 arch/powerpc/include/asm/exec.h                    |    9 +
 arch/powerpc/include/asm/hw_breakpoint.h           |    2 +-
 arch/powerpc/include/asm/processor.h               |   30 +
 arch/powerpc/include/asm/reg_booke.h               |    5 +
 arch/powerpc/include/asm/rtas.h                    |    2 +
 arch/powerpc/include/asm/runlatch.h                |   45 ++
 arch/powerpc/include/asm/setup.h                   |   24 +-
 arch/powerpc/include/asm/switch_to.h               |   65 +++
 arch/powerpc/include/asm/system.h                  |  592 --------------------
 arch/powerpc/kernel/align.c                        |    2 +-
 arch/powerpc/kernel/cputable.c                     |    1 +
 arch/powerpc/kernel/crash.c                        |    2 +-
 arch/powerpc/kernel/idle.c                         |    2 +-
 arch/powerpc/kernel/irq.c                          |    2 +-
 arch/powerpc/kernel/kprobes.c                      |    1 -
 arch/powerpc/kernel/lparcfg.c                      |    1 -
 arch/powerpc/kernel/ppc_ksyms.c                    |    2 +-
 arch/powerpc/kernel/process.c                      |    4 +-
 arch/powerpc/kernel/prom.c                         |    1 -
 arch/powerpc/kernel/prom_init.c                    |    1 -
 arch/powerpc/kernel/ptrace.c                       |    2 +-
 arch/powerpc/kernel/ptrace32.c                     |    2 +-
 arch/powerpc/kernel/rtas.c                         |    1 -
 arch/powerpc/kernel/setup-common.c                 |    1 -
 arch/powerpc/kernel/setup_32.c                     |    1 -
 arch/powerpc/kernel/setup_64.c                     |    1 -
 arch/powerpc/kernel/signal.c                       |    1 +
 arch/powerpc/kernel/signal_32.c                    |    1 +
 arch/powerpc/kernel/signal_64.c                    |    1 +
 arch/powerpc/kernel/smp.c                          |    2 +-
 arch/powerpc/kernel/softemu8xx.c                   |    1 -
 arch/powerpc/kernel/swsusp.c                       |    2 +-
 arch/powerpc/kernel/swsusp_64.c                    |    1 -
 arch/powerpc/kernel/sys_ppc32.c                    |    1 +
 arch/powerpc/kernel/sysfs.c                        |    1 -
 arch/powerpc/kernel/traps.c                        |    3 +-
 arch/powerpc/kernel/vdso.c                         |    1 -
 arch/powerpc/kvm/book3s_hv.c                       |    1 +
 arch/powerpc/lib/alloc.c                           |    2 +-
 arch/powerpc/lib/copyuser_power7_vmx.c             |    1 +
 arch/powerpc/mm/44x_mmu.c                          |    1 -
 arch/powerpc/mm/fault.c                            |    2 +-
 arch/powerpc/mm/hash_utils_64.c                    |    1 -
 arch/powerpc/mm/init_32.c                          |    1 -
 arch/powerpc/mm/init_64.c                          |    1 -
 arch/powerpc/mm/numa.c                             |    2 +-
 arch/powerpc/mm/pgtable_32.c                       |    1 +
 arch/powerpc/mm/pgtable_64.c                       |    1 -
 arch/powerpc/oprofile/common.c                     |    1 -
 arch/powerpc/oprofile/op_model_7450.c              |    1 -
 arch/powerpc/oprofile/op_model_cell.c              |    1 -
 arch/powerpc/oprofile/op_model_fsl_emb.c           |    1 -
 arch/powerpc/oprofile/op_model_power4.c            |    1 -
 arch/powerpc/oprofile/op_model_rs64.c              |    1 -
 arch/powerpc/platforms/52xx/lite5200_pm.c          |    1 +
 arch/powerpc/platforms/82xx/pq2.c                  |    1 -
 arch/powerpc/platforms/83xx/km83xx.c               |    1 -
 arch/powerpc/platforms/83xx/mpc832x_mds.c          |    1 -
 arch/powerpc/platforms/83xx/mpc834x_itx.c          |    1 -
 arch/powerpc/platforms/83xx/mpc834x_mds.c          |    1 -
 arch/powerpc/platforms/83xx/mpc836x_mds.c          |    1 -
 arch/powerpc/platforms/83xx/sbc834x.c              |    1 -
 arch/powerpc/platforms/83xx/suspend.c              |    1 +
 arch/powerpc/platforms/85xx/corenet_ds.c           |    1 -
 arch/powerpc/platforms/85xx/ge_imp3a.c             |    1 -
 arch/powerpc/platforms/85xx/ksi8560.c              |    1 -
 arch/powerpc/platforms/85xx/mpc8536_ds.c           |    1 -
 arch/powerpc/platforms/85xx/mpc85xx_ads.c          |    1 -
 arch/powerpc/platforms/85xx/mpc85xx_cds.c          |    1 -
 arch/powerpc/platforms/85xx/mpc85xx_ds.c           |    1 -
 arch/powerpc/platforms/85xx/mpc85xx_mds.c          |    1 -
 arch/powerpc/platforms/85xx/mpc85xx_rdb.c          |    1 -
 arch/powerpc/platforms/85xx/p1010rdb.c             |    1 -
 arch/powerpc/platforms/85xx/p1023_rds.c            |    1 -
 arch/powerpc/platforms/85xx/p2041_rdb.c            |    1 -
 arch/powerpc/platforms/85xx/p3041_ds.c             |    1 -
 arch/powerpc/platforms/85xx/p4080_ds.c             |    1 -
 arch/powerpc/platforms/85xx/p5020_ds.c             |    1 -
 arch/powerpc/platforms/85xx/sbc8548.c              |    1 -
 arch/powerpc/platforms/85xx/sbc8560.c              |    1 -
 arch/powerpc/platforms/85xx/socrates.c             |    1 -
 arch/powerpc/platforms/85xx/stx_gp3.c              |    1 -
 arch/powerpc/platforms/85xx/tqm85xx.c              |    1 -
 arch/powerpc/platforms/85xx/xes_mpc85xx.c          |    1 -
 arch/powerpc/platforms/86xx/gef_ppc9a.c            |    1 -
 arch/powerpc/platforms/86xx/gef_sbc310.c           |    1 -
 arch/powerpc/platforms/86xx/gef_sbc610.c           |    1 -
 arch/powerpc/platforms/86xx/mpc8610_hpcd.c         |    1 -
 arch/powerpc/platforms/86xx/mpc86xx_hpcn.c         |    1 -
 arch/powerpc/platforms/86xx/pic.c                  |    1 -
 arch/powerpc/platforms/86xx/sbc8641d.c             |    1 -
 arch/powerpc/platforms/8xx/mpc86xads_setup.c       |    1 -
 arch/powerpc/platforms/8xx/mpc885ads_setup.c       |    1 -
 arch/powerpc/platforms/8xx/tqm8xx_setup.c          |    1 -
 arch/powerpc/platforms/cell/smp.c                  |    1 -
 arch/powerpc/platforms/embedded6xx/c2k.c           |    1 -
 arch/powerpc/platforms/embedded6xx/holly.c         |    1 -
 arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c  |    1 -
 arch/powerpc/platforms/embedded6xx/prpmc2800.c     |    1 -
 arch/powerpc/platforms/embedded6xx/storcenter.c    |    1 -
 arch/powerpc/platforms/fsl_uli1575.c               |    1 -
 arch/powerpc/platforms/maple/setup.c               |    1 -
 arch/powerpc/platforms/maple/time.c                |    1 -
 arch/powerpc/platforms/pasemi/setup.c              |    2 +-
 arch/powerpc/platforms/powermac/bootx_init.c       |    1 +
 arch/powerpc/platforms/powermac/cpufreq_32.c       |    2 +-
 arch/powerpc/platforms/powermac/nvram.c            |    1 -
 arch/powerpc/platforms/powermac/setup.c            |    1 -
 arch/powerpc/platforms/powermac/time.c             |    1 -
 arch/powerpc/platforms/powernv/smp.c               |    1 -
 arch/powerpc/platforms/ps3/mm.c                    |    1 +
 arch/powerpc/platforms/pseries/dtl.c               |    2 +-
 arch/powerpc/platforms/pseries/hotplug-cpu.c       |    1 -
 arch/powerpc/platforms/pseries/processor_idle.c    |    2 +-
 arch/powerpc/platforms/pseries/ras.c               |    1 -
 arch/powerpc/platforms/pseries/smp.c               |    1 -
 arch/powerpc/platforms/wsp/chroma.c                |    1 -
 arch/powerpc/platforms/wsp/psr2.c                  |    1 -
 arch/powerpc/platforms/wsp/wsp_pci.c               |    1 +
 arch/powerpc/sysdev/cpm_common.c                   |    1 -
 arch/powerpc/sysdev/fsl_soc.c                      |    1 -
 arch/powerpc/sysdev/msi_bitmap.c                   |    1 +
 arch/powerpc/sysdev/tsi108_dev.c                   |    1 -
 arch/powerpc/xmon/xmon.c                           |    1 +
 arch/s390/crypto/crypt_s390.h                      |    1 +
 arch/s390/include/asm/atomic.h                     |    2 +-
 arch/s390/include/asm/barrier.h                    |   35 ++
 arch/s390/include/asm/ctl_reg.h                    |   76 +++
 arch/s390/include/asm/elf.h                        |    1 -
 arch/s390/include/asm/exec.h                       |   12 +
 arch/s390/include/asm/facility.h                   |   63 ++
 arch/s390/include/asm/mmu.h                        |   14 +
 arch/s390/include/asm/mmu_context.h                |    1 +
 arch/s390/include/asm/processor.h                  |   24 +
 arch/s390/include/asm/setup.h                      |   14 +
 arch/s390/include/asm/smp.h                        |    2 +-
 arch/s390/include/asm/switch_to.h                  |  100 ++++
 arch/s390/include/asm/system.h                     |  315 -----------
 arch/s390/include/asm/uaccess.h                    |    6 +
 arch/s390/kernel/asm-offsets.c                     |    1 -
 arch/s390/kernel/compat_signal.c                   |    1 +
 arch/s390/kernel/cpcmd.c                           |    1 -
 arch/s390/kernel/dis.c                             |    1 -
 arch/s390/kernel/early.c                           |    2 +-
 arch/s390/kernel/lgr.c                             |    1 -
 arch/s390/kernel/machine_kexec.c                   |    1 -
 arch/s390/kernel/os_info.c                         |    1 -
 arch/s390/kernel/process.c                         |    2 +-
 arch/s390/kernel/ptrace.c                          |    2 +-
 arch/s390/kernel/setup.c                           |    1 -
 arch/s390/kernel/signal.c                          |    1 +
 arch/s390/kernel/suspend.c                         |    2 +-
 arch/s390/kernel/traps.c                           |    1 -
 arch/s390/kernel/vdso.c                            |    2 +-
 arch/s390/kvm/kvm-s390.c                           |    2 +-
 arch/s390/mm/fault.c                               |    2 +-
 arch/s390/mm/init.c                                |    2 +-
 arch/s390/mm/maccess.c                             |    2 +-
 arch/s390/mm/pgtable.c                             |    1 -
 arch/s390/oprofile/hwsampler.c                     |    1 +
 arch/score/include/asm/atomic.h                    |    1 +
 arch/score/include/asm/barrier.h                   |   16 +
 arch/score/include/asm/bitops.h                    |    1 -
 arch/score/include/asm/bug.h                       |   11 +
 arch/score/include/asm/cmpxchg.h                   |   49 ++
 arch/score/include/asm/exec.h                      |    6 +
 arch/score/include/asm/switch_to.h                 |   13 +
 arch/score/include/asm/system.h                    |   90 ---
 arch/sh/boards/mach-microdev/irq.c                 |    1 -
 arch/sh/include/asm/atomic-irq.h                   |    2 +
 arch/sh/include/asm/atomic.h                       |    2 +-
 arch/sh/include/asm/auxvec.h                       |    2 +
 arch/sh/include/asm/barrier.h                      |   54 ++
 arch/sh/include/asm/bitops.h                       |    1 -
 arch/sh/include/asm/bl_bit.h                       |   10 +
 arch/sh/include/asm/bl_bit_32.h                    |   33 ++
 arch/sh/include/asm/bl_bit_64.h                    |   40 ++
 arch/sh/include/asm/bug.h                          |    5 +
 arch/sh/include/asm/cache_insns.h                  |   11 +
 arch/sh/include/asm/cache_insns_32.h               |   21 +
 arch/sh/include/asm/cache_insns_64.h               |   23 +
 arch/sh/include/asm/cmpxchg-irq.h                  |    2 +
 arch/sh/include/asm/cmpxchg.h                      |   70 +++
 arch/sh/include/asm/exec.h                         |   10 +
 arch/sh/include/asm/futex-irq.h                    |    1 -
 arch/sh/include/asm/io.h                           |    1 -
 arch/sh/include/asm/processor.h                    |   15 +
 arch/sh/include/asm/ptrace.h                       |    1 -
 arch/sh/include/asm/setup.h                        |    1 +
 arch/sh/include/asm/switch_to.h                    |   19 +
 .../sh/include/asm/{system_32.h => switch_to_32.h} |  108 +----
 arch/sh/include/asm/switch_to_64.h                 |   35 ++
 arch/sh/include/asm/system.h                       |  184 ------
 arch/sh/include/asm/system_64.h                    |   79 ---
 arch/sh/include/asm/traps.h                        |   21 +
 arch/sh/include/asm/traps_32.h                     |   68 +++
 arch/sh/include/asm/traps_64.h                     |   24 +
 arch/sh/include/asm/uaccess.h                      |   14 +
 arch/sh/kernel/cpu/init.c                          |    2 +-
 arch/sh/kernel/cpu/irq/imask.c                     |    1 -
 arch/sh/kernel/cpu/sh2a/opcode_helper.c            |    1 -
 arch/sh/kernel/cpu/sh4/fpu.c                       |    1 -
 arch/sh/kernel/hw_breakpoint.c                     |    1 +
 arch/sh/kernel/idle.c                              |    2 +-
 arch/sh/kernel/io_trapped.c                        |    1 -
 arch/sh/kernel/process_32.c                        |    1 -
 arch/sh/kernel/process_64.c                        |    1 +
 arch/sh/kernel/ptrace_32.c                         |    1 -
 arch/sh/kernel/ptrace_64.c                         |    2 +-
 arch/sh/kernel/reboot.c                            |    2 +-
 arch/sh/kernel/signal_32.c                         |    1 -
 arch/sh/kernel/smp.c                               |    1 -
 arch/sh/kernel/traps.c                             |    2 +-
 arch/sh/kernel/traps_32.c                          |    3 +-
 arch/sh/kernel/traps_64.c                          |    1 -
 arch/sh/math-emu/math.c                            |    1 -
 arch/sh/mm/fault_32.c                              |    2 +-
 arch/sh/mm/fault_64.c                              |    1 -
 arch/sh/mm/flush-sh4.c                             |    1 +
 arch/sh/mm/pmb.c                                   |    1 -
 arch/sh/mm/tlb-pteaex.c                            |    1 -
 arch/sh/mm/tlb-sh3.c                               |    1 -
 arch/sh/mm/tlb-sh4.c                               |    1 -
 arch/sh/mm/tlbflush_64.c                           |    1 -
 arch/sparc/include/asm/atomic_32.h                 |    2 +-
 arch/sparc/include/asm/atomic_64.h                 |    3 +-
 arch/sparc/include/asm/auxio_32.h                  |    1 -
 arch/sparc/include/asm/barrier.h                   |    8 +
 arch/sparc/include/asm/barrier_32.h                |   15 +
 arch/sparc/include/asm/barrier_64.h                |   56 ++
 arch/sparc/include/asm/bug.h                       |    3 +
 arch/sparc/include/asm/cacheflush_32.h             |    9 +
 arch/sparc/include/asm/cacheflush_64.h             |   10 +
 arch/sparc/include/asm/cmpxchg.h                   |    8 +
 arch/sparc/include/asm/cmpxchg_32.h                |  112 ++++
 arch/sparc/include/asm/cmpxchg_64.h                |  145 +++++
 arch/sparc/include/asm/cpu_type.h                  |   34 ++
 arch/sparc/include/asm/exec.h                      |    6 +
 arch/sparc/include/asm/floppy_32.h                 |    1 -
 arch/sparc/include/asm/futex_64.h                  |    1 -
 arch/sparc/include/asm/io_32.h                     |    1 -
 arch/sparc/include/asm/io_64.h                     |    1 -
 arch/sparc/include/asm/irqflags_32.h               |    1 +
 arch/sparc/include/asm/mmu_context_64.h            |    1 -
 arch/sparc/include/asm/ns87303.h                   |    1 -
 arch/sparc/include/asm/perfctr.h                   |   23 +
 arch/sparc/include/asm/pgtable_32.h                |    2 +-
 arch/sparc/include/asm/pgtable_64.h                |    1 -
 arch/sparc/include/asm/processor.h                 |    3 +
 arch/sparc/include/asm/processor_64.h              |    3 +
 arch/sparc/include/asm/ptrace.h                    |    5 +-
 arch/sparc/include/asm/setup.h                     |   16 +
 arch/sparc/include/asm/switch_to.h                 |    8 +
 arch/sparc/include/asm/switch_to_32.h              |  106 ++++
 arch/sparc/include/asm/switch_to_64.h              |   72 +++
 arch/sparc/include/asm/system.h                    |    8 -
 arch/sparc/include/asm/system_32.h                 |  284 ----------
 arch/sparc/include/asm/system_64.h                 |  331 -----------
 arch/sparc/include/asm/timer_32.h                  |    3 +-
 arch/sparc/include/asm/uaccess_64.h                |    1 -
 arch/sparc/kernel/auxio_32.c                       |    1 +
 arch/sparc/kernel/devices.c                        |    2 +-
 arch/sparc/kernel/irq.h                            |    1 +
 arch/sparc/kernel/irq_64.c                         |    1 -
 arch/sparc/kernel/kgdb_32.c                        |    1 +
 arch/sparc/kernel/module.c                         |    1 +
 arch/sparc/kernel/muldiv.c                         |    1 -
 arch/sparc/kernel/nmi.c                            |    1 +
 arch/sparc/kernel/pcr.c                            |    1 +
 arch/sparc/kernel/perf_event.c                     |    2 +
 arch/sparc/kernel/process_32.c                     |    2 +-
 arch/sparc/kernel/process_64.c                     |    1 -
 arch/sparc/kernel/ptrace_32.c                      |    2 +-
 arch/sparc/kernel/ptrace_64.c                      |    1 -
 arch/sparc/kernel/reboot.c                         |    2 +-
 arch/sparc/kernel/setup_32.c                       |    2 +-
 arch/sparc/kernel/setup_64.c                       |    2 +-
 arch/sparc/kernel/signal32.c                       |    1 +
 arch/sparc/kernel/signal_32.c                      |    1 +
 arch/sparc/kernel/signal_64.c                      |    2 +
 arch/sparc/kernel/sigutil_32.c                     |    1 +
 arch/sparc/kernel/sigutil_64.c                     |    1 +
 arch/sparc/kernel/sparc_ksyms_64.c                 |    2 +-
 arch/sparc/kernel/time_32.c                        |    1 -
 arch/sparc/kernel/traps_32.c                       |    1 -
 arch/sparc/kernel/traps_64.c                       |    2 +-
 arch/sparc/kernel/unaligned_32.c                   |    1 -
 arch/sparc/kernel/unaligned_64.c                   |    2 +-
 arch/sparc/kernel/visemul.c                        |    2 +-
 arch/sparc/math-emu/math_64.c                      |    1 +
 arch/sparc/mm/btfixup.c                            |    1 -
 arch/sparc/mm/fault_32.c                           |    1 -
 arch/sparc/mm/init_32.c                            |    1 -
 arch/sparc/mm/init_64.c                            |    1 -
 arch/sparc/mm/init_64.h                            |    2 -
 arch/sparc/mm/loadmmu.c                            |    1 -
 arch/sparc/mm/tsb.c                                |    1 -
 arch/sparc/prom/console_32.c                       |    1 -
 arch/sparc/prom/console_64.c                       |    1 -
 arch/sparc/prom/misc_32.c                          |    1 -
 arch/sparc/prom/misc_64.c                          |    1 -
 arch/sparc/prom/p1275.c                            |    1 -
 arch/sparc/prom/ranges.c                           |    1 -
 arch/tile/include/asm/atomic.h                     |    2 +-
 arch/tile/include/asm/atomic_32.h                  |    1 +
 arch/tile/include/asm/atomic_64.h                  |    1 +
 arch/tile/include/asm/{system.h => barrier.h}      |  121 +----
 arch/tile/include/asm/bitops_32.h                  |    1 -
 arch/tile/include/asm/bitops_64.h                  |    1 -
 arch/tile/include/asm/cacheflush.h                 |   11 +-
 arch/tile/include/asm/exec.h                       |   20 +
 arch/tile/include/asm/pgtable.h                    |    1 -
 arch/tile/include/asm/setup.h                      |   22 +
 arch/tile/include/asm/spinlock_32.h                |    1 -
 arch/tile/include/asm/switch_to.h                  |   76 +++
 arch/tile/include/asm/timex.h                      |    2 +
 arch/tile/include/asm/unaligned.h                  |   15 +
 arch/tile/kernel/early_printk.c                    |    1 +
 arch/tile/kernel/proc.c                            |    1 +
 arch/tile/kernel/process.c                         |    3 +-
 arch/tile/kernel/regs_32.S                         |    2 +-
 arch/tile/kernel/regs_64.S                         |    2 +-
 arch/tile/kernel/single_step.c                     |    1 +
 arch/tile/kernel/traps.c                           |    1 +
 arch/tile/mm/elf.c                                 |    1 +
 arch/tile/mm/fault.c                               |    1 -
 arch/tile/mm/init.c                                |    1 -
 arch/tile/mm/pgtable.c                             |    1 -
 arch/um/include/asm/fixmap.h                       |    1 -
 arch/unicore32/include/asm/Kbuild                  |    1 -
 arch/unicore32/include/asm/barrier.h               |   28 +
 arch/unicore32/include/asm/bug.h                   |   27 +
 arch/unicore32/include/asm/cmpxchg.h               |   61 ++
 arch/unicore32/include/asm/exec.h                  |   15 +
 arch/unicore32/include/asm/hwdef-copro.h           |   48 ++
 arch/unicore32/include/asm/io.h                    |    1 -
 arch/unicore32/include/asm/switch_to.h             |   30 +
 arch/unicore32/include/asm/system.h                |  161 ------
 arch/unicore32/include/asm/uaccess.h               |    1 -
 arch/unicore32/kernel/dma.c                        |    1 -
 arch/unicore32/kernel/head.S                       |    2 +-
 arch/unicore32/kernel/hibernate.c                  |    1 -
 arch/unicore32/kernel/irq.c                        |    1 -
 arch/unicore32/kernel/ksyms.c                      |    1 -
 arch/unicore32/kernel/process.c                    |    1 -
 arch/unicore32/kernel/setup.h                      |    3 +
 arch/unicore32/kernel/traps.c                      |    1 -
 arch/unicore32/mm/alignment.c                      |    2 +
 arch/unicore32/mm/fault.c                          |    1 -
 arch/unicore32/mm/flush.c                          |    1 -
 arch/unicore32/mm/mm.h                             |    5 +
 arch/x86/ia32/ia32_aout.c                          |    1 -
 arch/x86/include/asm/apic.h                        |    1 -
 arch/x86/include/asm/auxvec.h                      |    7 +
 arch/x86/include/asm/barrier.h                     |  116 ++++
 arch/x86/include/asm/bug.h                         |    4 +
 arch/x86/include/asm/cacheflush.h                  |    1 +
 arch/x86/include/asm/elf.h                         |    1 -
 arch/x86/include/asm/exec.h                        |    1 +
 arch/x86/include/asm/futex.h                       |    1 -
 arch/x86/include/asm/i387.h                        |    1 -
 arch/x86/include/asm/local.h                       |    1 -
 arch/x86/include/asm/mc146818rtc.h                 |    1 -
 arch/x86/include/asm/page_types.h                  |    1 -
 arch/x86/include/asm/processor.h                   |   31 +-
 arch/x86/include/asm/segment.h                     |   58 ++-
 arch/x86/include/asm/special_insns.h               |  199 +++++++
 arch/x86/include/asm/stackprotector.h              |    1 -
 arch/x86/include/asm/switch_to.h                   |  129 +++++
 arch/x86/include/asm/system.h                      |  523 -----------------
 arch/x86/include/asm/tlbflush.h                    |    2 +-
 arch/x86/include/asm/virtext.h                     |    1 -
 arch/x86/kernel/acpi/cstate.c                      |    1 +
 arch/x86/kernel/apm_32.c                           |    1 -
 arch/x86/kernel/cpu/mcheck/p5.c                    |    1 -
 arch/x86/kernel/cpu/mcheck/therm_throt.c           |    1 -
 arch/x86/kernel/cpu/mcheck/winchip.c               |    1 -
 arch/x86/kernel/cpu/mtrr/generic.c                 |    1 -
 arch/x86/kernel/cpuid.c                            |    1 -
 arch/x86/kernel/i8259.c                            |    1 -
 arch/x86/kernel/irqinit.c                          |    1 -
 arch/x86/kernel/kgdb.c                             |    1 -
 arch/x86/kernel/ldt.c                              |    1 -
 arch/x86/kernel/machine_kexec_32.c                 |    1 -
 arch/x86/kernel/mca_32.c                           |    1 -
 arch/x86/kernel/module.c                           |    1 -
 arch/x86/kernel/msr.c                              |    1 -
 arch/x86/kernel/paravirt.c                         |    1 +
 arch/x86/kernel/pci-calgary_64.c                   |    1 -
 arch/x86/kernel/process.c                          |    1 -
 arch/x86/kernel/process_32.c                       |    2 +-
 arch/x86/kernel/process_64.c                       |    2 +-
 arch/x86/kernel/ptrace.c                           |    1 -
 arch/x86/kernel/setup.c                            |    1 -
 arch/x86/kernel/tce_64.c                           |    1 +
 arch/x86/kernel/tls.c                              |    1 -
 arch/x86/kernel/traps.c                            |    1 -
 arch/x86/mm/init.c                                 |    1 -
 arch/x86/mm/init_32.c                              |    1 -
 arch/x86/mm/init_64.c                              |    1 -
 arch/x86/mm/pgtable_32.c                           |    1 -
 arch/x86/power/hibernate_32.c                      |    1 -
 arch/xtensa/include/asm/atomic.h                   |    2 +-
 arch/xtensa/include/asm/barrier.h                  |   29 +
 arch/xtensa/include/asm/bitops.h                   |    1 -
 arch/xtensa/include/asm/{system.h => cmpxchg.h}    |   67 +--
 arch/xtensa/include/asm/exec.h                     |   14 +
 arch/xtensa/include/asm/setup.h                    |    2 +
 arch/xtensa/include/asm/switch_to.h                |   22 +
 arch/xtensa/include/asm/uaccess.h                  |    2 +
 arch/xtensa/kernel/process.c                       |    1 -
 arch/xtensa/kernel/ptrace.c                        |    1 -
 arch/xtensa/kernel/setup.c                         |    1 -
 arch/xtensa/kernel/traps.c                         |   19 +
 arch/xtensa/mm/fault.c                             |    1 -
 arch/xtensa/mm/tlb.c                               |    1 -
 drivers/acpi/processor_driver.c                    |    1 -
 drivers/atm/eni.c                                  |    1 -
 drivers/atm/firestream.c                           |    1 -
 drivers/atm/horizon.c                              |    1 -
 drivers/atm/idt77105.c                             |    1 -
 drivers/atm/iphase.c                               |    1 -
 drivers/atm/suni.c                                 |    1 -
 drivers/atm/zatm.c                                 |    1 -
 drivers/block/floppy.c                             |    1 -
 drivers/block/hd.c                                 |    1 -
 drivers/block/nbd.c                                |    1 -
 drivers/block/xd.c                                 |    1 -
 drivers/bluetooth/bt3c_cs.c                        |    1 -
 drivers/bluetooth/btuart_cs.c                      |    1 -
 drivers/bluetooth/dtl1_cs.c                        |    1 -
 drivers/char/apm-emulation.c                       |    1 -
 drivers/char/ds1302.c                              |    1 -
 drivers/char/efirtc.c                              |    1 -
 drivers/char/genrtc.c                              |    1 -
 drivers/char/hpet.c                                |    1 -
 drivers/char/ipmi/ipmi_devintf.c                   |    1 -
 drivers/char/ipmi/ipmi_msghandler.c                |    1 -
 drivers/char/ipmi/ipmi_si_intf.c                   |    1 -
 drivers/char/lp.c                                  |    1 -
 drivers/char/mbcs.c                                |    1 -
 drivers/char/mspec.c                               |    1 -
 drivers/char/mwave/3780i.c                         |    1 -
 drivers/char/nvram.c                               |    1 -
 drivers/char/nwflash.c                             |    1 -
 drivers/char/pcmcia/synclink_cs.c                  |    1 -
 drivers/char/rtc.c                                 |    1 -
 drivers/char/sonypi.c                              |    1 -
 drivers/char/xilinx_hwicap/xilinx_hwicap.c         |    1 -
 drivers/cpufreq/omap-cpufreq.c                     |    1 -
 drivers/cpufreq/powernow-k7.c                      |    1 -
 drivers/firewire/core-cdev.c                       |    1 -
 drivers/firewire/core-device.c                     |    1 -
 drivers/firewire/core-topology.c                   |    1 -
 drivers/firewire/ohci.c                            |    1 -
 drivers/firewire/sbp2.c                            |    1 -
 drivers/i2c/busses/i2c-acorn.c                     |    1 -
 drivers/ide/ide-cs.c                               |    1 -
 drivers/ide/qd65xx.c                               |    1 -
 drivers/infiniband/hw/ehca/ehca_reqs.c             |    1 -
 drivers/input/joydev.c                             |    1 -
 drivers/input/joystick/amijoy.c                    |    1 -
 drivers/input/mouse/amimouse.c                     |    1 -
 drivers/input/mouse/atarimouse.c                   |    1 -
 drivers/input/serio/hp_sdc.c                       |    1 -
 drivers/input/serio/maceps2.c                      |    1 -
 drivers/input/serio/rpckbd.c                       |    1 -
 drivers/input/serio/sa1111ps2.c                    |    1 -
 drivers/isdn/hardware/avm/avm_cs.c                 |    1 -
 drivers/isdn/hisax/avma1_cs.c                      |    1 -
 drivers/isdn/hisax/elsa_cs.c                       |    1 -
 drivers/isdn/hisax/sedlbauer_cs.c                  |    1 -
 drivers/isdn/hisax/teles_cs.c                      |    1 -
 drivers/isdn/i4l/isdn_bsdcomp.c                    |    1 -
 drivers/isdn/pcbit/layer2.c                        |    1 -
 drivers/macintosh/macio-adb.c                      |    1 -
 drivers/macintosh/therm_adt746x.c                  |    1 -
 drivers/macintosh/therm_pm72.c                     |    1 -
 drivers/macintosh/therm_windtunnel.c               |    1 -
 drivers/macintosh/via-cuda.c                       |    1 -
 drivers/macintosh/via-macii.c                      |    1 -
 drivers/macintosh/via-pmu.c                        |    1 -
 drivers/macintosh/via-pmu68k.c                     |    1 -
 drivers/macintosh/windfarm_lm75_sensor.c           |    1 -
 drivers/macintosh/windfarm_pm121.c                 |    1 -
 drivers/macintosh/windfarm_pm81.c                  |    1 -
 drivers/macintosh/windfarm_pm91.c                  |    1 -
 drivers/macintosh/windfarm_smu_controls.c          |    1 -
 drivers/macintosh/windfarm_smu_sensors.c           |    1 -
 drivers/media/dvb/dvb-core/dmxdev.c                |    1 -
 drivers/media/dvb/firewire/firedtv-fw.c            |    1 -
 drivers/media/dvb/ttpci/av7110.c                   |    1 -
 drivers/media/media-devnode.c                      |    1 -
 drivers/media/video/ivtv/ivtv-driver.h             |    1 -
 drivers/media/video/v4l2-common.c                  |    1 -
 drivers/media/video/v4l2-dev.c                     |    1 -
 drivers/message/i2o/i2o_scsi.c                     |    1 -
 drivers/mfd/mcp-core.c                             |    1 -
 drivers/mfd/mcp-sa11x0.c                           |    1 -
 drivers/misc/sgi-gru/gru_instructions.h            |    1 +
 drivers/misc/sgi-xp/xp.h                           |    1 -
 drivers/mmc/card/block.c                           |    1 -
 drivers/mtd/devices/pmc551.c                       |    1 -
 drivers/mtd/devices/slram.c                        |    1 -
 drivers/mtd/maps/pcmciamtd.c                       |    1 -
 drivers/mtd/nand/bcm_umi_nand.c                    |    1 -
 drivers/net/appletalk/cops.c                       |    1 -
 drivers/net/appletalk/ltpc.c                       |    1 -
 drivers/net/arcnet/com20020_cs.c                   |    1 -
 drivers/net/bonding/bond_main.c                    |    1 -
 drivers/net/can/slcan.c                            |    1 -
 drivers/net/cris/eth_v10.c                         |    1 -
 drivers/net/ethernet/3com/3c574_cs.c               |    1 -
 drivers/net/ethernet/3com/3c589_cs.c               |    1 -
 drivers/net/ethernet/8390/3c503.c                  |    1 -
 drivers/net/ethernet/8390/ac3200.c                 |    1 -
 drivers/net/ethernet/8390/apne.c                   |    1 -
 drivers/net/ethernet/8390/ax88796.c                |    1 -
 drivers/net/ethernet/8390/axnet_cs.c               |    1 -
 drivers/net/ethernet/8390/e2100.c                  |    1 -
 drivers/net/ethernet/8390/es3210.c                 |    1 -
 drivers/net/ethernet/8390/etherh.c                 |    2 +-
 drivers/net/ethernet/8390/hp-plus.c                |    1 -
 drivers/net/ethernet/8390/hp.c                     |    1 -
 drivers/net/ethernet/8390/lib8390.c                |    1 -
 drivers/net/ethernet/8390/lne390.c                 |    1 -
 drivers/net/ethernet/8390/mac8390.c                |    1 -
 drivers/net/ethernet/8390/ne-h8300.c               |    1 -
 drivers/net/ethernet/8390/ne.c                     |    1 -
 drivers/net/ethernet/8390/ne2.c                    |    1 -
 drivers/net/ethernet/8390/ne2k-pci.c               |    1 -
 drivers/net/ethernet/8390/ne3210.c                 |    1 -
 drivers/net/ethernet/8390/pcnet_cs.c               |    1 -
 drivers/net/ethernet/8390/smc-mca.c                |    1 -
 drivers/net/ethernet/8390/smc-ultra.c              |    1 -
 drivers/net/ethernet/8390/smc-ultra32.c            |    1 -
 drivers/net/ethernet/8390/stnic.c                  |    1 -
 drivers/net/ethernet/8390/wd.c                     |    1 -
 drivers/net/ethernet/8390/zorro8390.c              |    1 -
 drivers/net/ethernet/alteon/acenic.c               |    1 -
 drivers/net/ethernet/amd/7990.c                    |    1 -
 drivers/net/ethernet/amd/am79c961a.c               |    1 -
 drivers/net/ethernet/amd/amd8111e.c                |    1 -
 drivers/net/ethernet/amd/declance.c                |    1 -
 drivers/net/ethernet/amd/hplance.c                 |    1 -
 drivers/net/ethernet/amd/mvme147.c                 |    1 -
 drivers/net/ethernet/amd/nmclan_cs.c               |    1 -
 drivers/net/ethernet/amd/sunlance.c                |    1 -
 drivers/net/ethernet/broadcom/tg3.c                |    1 -
 drivers/net/ethernet/cirrus/cs89x0.c               |    1 -
 drivers/net/ethernet/cirrus/mac89x0.c              |    1 -
 drivers/net/ethernet/dlink/de600.c                 |    1 -
 drivers/net/ethernet/dlink/de620.c                 |    1 -
 drivers/net/ethernet/fujitsu/at1700.c              |    1 -
 drivers/net/ethernet/fujitsu/eth16i.c              |    1 -
 drivers/net/ethernet/fujitsu/fmvj18x_cs.c          |    1 -
 drivers/net/ethernet/i825xx/3c507.c                |    1 -
 drivers/net/ethernet/i825xx/3c527.c                |    1 -
 drivers/net/ethernet/i825xx/eepro.c                |    1 -
 drivers/net/ethernet/i825xx/eexpress.c             |    1 -
 drivers/net/ethernet/i825xx/ether1.c               |    1 -
 drivers/net/ethernet/i825xx/znet.c                 |    1 -
 drivers/net/ethernet/korina.c                      |    1 -
 drivers/net/ethernet/marvell/mv643xx_eth.c         |    1 -
 drivers/net/ethernet/marvell/pxa168_eth.c          |    1 -
 drivers/net/ethernet/natsemi/jazzsonic.c           |    1 -
 drivers/net/ethernet/natsemi/macsonic.c            |    1 -
 drivers/net/ethernet/natsemi/ns83820.c             |    1 -
 drivers/net/ethernet/neterion/s2io.c               |    1 -
 drivers/net/ethernet/nvidia/forcedeth.c            |    1 -
 drivers/net/ethernet/realtek/atp.c                 |    1 -
 drivers/net/ethernet/realtek/r8169.c               |    1 -
 drivers/net/ethernet/seeq/ether3.c                 |    1 -
 drivers/net/ethernet/seeq/seeq8005.c               |    1 -
 drivers/net/ethernet/smsc/smc91c92_cs.c            |    1 -
 drivers/net/ethernet/sun/cassini.c                 |    1 -
 drivers/net/ethernet/sun/sunbmac.c                 |    1 -
 drivers/net/ethernet/sun/sungem.c                  |    1 -
 drivers/net/ethernet/sun/sunhme.c                  |    1 -
 drivers/net/ethernet/sun/sunqe.c                   |    1 -
 drivers/net/ethernet/tundra/tsi108_eth.c           |    1 -
 drivers/net/ethernet/xircom/xirc2ps_cs.c           |    1 -
 drivers/net/hamradio/6pack.c                       |    1 -
 drivers/net/hamradio/baycom_par.c                  |    1 -
 drivers/net/hamradio/bpqether.c                    |    1 -
 drivers/net/hamradio/mkiss.c                       |    1 -
 drivers/net/hamradio/scc.c                         |    1 -
 drivers/net/hamradio/yam.c                         |    1 -
 drivers/net/hippi/rrunner.c                        |    1 -
 drivers/net/irda/donauboe.c                        |    1 -
 drivers/net/loopback.c                             |    1 -
 drivers/net/plip/plip.c                            |    1 -
 drivers/net/slip/slhc.c                            |    1 -
 drivers/net/slip/slip.c                            |    1 -
 drivers/net/tokenring/3c359.c                      |    1 -
 drivers/net/tokenring/abyss.c                      |    1 -
 drivers/net/tokenring/ibmtr_cs.c                   |    1 -
 drivers/net/tokenring/lanstreamer.c                |    1 -
 drivers/net/tokenring/madgemc.c                    |    1 -
 drivers/net/tokenring/olympic.c                    |    1 -
 drivers/net/tokenring/proteon.c                    |    1 -
 drivers/net/tokenring/skisa.c                      |    1 -
 drivers/net/tokenring/smctr.c                      |    1 -
 drivers/net/tokenring/tms380tr.c                   |    1 -
 drivers/net/tokenring/tmspci.c                     |    1 -
 drivers/net/tun.c                                  |    1 -
 drivers/net/wan/dlci.c                             |    1 -
 drivers/net/wan/dscc4.c                            |    1 -
 drivers/net/wan/hd64570.c                          |    1 -
 drivers/net/wan/hd64572.c                          |    1 -
 drivers/net/wan/lapbether.c                        |    1 -
 drivers/net/wan/sdla.c                             |    1 -
 drivers/net/wan/x25_asy.c                          |    1 -
 drivers/net/wireless/airo.c                        |    1 -
 drivers/net/wireless/airo_cs.c                     |    1 -
 drivers/net/wireless/atmel.c                       |    1 -
 drivers/net/wireless/atmel_cs.c                    |    1 -
 drivers/net/wireless/prism54/islpci_mgt.c          |    1 -
 drivers/net/wireless/ray_cs.c                      |    1 -
 drivers/net/wireless/wl3501_cs.c                   |    1 -
 drivers/nubus/nubus.c                              |    1 -
 drivers/parisc/dino.c                              |    1 -
 drivers/parisc/iosapic.c                           |    1 -
 drivers/parisc/lba_pci.c                           |    1 -
 drivers/pcmcia/cs.c                                |    1 -
 drivers/pcmcia/i82092.c                            |    1 -
 drivers/pcmcia/i82365.c                            |    1 -
 drivers/pcmcia/m32r_cfc.c                          |    1 -
 drivers/pcmcia/m32r_pcc.c                          |    1 -
 drivers/pcmcia/m8xx_pcmcia.c                       |    1 -
 drivers/pcmcia/pd6729.c                            |    1 -
 drivers/pcmcia/pxa2xx_base.c                       |    1 -
 drivers/pcmcia/sa11xx_base.c                       |    1 -
 drivers/pcmcia/soc_common.c                        |    1 -
 drivers/pcmcia/socket_sysfs.c                      |    1 -
 drivers/pcmcia/tcic.c                              |    1 -
 drivers/pcmcia/xxs1500_ss.c                        |    1 -
 drivers/pnp/pnpbios/bioscalls.c                    |    1 -
 drivers/pnp/pnpbios/core.c                         |    1 -
 drivers/s390/char/sclp_cmd.c                       |    1 +
 drivers/s390/cio/crw.c                             |    1 +
 drivers/s390/crypto/ap_bus.c                       |    2 +-
 drivers/sbus/char/flash.c                          |    1 -
 drivers/sbus/char/openprom.c                       |    1 -
 drivers/sbus/char/uctrl.c                          |    1 -
 drivers/scsi/53c700.c                              |    1 -
 drivers/scsi/BusLogic.c                            |    1 -
 drivers/scsi/advansys.c                            |    1 -
 drivers/scsi/aha152x.c                             |    1 -
 drivers/scsi/aha1542.c                             |    1 -
 drivers/scsi/aha1740.c                             |    1 -
 drivers/scsi/arcmsr/arcmsr_hba.c                   |    1 -
 drivers/scsi/arm/acornscsi.c                       |    1 -
 drivers/scsi/arm/cumana_1.c                        |    1 -
 drivers/scsi/arm/oak.c                             |    1 -
 drivers/scsi/atp870u.c                             |    1 -
 drivers/scsi/dtc.c                                 |    1 -
 drivers/scsi/fd_mcs.c                              |    1 -
 drivers/scsi/fdomain.c                             |    1 -
 drivers/scsi/g_NCR5380.c                           |    1 -
 drivers/scsi/gdth.c                                |    1 -
 drivers/scsi/ibmmca.c                              |    1 -
 drivers/scsi/in2000.c                              |    1 -
 drivers/scsi/mac53c94.c                            |    1 -
 drivers/scsi/mac_scsi.c                            |    1 -
 drivers/scsi/mesh.c                                |    1 -
 drivers/scsi/ncr53c8xx.c                           |    1 -
 drivers/scsi/nsp32.c                               |    1 -
 drivers/scsi/osst.c                                |    1 -
 drivers/scsi/pas16.c                               |    1 -
 drivers/scsi/qla1280.c                             |    1 -
 drivers/scsi/qlogicpti.c                           |    1 -
 drivers/scsi/st.c                                  |    1 -
 drivers/scsi/sun3_scsi.c                           |    1 -
 drivers/scsi/sun3_scsi_vme.c                       |    1 -
 drivers/scsi/sym53c416.c                           |    1 -
 drivers/scsi/t128.c                                |    1 -
 drivers/scsi/u14-34f.c                             |    1 -
 drivers/scsi/ultrastor.c                           |    1 -
 drivers/scsi/wd7000.c                              |    1 -
 drivers/spi/spi-omap-uwire.c                       |    1 -
 drivers/staging/comedi/drivers.c                   |    1 -
 drivers/staging/comedi/drivers/cb_pcidas64.c       |    1 -
 drivers/staging/comedi/drivers/mite.c              |    1 -
 drivers/staging/crystalhd/bc_dts_defs.h            |    2 +
 drivers/staging/crystalhd/crystalhd.h              |    1 -
 drivers/staging/crystalhd/crystalhd_lnx.h          |    1 -
 drivers/staging/crystalhd/crystalhd_misc.h         |    1 +
 drivers/staging/et131x/et131x.c                    |    1 -
 drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c   |    1 -
 drivers/staging/media/go7007/go7007-driver.c       |    1 -
 drivers/staging/media/go7007/go7007-i2c.c          |    1 -
 drivers/staging/media/go7007/go7007-v4l2.c         |    1 -
 drivers/staging/media/go7007/snd-go7007.c          |    1 -
 drivers/staging/media/lirc/lirc_serial.c           |    1 -
 drivers/staging/media/lirc/lirc_sir.c              |    1 -
 drivers/staging/panel/panel.c                      |    1 -
 drivers/staging/sbe-2t3e3/io.c                     |    1 -
 drivers/staging/telephony/phonedev.c               |    1 -
 .../tidspbridge/include/dspbridge/host_os.h        |    1 -
 drivers/staging/wlags49_h2/wl_cs.c                 |    1 -
 drivers/staging/wlags49_h2/wl_main.c               |    3 +-
 drivers/staging/wlags49_h2/wl_netdev.c             |    3 +-
 drivers/staging/wlags49_h2/wl_pci.c                |    1 -
 drivers/staging/wlags49_h2/wl_util.c               |    3 +-
 drivers/tty/amiserial.c                            |    1 -
 drivers/tty/isicom.c                               |    1 -
 drivers/tty/moxa.c                                 |    1 -
 drivers/tty/mxser.c                                |    1 -
 drivers/tty/n_hdlc.c                               |    1 -
 drivers/tty/n_tty.c                                |    1 -
 drivers/tty/pty.c                                  |    1 -
 drivers/tty/serial/21285.c                         |    1 +
 drivers/tty/serial/68328serial.c                   |    1 -
 drivers/tty/serial/8250/serial_cs.c                |    1 -
 drivers/tty/serial/crisv10.c                       |    2 +-
 drivers/tty/serial/dz.c                            |    1 -
 drivers/tty/serial/icom.c                          |    1 -
 drivers/tty/serial/msm_serial_hs.c                 |    1 -
 drivers/tty/serial/sunhv.c                         |    1 +
 drivers/tty/serial/sunsab.c                        |    1 +
 drivers/tty/serial/sunsu.c                         |    1 +
 drivers/tty/serial/sunzilog.c                      |    1 +
 drivers/tty/serial/zs.c                            |    1 -
 drivers/tty/synclink.c                             |    1 -
 drivers/tty/synclink_gt.c                          |    1 -
 drivers/tty/synclinkmp.c                           |    1 -
 drivers/tty/tty_io.c                               |    1 -
 drivers/tty/tty_ioctl.c                            |    1 -
 drivers/tty/vt/vt.c                                |    1 -
 drivers/usb/gadget/amd5536udc.c                    |    1 -
 drivers/usb/gadget/at91_udc.c                      |    1 -
 drivers/usb/gadget/dummy_hcd.c                     |    1 -
 drivers/usb/gadget/fsl_udc_core.c                  |    1 -
 drivers/usb/gadget/goku_udc.c                      |    1 -
 drivers/usb/gadget/langwell_udc.c                  |    1 -
 drivers/usb/gadget/mv_udc_core.c                   |    1 -
 drivers/usb/gadget/net2272.c                       |    1 -
 drivers/usb/gadget/net2280.c                       |    1 -
 drivers/usb/gadget/omap_udc.c                      |    1 -
 drivers/usb/gadget/printer.c                       |    1 -
 drivers/usb/gadget/pxa25x_udc.c                    |    1 -
 drivers/usb/gadget/rndis.c                         |    1 -
 drivers/usb/gadget/s3c2410_udc.c                   |    1 -
 drivers/usb/host/ehci-hcd.c                        |    1 -
 drivers/usb/host/isp116x-hcd.c                     |    1 -
 drivers/usb/host/isp1362-hcd.c                     |    1 -
 drivers/usb/host/ohci-hcd.c                        |    1 -
 drivers/usb/host/oxu210hp-hcd.c                    |    1 -
 drivers/usb/host/sl811-hcd.c                       |    1 -
 drivers/usb/host/u132-hcd.c                        |    1 -
 drivers/usb/host/uhci-hcd.c                        |    1 -
 drivers/video/amifb.c                              |    1 -
 drivers/video/bt431.h                              |    1 -
 drivers/video/bt455.h                              |    1 -
 drivers/video/console/fbcon.c                      |    1 -
 drivers/video/console/newport_con.c                |    1 -
 drivers/video/cyber2000fb.c                        |    1 -
 drivers/video/dnfb.c                               |    1 -
 drivers/video/neofb.c                              |    1 -
 drivers/video/pmag-ba-fb.c                         |    1 -
 drivers/video/pmagb-b-fb.c                         |    1 -
 drivers/video/q40fb.c                              |    1 -
 drivers/video/savage/savagefb_driver.c             |    1 -
 drivers/virtio/config.c                            |    1 -
 drivers/watchdog/advantechwdt.c                    |    1 -
 drivers/watchdog/alim7101_wdt.c                    |    1 -
 drivers/watchdog/booke_wdt.c                       |    1 -
 drivers/watchdog/eurotechwdt.c                     |    1 -
 drivers/watchdog/ib700wdt.c                        |    1 -
 drivers/watchdog/it87_wdt.c                        |    1 -
 drivers/watchdog/machzwd.c                         |    1 -
 drivers/watchdog/pc87413_wdt.c                     |    1 -
 drivers/watchdog/sbc60xxwdt.c                      |    1 -
 drivers/watchdog/sbc7240_wdt.c                     |    1 -
 drivers/watchdog/sbc8360.c                         |    1 -
 drivers/watchdog/sbc_fitpc2_wdt.c                  |    1 -
 drivers/watchdog/sc520_wdt.c                       |    1 -
 drivers/watchdog/smsc37b787_wdt.c                  |    1 -
 drivers/watchdog/w83627hf_wdt.c                    |    1 -
 drivers/watchdog/w83697hf_wdt.c                    |    1 -
 drivers/watchdog/w83697ug_wdt.c                    |    1 -
 drivers/watchdog/w83877f_wdt.c                     |    1 -
 drivers/watchdog/w83977f_wdt.c                     |    1 -
 drivers/watchdog/wdt.c                             |    1 -
 drivers/watchdog/wdt285.c                          |    1 +
 drivers/watchdog/wdt977.c                          |    1 -
 drivers/watchdog/wdt_pci.c                         |    1 -
 fs/binfmt_aout.c                                   |    1 -
 fs/binfmt_elf.c                                    |    1 +
 fs/binfmt_elf_fdpic.c                              |    1 +
 fs/binfmt_flat.c                                   |    1 -
 fs/coda/inode.c                                    |    1 -
 fs/coda/psdev.c                                    |    1 -
 fs/coda/upcall.c                                   |    1 -
 fs/eventpoll.c                                     |    1 -
 fs/exec.c                                          |    1 +
 fs/jbd2/commit.c                                   |    1 -
 fs/jbd2/journal.c                                  |    1 -
 fs/ncpfs/file.c                                    |    1 -
 fs/ncpfs/inode.c                                   |    1 -
 fs/ncpfs/mmap.c                                    |    1 -
 fs/nfs/client.c                                    |    1 -
 fs/nfs/direct.c                                    |    1 -
 fs/nfs/file.c                                      |    1 -
 fs/nfs/getroot.c                                   |    1 -
 fs/nfs/inode.c                                     |    1 -
 fs/nfs/read.c                                      |    1 -
 fs/nfs/super.c                                     |    1 -
 fs/proc/inode.c                                    |    1 -
 fs/reiserfs/journal.c                              |    1 -
 fs/ufs/inode.c                                     |    1 -
 fs/ufs/super.c                                     |    1 -
 fs/xfs/xfs_buf.h                                   |    1 -
 include/acpi/platform/aclinux.h                    |    1 -
 include/asm-generic/atomic.h                       |    3 +-
 include/asm-generic/barrier.h                      |   50 ++
 include/asm-generic/bitops/atomic.h                |    2 +-
 include/asm-generic/cmpxchg.h                      |   87 +++-
 include/asm-generic/exec.h                         |   19 +
 include/asm-generic/switch_to.h                    |   30 +
 include/asm-generic/system.h                       |  141 -----
 include/linux/cnt32_to_63.h                        |    1 -
 include/linux/debug_locks.h                        |    1 -
 include/linux/efi.h                                |    1 -
 include/linux/ide.h                                |    1 -
 include/linux/interrupt.h                          |    1 -
 include/linux/llist.h                              |    3 +-
 include/linux/lsm_audit.h                          |    1 -
 include/linux/mm.h                                 |    2 +
 include/linux/mtd/map.h                            |    2 +-
 include/linux/parport.h                            |    1 -
 include/linux/rwsem.h                              |    1 -
 include/linux/sched.h                              |    1 -
 include/linux/skbuff.h                             |    1 -
 include/linux/spinlock.h                           |    2 +-
 include/linux/stop_machine.h                       |    1 -
 include/linux/tty.h                                |    1 -
 include/linux/wait.h                               |    1 -
 include/xen/xen-ops.h                              |    1 +
 init/main.c                                        |    1 -
 kernel/debug/debug_core.c                          |    1 -
 kernel/debug/kdb/kdb_bt.c                          |    1 -
 kernel/dma.c                                       |    1 -
 kernel/kexec.c                                     |    1 -
 kernel/rwsem.c                                     |    1 -
 kernel/sched/core.c                                |    1 +
 kernel/signal.c                                    |    1 +
 kernel/sysctl.c                                    |    4 +-
 lib/llist.c                                        |    1 -
 lib/raid6/altivec.uc                               |    2 +-
 net/802/fc.c                                       |    1 -
 net/802/fddi.c                                     |    1 -
 net/802/hippi.c                                    |    1 -
 net/802/tr.c                                       |    1 -
 net/atm/clip.c                                     |    1 -
 net/ax25/af_ax25.c                                 |    1 -
 net/ax25/ax25_addr.c                               |    1 -
 net/ax25/ax25_dev.c                                |    1 -
 net/ax25/ax25_ds_in.c                              |    1 -
 net/ax25/ax25_ds_subr.c                            |    1 -
 net/ax25/ax25_ds_timer.c                           |    1 -
 net/ax25/ax25_iface.c                              |    1 -
 net/ax25/ax25_in.c                                 |    1 -
 net/ax25/ax25_ip.c                                 |    1 -
 net/ax25/ax25_out.c                                |    1 -
 net/ax25/ax25_route.c                              |    1 -
 net/ax25/ax25_std_in.c                             |    1 -
 net/ax25/ax25_std_subr.c                           |    1 -
 net/ax25/ax25_std_timer.c                          |    1 -
 net/ax25/ax25_subr.c                               |    1 -
 net/ax25/ax25_timer.c                              |    1 -
 net/ax25/ax25_uid.c                                |    1 -
 net/bluetooth/bnep/sock.c                          |    1 -
 net/bluetooth/cmtp/sock.c                          |    1 -
 net/bluetooth/hci_conn.c                           |    1 -
 net/bluetooth/hci_core.c                           |    1 -
 net/bluetooth/hci_event.c                          |    1 -
 net/bluetooth/hci_sock.c                           |    1 -
 net/bluetooth/l2cap_core.c                         |    1 -
 net/bluetooth/rfcomm/sock.c                        |    1 -
 net/bluetooth/sco.c                                |    1 -
 net/core/datagram.c                                |    1 -
 net/core/dev.c                                     |    1 -
 net/core/filter.c                                  |    1 -
 net/core/gen_estimator.c                           |    1 -
 net/core/rtnetlink.c                               |    1 -
 net/core/scm.c                                     |    1 -
 net/core/skbuff.c                                  |    1 -
 net/core/sock.c                                    |    1 -
 net/core/utils.c                                   |    1 -
 net/decnet/af_decnet.c                             |    1 -
 net/decnet/dn_dev.c                                |    1 -
 net/decnet/dn_nsp_in.c                             |    1 -
 net/decnet/dn_nsp_out.c                            |    1 -
 net/econet/af_econet.c                             |    1 -
 net/ethernet/eth.c                                 |    1 -
 net/ipv4/af_inet.c                                 |    1 -
 net/ipv4/arp.c                                     |    1 -
 net/ipv4/devinet.c                                 |    1 -
 net/ipv4/fib_frontend.c                            |    1 -
 net/ipv4/fib_semantics.c                           |    1 -
 net/ipv4/fib_trie.c                                |    1 -
 net/ipv4/icmp.c                                    |    1 -
 net/ipv4/igmp.c                                    |    1 -
 net/ipv4/ip_input.c                                |    1 -
 net/ipv4/ip_output.c                               |    1 -
 net/ipv4/ipmr.c                                    |    1 -
 net/ipv4/ping.c                                    |    1 -
 net/ipv4/route.c                                   |    1 -
 net/ipv4/udp.c                                     |    1 -
 net/ipv6/af_inet6.c                                |    1 -
 net/ipv6/icmp.c                                    |    1 -
 net/ipv6/ip6mr.c                                   |    1 -
 net/irda/irlan/irlan_client.c                      |    1 -
 net/irda/irlan/irlan_common.c                      |    1 -
 net/irda/irlan/irlan_provider.c                    |    1 -
 net/irda/timer.c                                   |    1 -
 net/lapb/lapb_iface.c                              |    1 -
 net/lapb/lapb_in.c                                 |    1 -
 net/lapb/lapb_out.c                                |    1 -
 net/lapb/lapb_subr.c                               |    1 -
 net/lapb/lapb_timer.c                              |    1 -
 net/netfilter/ipvs/ip_vs_app.c                     |    1 -
 net/netfilter/ipvs/ip_vs_proto.c                   |    1 -
 net/netfilter/nfnetlink.c                          |    1 -
 net/netrom/af_netrom.c                             |    1 -
 net/netrom/nr_dev.c                                |    1 -
 net/netrom/nr_in.c                                 |    1 -
 net/netrom/nr_out.c                                |    1 -
 net/netrom/nr_route.c                              |    1 -
 net/netrom/nr_subr.c                               |    1 -
 net/netrom/nr_timer.c                              |    1 -
 net/openvswitch/datapath.c                         |    1 -
 net/packet/af_packet.c                             |    1 -
 net/rose/af_rose.c                                 |    1 -
 net/rose/rose_dev.c                                |    1 -
 net/rose/rose_in.c                                 |    1 -
 net/rose/rose_link.c                               |    1 -
 net/rose/rose_out.c                                |    1 -
 net/rose/rose_route.c                              |    1 -
 net/rose/rose_subr.c                               |    1 -
 net/rose/rose_timer.c                              |    1 -
 net/sunrpc/clnt.c                                  |    1 -
 security/selinux/include/avc.h                     |    1 -
 security/selinux/include/xfrm.h                    |    2 +
 sound/oss/os.h                                     |    1 -
 sound/oss/vidc.c                                   |    1 -
 sound/oss/waveartist.c                             |    1 -
 sound/pci/asihpi/hpios.h                           |    1 -
 sound/pci/aw2/aw2-saa7146.c                        |    1 -
 1606 files changed, 6971 insertions(+), 7089 deletions(-)
 create mode 100644 arch/alpha/include/asm/exec.h
 create mode 100644 arch/alpha/include/asm/mce.h
 create mode 100644 arch/alpha/include/asm/special_insns.h
 create mode 100644 arch/alpha/include/asm/switch_to.h
 delete mode 100644 arch/alpha/include/asm/system.h
 create mode 100644 arch/arm/include/asm/barrier.h
 create mode 100644 arch/arm/include/asm/cmpxchg.h
 create mode 100644 arch/arm/include/asm/compiler.h
 create mode 100644 arch/arm/include/asm/cp15.h
 create mode 100644 arch/arm/include/asm/exec.h
 create mode 100644 arch/arm/include/asm/switch_to.h
 create mode 100644 arch/arm/include/asm/system_info.h
 create mode 100644 arch/arm/include/asm/system_misc.h
 create mode 100644 arch/avr32/include/asm/barrier.h
 rename arch/avr32/include/asm/{system.h => cmpxchg.h} (57%)
 create mode 100644 arch/avr32/include/asm/exec.h
 create mode 100644 arch/avr32/include/asm/special_insns.h
 create mode 100644 arch/avr32/include/asm/switch_to.h
 delete mode 100644 arch/blackfin/include/asm/system.h
 create mode 100644 arch/c6x/include/asm/barrier.h
 create mode 100644 arch/c6x/include/asm/bug.h
 create mode 100644 arch/c6x/include/asm/cmpxchg.h
 create mode 100644 arch/c6x/include/asm/exec.h
 create mode 100644 arch/c6x/include/asm/special_insns.h
 create mode 100644 arch/c6x/include/asm/switch_to.h
 delete mode 100644 arch/c6x/include/asm/system.h
 create mode 100644 arch/cris/include/asm/barrier.h
 rename arch/cris/include/asm/{system.h => cmpxchg.h} (52%)
 create mode 100644 arch/cris/include/asm/exec.h
 create mode 100644 arch/cris/include/asm/switch_to.h
 create mode 100644 arch/frv/include/asm/barrier.h
 rename arch/frv/include/asm/{system.h => cmpxchg.h} (66%)
 create mode 100644 arch/frv/include/asm/exec.h
 create mode 100644 arch/frv/include/asm/switch_to.h
 create mode 100644 arch/h8300/include/asm/barrier.h
 create mode 100644 arch/h8300/include/asm/cmpxchg.h
 create mode 100644 arch/h8300/include/asm/exec.h
 create mode 100644 arch/h8300/include/asm/switch_to.h
 delete mode 100644 arch/h8300/include/asm/system.h
 create mode 100644 arch/hexagon/include/asm/barrier.h
 rename arch/hexagon/include/asm/{system.h => cmpxchg.h} (68%)
 create mode 100644 arch/hexagon/include/asm/exec.h
 create mode 100644 arch/hexagon/include/asm/switch_to.h
 create mode 100644 arch/ia64/include/asm/barrier.h
 create mode 100644 arch/ia64/include/asm/exec.h
 create mode 100644 arch/ia64/include/asm/switch_to.h
 delete mode 100644 arch/ia64/include/asm/system.h
 create mode 100644 arch/m32r/include/asm/barrier.h
 create mode 100644 arch/m32r/include/asm/cmpxchg.h
 create mode 100644 arch/m32r/include/asm/dcache_clear.h
 create mode 100644 arch/m32r/include/asm/exec.h
 create mode 100644 arch/m32r/include/asm/switch_to.h
 delete mode 100644 arch/m32r/include/asm/system.h
 create mode 100644 arch/m68k/include/asm/barrier.h
 rename arch/m68k/include/asm/{system.h => cmpxchg.h} (56%)
 create mode 100644 arch/m68k/include/asm/exec.h
 create mode 100644 arch/m68k/include/asm/switch_to.h
 create mode 100644 arch/microblaze/include/asm/barrier.h
 create mode 100644 arch/microblaze/include/asm/cmpxchg.h
 create mode 100644 arch/microblaze/include/asm/exec.h
 create mode 100644 arch/microblaze/include/asm/switch_to.h
 delete mode 100644 arch/microblaze/include/asm/system.h
 create mode 100644 arch/mips/include/asm/exec.h
 create mode 100644 arch/mips/include/asm/switch_to.h
 delete mode 100644 arch/mips/include/asm/system.h
 create mode 100644 arch/mn10300/include/asm/barrier.h
 create mode 100644 arch/mn10300/include/asm/cmpxchg.h
 create mode 100644 arch/mn10300/include/asm/exec.h
 create mode 100644 arch/mn10300/include/asm/switch_to.h
 delete mode 100644 arch/mn10300/include/asm/system.h
 delete mode 100644 arch/openrisc/include/asm/system.h
 create mode 100644 arch/parisc/include/asm/barrier.h
 create mode 100644 arch/parisc/include/asm/exec.h
 create mode 100644 arch/parisc/include/asm/ldcw.h
 create mode 100644 arch/parisc/include/asm/special_insns.h
 create mode 100644 arch/parisc/include/asm/switch_to.h
 delete mode 100644 arch/parisc/include/asm/system.h
 create mode 100644 arch/powerpc/include/asm/barrier.h
 create mode 100644 arch/powerpc/include/asm/cmpxchg.h
 create mode 100644 arch/powerpc/include/asm/debug.h
 create mode 100644 arch/powerpc/include/asm/exec.h
 create mode 100644 arch/powerpc/include/asm/runlatch.h
 create mode 100644 arch/powerpc/include/asm/switch_to.h
 delete mode 100644 arch/powerpc/include/asm/system.h
 create mode 100644 arch/s390/include/asm/barrier.h
 create mode 100644 arch/s390/include/asm/ctl_reg.h
 create mode 100644 arch/s390/include/asm/exec.h
 create mode 100644 arch/s390/include/asm/facility.h
 create mode 100644 arch/s390/include/asm/switch_to.h
 delete mode 100644 arch/s390/include/asm/system.h
 create mode 100644 arch/score/include/asm/barrier.h
 create mode 100644 arch/score/include/asm/cmpxchg.h
 create mode 100644 arch/score/include/asm/exec.h
 create mode 100644 arch/score/include/asm/switch_to.h
 delete mode 100644 arch/score/include/asm/system.h
 create mode 100644 arch/sh/include/asm/barrier.h
 create mode 100644 arch/sh/include/asm/bl_bit.h
 create mode 100644 arch/sh/include/asm/bl_bit_32.h
 create mode 100644 arch/sh/include/asm/bl_bit_64.h
 create mode 100644 arch/sh/include/asm/cache_insns.h
 create mode 100644 arch/sh/include/asm/cache_insns_32.h
 create mode 100644 arch/sh/include/asm/cache_insns_64.h
 create mode 100644 arch/sh/include/asm/cmpxchg.h
 create mode 100644 arch/sh/include/asm/exec.h
 create mode 100644 arch/sh/include/asm/switch_to.h
 rename arch/sh/include/asm/{system_32.h => switch_to_32.h} (58%)
 create mode 100644 arch/sh/include/asm/switch_to_64.h
 delete mode 100644 arch/sh/include/asm/system.h
 delete mode 100644 arch/sh/include/asm/system_64.h
 create mode 100644 arch/sh/include/asm/traps.h
 create mode 100644 arch/sh/include/asm/traps_32.h
 create mode 100644 arch/sh/include/asm/traps_64.h
 create mode 100644 arch/sparc/include/asm/barrier.h
 create mode 100644 arch/sparc/include/asm/barrier_32.h
 create mode 100644 arch/sparc/include/asm/barrier_64.h
 create mode 100644 arch/sparc/include/asm/cmpxchg.h
 create mode 100644 arch/sparc/include/asm/cmpxchg_32.h
 create mode 100644 arch/sparc/include/asm/cmpxchg_64.h
 create mode 100644 arch/sparc/include/asm/cpu_type.h
 create mode 100644 arch/sparc/include/asm/exec.h
 create mode 100644 arch/sparc/include/asm/switch_to.h
 create mode 100644 arch/sparc/include/asm/switch_to_32.h
 create mode 100644 arch/sparc/include/asm/switch_to_64.h
 delete mode 100644 arch/sparc/include/asm/system.h
 delete mode 100644 arch/sparc/include/asm/system_32.h
 delete mode 100644 arch/sparc/include/asm/system_64.h
 rename arch/tile/include/asm/{system.h => barrier.h} (51%)
 create mode 100644 arch/tile/include/asm/exec.h
 create mode 100644 arch/tile/include/asm/switch_to.h
 create mode 100644 arch/unicore32/include/asm/barrier.h
 create mode 100644 arch/unicore32/include/asm/bug.h
 create mode 100644 arch/unicore32/include/asm/cmpxchg.h
 create mode 100644 arch/unicore32/include/asm/exec.h
 create mode 100644 arch/unicore32/include/asm/hwdef-copro.h
 create mode 100644 arch/unicore32/include/asm/switch_to.h
 delete mode 100644 arch/unicore32/include/asm/system.h
 create mode 100644 arch/x86/include/asm/barrier.h
 create mode 100644 arch/x86/include/asm/exec.h
 create mode 100644 arch/x86/include/asm/special_insns.h
 create mode 100644 arch/x86/include/asm/switch_to.h
 delete mode 100644 arch/x86/include/asm/system.h
 create mode 100644 arch/xtensa/include/asm/barrier.h
 rename arch/xtensa/include/asm/{system.h => cmpxchg.h} (70%)
 create mode 100644 arch/xtensa/include/asm/exec.h
 create mode 100644 arch/xtensa/include/asm/switch_to.h
 create mode 100644 include/asm-generic/barrier.h
 create mode 100644 include/asm-generic/exec.h
 create mode 100644 include/asm-generic/switch_to.h
 delete mode 100644 include/asm-generic/system.h

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-28 18:20 David Howells
@ 2012-03-29  2:50 ` Michael Neuling
  2012-03-29  2:55   ` Stephen Rothwell
  2012-03-29  4:14   ` Benjamin Herrenschmidt
  0 siblings, 2 replies; 25+ messages in thread
From: Michael Neuling @ 2012-03-29  2:50 UTC (permalink / raw)
  To: David Howells, Grant Likely
  Cc: torvalds, akpm, linux-arch, linux-kernel, paul.gortmaker, arnd,
	hpa, sfr

> Here are a bunch of patches to disintegrate asm/system.h into a set of separate
> bits to relieve the problem of circular inclusion dependencies.
> 
> The following changes since commit 437538267b672f9320833907f1b5acbb2605f4be:
> 
>   Merge tag 'fbdev-updates-for-3.4' of git://github.com/schandinat/linux-2.6 (2012-03-22 20:43:40 -0700)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system.git split-asm-system_h

It would have been nice to have this in linux-next for a day or two to
sort out the merge issues,  hence....

This seems to have broken linus tree when compiling a pseries_defconfig

We are currently getting:
kernel/irq/irqdomain.c: In function 'irq_debugfs_init':
kernel/irq/irqdomain.c:698:63: error: 'powerpc_debugfs_root' undeclared (first use in this function)
kernel/irq/irqdomain.c:698:63: note: each undeclared identifier is reported only once for each function it appears in

  ae3a197 Disintegrate asm/system.h for PowerPC
is conflicting with 
  cc79ca6 irq_domain: Move irq_domain code from powerpc to kernel/irq
from Grant's tree.

Adding the following patch fixes it for pseries_defconfig, although I'm
not sure it's the right fix.

Grant: why does powerpc_debugfs_root appear in generic code?  This seems
very bogus.

Mikey

diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
index af48e59..3ebf4ef 100644
--- a/kernel/irq/irqdomain.c
+++ b/kernel/irq/irqdomain.c
@@ -12,6 +12,7 @@
 #include <linux/slab.h>
 #include <linux/smp.h>
 #include <linux/fs.h>
+#include <asm/debug.h>
 
 #define IRQ_DOMAIN_MAP_LEGACY 0 /* driver allocated fixed range of irqs.
 				 * ie. legacy 8259, gets irqs 1..15 */

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29  2:50 ` Michael Neuling
@ 2012-03-29  2:55   ` Stephen Rothwell
  2012-03-29  4:15     ` Stephen Rothwell
  2012-03-29  4:14   ` Benjamin Herrenschmidt
  1 sibling, 1 reply; 25+ messages in thread
From: Stephen Rothwell @ 2012-03-29  2:55 UTC (permalink / raw)
  To: Michael Neuling
  Cc: David Howells, Grant Likely, torvalds, akpm, linux-arch,
	linux-kernel, paul.gortmaker, arnd, hpa

[-- Attachment #1: Type: text/plain, Size: 854 bytes --]

On Thu, 29 Mar 2012 13:50:44 +1100 Michael Neuling <mikey@neuling.org> wrote:
>
> > Here are a bunch of patches to disintegrate asm/system.h into a set of separate
> > bits to relieve the problem of circular inclusion dependencies.
> > 
> > The following changes since commit 437538267b672f9320833907f1b5acbb2605f4be:
> > 
> >   Merge tag 'fbdev-updates-for-3.4' of git://github.com/schandinat/linux-2.6 (2012-03-22 20:43:40 -0700)
> > 
> > are available in the git repository at:
> > 
> >   git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system.git split-asm-system_h
> 
> It would have been nice to have this in linux-next for a day or two to
> sort out the merge issues,  hence....

Um, what can I say but "yeah, it would have been nice" :-(

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29  2:50 ` Michael Neuling
  2012-03-29  2:55   ` Stephen Rothwell
@ 2012-03-29  4:14   ` Benjamin Herrenschmidt
  2012-03-29 21:01     ` Grant Likely
  2012-03-30  7:48     ` Paul Mundt
  1 sibling, 2 replies; 25+ messages in thread
From: Benjamin Herrenschmidt @ 2012-03-29  4:14 UTC (permalink / raw)
  To: Michael Neuling
  Cc: David Howells, Grant Likely, torvalds, akpm, linux-arch,
	linux-kernel, paul.gortmaker, arnd, hpa, sfr

On Thu, 2012-03-29 at 13:50 +1100, Michael Neuling wrote:
> > Here are a bunch of patches to disintegrate asm/system.h into a set of separate
> > bits to relieve the problem of circular inclusion dependencies.
> > 
> > The following changes since commit 437538267b672f9320833907f1b5acbb2605f4be:
> > 
> >   Merge tag 'fbdev-updates-for-3.4' of git://github.com/schandinat/linux-2.6 (2012-03-22 20:43:40 -0700)
> > 
> > are available in the git repository at:
> > 
> >   git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system.git split-asm-system_h
> 
> It would have been nice to have this in linux-next for a day or two to
> sort out the merge issues,  hence....
> 
> This seems to have broken linus tree when compiling a pseries_defconfig

Ah yes, I also saw that, I was hoping you would give me today to run
through my test builds.

> We are currently getting:
> kernel/irq/irqdomain.c: In function 'irq_debugfs_init':
> kernel/irq/irqdomain.c:698:63: error: 'powerpc_debugfs_root' undeclared (first use in this function)
> kernel/irq/irqdomain.c:698:63: note: each undeclared identifier is reported only once for each function it appears in
> 
>   ae3a197 Disintegrate asm/system.h for PowerPC
> is conflicting with 
>   cc79ca6 irq_domain: Move irq_domain code from powerpc to kernel/irq
> from Grant's tree.
> 
> Adding the following patch fixes it for pseries_defconfig, although I'm
> not sure it's the right fix.

That will do as a quick fix (Linus, can you take it now ?), however..

> Grant: why does powerpc_debugfs_root appear in generic code?  This seems
> very bogus.

Yes, Grant, you should move that to a different (generic) debugfs file,
the mapping information is valuable debug data for all architectures
that use the remapper, not just powerpc and it's not an ABI (no tool I
know of rely on the location of that debugfs file) so feel free to move
it around.

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29  2:55   ` Stephen Rothwell
@ 2012-03-29  4:15     ` Stephen Rothwell
  2012-03-29  4:21       ` Michael Neuling
  2012-03-29  4:24       ` Linus Torvalds
  0 siblings, 2 replies; 25+ messages in thread
From: Stephen Rothwell @ 2012-03-29  4:15 UTC (permalink / raw)
  To: Linus
  Cc: Michael Neuling, David Howells, Grant Likely, akpm, linux-arch,
	linux-kernel, paul.gortmaker, arnd, hpa, ppc-dev

[-- Attachment #1: Type: text/plain, Size: 2677 bytes --]

Hi all,

On Thu, 29 Mar 2012 13:55:55 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> On Thu, 29 Mar 2012 13:50:44 +1100 Michael Neuling <mikey@neuling.org> wrote:
> >
> > > Here are a bunch of patches to disintegrate asm/system.h into a set of separate
> > > bits to relieve the problem of circular inclusion dependencies.
> > > 
> > > The following changes since commit 437538267b672f9320833907f1b5acbb2605f4be:
> > > 
> > >   Merge tag 'fbdev-updates-for-3.4' of git://github.com/schandinat/linux-2.6 (2012-03-22 20:43:40 -0700)
> > > 
> > > are available in the git repository at:
> > > 
> > >   git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system.git split-asm-system_h
> > 
> > It would have been nice to have this in linux-next for a day or two to
> > sort out the merge issues,  hence....
> 
> Um, what can I say but "yeah, it would have been nice" :-(

The following patch fixes (as much as possible) a powerpc allyesconfig build.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 29 Mar 2012 14:58:10 +1100
Subject: [PATCH] powerpc: fix fallout from system.h split up

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/powerpc/kernel/fadump.c |    2 ++
 arch/powerpc/kernel/kgdb.c   |    1 +
 kernel/irq/irqdomain.c       |    3 +++
 3 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
index cfe7a38..18bdf74 100644
--- a/arch/powerpc/kernel/fadump.c
+++ b/arch/powerpc/kernel/fadump.c
@@ -40,6 +40,8 @@
 #include <asm/prom.h>
 #include <asm/rtas.h>
 #include <asm/fadump.h>
+#include <asm/debug.h>
+#include <asm/setup.h>
 
 static struct fw_dump fw_dump;
 static struct fadump_mem_struct fdm;
diff --git a/arch/powerpc/kernel/kgdb.c b/arch/powerpc/kernel/kgdb.c
index 76a6e40..782bd0a 100644
--- a/arch/powerpc/kernel/kgdb.c
+++ b/arch/powerpc/kernel/kgdb.c
@@ -24,6 +24,7 @@
 #include <asm/current.h>
 #include <asm/processor.h>
 #include <asm/machdep.h>
+#include <asm/debug.h>
 
 /*
  * This table contains the mapping between PowerPC hardware trap types, and
diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
index af48e59..1f94ddf 100644
--- a/kernel/irq/irqdomain.c
+++ b/kernel/irq/irqdomain.c
@@ -12,6 +12,9 @@
 #include <linux/slab.h>
 #include <linux/smp.h>
 #include <linux/fs.h>
+#ifdef CONFIG_VIRQ_DEBUG
+#include <asm/debug.h>
+#endif
 
 #define IRQ_DOMAIN_MAP_LEGACY 0 /* driver allocated fixed range of irqs.
 				 * ie. legacy 8259, gets irqs 1..15 */
-- 
1.7.9.1

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29  4:15     ` Stephen Rothwell
@ 2012-03-29  4:21       ` Michael Neuling
  2012-03-29  4:24       ` Linus Torvalds
  1 sibling, 0 replies; 25+ messages in thread
From: Michael Neuling @ 2012-03-29  4:21 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Linus, David Howells, Grant Likely, akpm, linux-arch,
	linux-kernel, paul.gortmaker, arnd, hpa, ppc-dev

In message <20120329151544.ef2117821dfb459e8b52af48@canb.auug.org.au> you wrote
:
> --Signature=_Thu__29_Mar_2012_15_15_44_+1100_WbAuFOESkuBxVlHq
> Content-Type: text/plain; charset=US-ASCII
> Content-Disposition: inline
> Content-Transfer-Encoding: quoted-printable
> 
> Hi all,
> 
> On Thu, 29 Mar 2012 13:55:55 +1100 Stephen Rothwell <sfr@canb.auug.org.au> =
> wrote:
> >
> > On Thu, 29 Mar 2012 13:50:44 +1100 Michael Neuling <mikey@neuling.org> wr=
> ote:
> > >
> > > > Here are a bunch of patches to disintegrate asm/system.h into a set o=
> f separate
> > > > bits to relieve the problem of circular inclusion dependencies.
> > > >=20
> > > > The following changes since commit 437538267b672f9320833907f1b5acbb26=
> 05f4be:
> > > >=20
> > > >   Merge tag 'fbdev-updates-for-3.4' of git://github.com/schandinat/li=
> nux-2.6 (2012-03-22 20:43:40 -0700)
> > > >=20
> > > > are available in the git repository at:
> > > >=20
> > > >   git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_sy=
> stem.git split-asm-system_h
> > >=20
> > > It would have been nice to have this in linux-next for a day or two to
> > > sort out the merge issues,  hence....
> >=20
> > Um, what can I say but "yeah, it would have been nice" :-(
> 
> The following patch fixes (as much as possible) a powerpc allyesconfig build.
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 29 Mar 2012 14:58:10 +1100
> Subject: [PATCH] powerpc: fix fallout from system.h split up
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

Acked-by: Michael Neuling <mikey@neuling.org>

Thanks, this is much better than my crappy fix.

Mikey

> ---
>  arch/powerpc/kernel/fadump.c |    2 ++
>  arch/powerpc/kernel/kgdb.c   |    1 +
>  kernel/irq/irqdomain.c       |    3 +++
>  3 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
> index cfe7a38..18bdf74 100644
> --- a/arch/powerpc/kernel/fadump.c
> +++ b/arch/powerpc/kernel/fadump.c
> @@ -40,6 +40,8 @@
>  #include <asm/prom.h>
>  #include <asm/rtas.h>
>  #include <asm/fadump.h>
> +#include <asm/debug.h>
> +#include <asm/setup.h>
> =20
>  static struct fw_dump fw_dump;
>  static struct fadump_mem_struct fdm;
> diff --git a/arch/powerpc/kernel/kgdb.c b/arch/powerpc/kernel/kgdb.c
> index 76a6e40..782bd0a 100644
> --- a/arch/powerpc/kernel/kgdb.c
> +++ b/arch/powerpc/kernel/kgdb.c
> @@ -24,6 +24,7 @@
>  #include <asm/current.h>
>  #include <asm/processor.h>
>  #include <asm/machdep.h>
> +#include <asm/debug.h>
> =20
>  /*
>   * This table contains the mapping between PowerPC hardware trap types, and
> diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
> index af48e59..1f94ddf 100644
> --- a/kernel/irq/irqdomain.c
> +++ b/kernel/irq/irqdomain.c
> @@ -12,6 +12,9 @@
>  #include <linux/slab.h>
>  #include <linux/smp.h>
>  #include <linux/fs.h>
> +#ifdef CONFIG_VIRQ_DEBUG
> +#include <asm/debug.h>
> +#endif
> =20
>  #define IRQ_DOMAIN_MAP_LEGACY 0 /* driver allocated fixed range of irqs.
>  				 * ie. legacy 8259, gets irqs 1..15 */
> --=20
> 1.7.9.1
> 
> --=20
> Cheers,
> Stephen Rothwell                    sfr@canb.auug.org.au
> 
> --Signature=_Thu__29_Mar_2012_15_15_44_+1100_WbAuFOESkuBxVlHq
> Content-Type: application/pgp-signature
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.12 (GNU/Linux)
> 
> iQIcBAEBCAAGBQJPc+HwAAoJEECxmPOUX5FET2oP/2slayQM3wN4DhXAE/v+JeBU
> bEmqlZE5DgrAK6Pu65YrlZlYVvfvOsivTwu/tfQ+FLlJHGiPHbVu7zKv/em+cRtz
> dTMQSuYolSyRzAyk+QBD4lUN+SZ8OFfs9XbVxhyTCBe+1qdUUdyul4ajrvo9vMiw
> +0eHw1WlozwGOdWcYy/9BdHXPVUiJGjWksmGmAQz0aTbTY5DVfKjiEsHIRS+lJ0f
> nsrKfWOk5z+4yT2AjteEYcPScxxO2F73VZEr/xBEn5R3siuEgZF6P1n96gTxe/3l
> jdKQG6R2QHfKBpx8kphL3qAom5ehese2YaYkufDn4u+/QXtrDoYE/F2a646I7dc3
> LN2SCiLLiaba11uW06cfdiwpkrlF05nHJR3CnEUt8dSQbS/vEjxlRHa9V3cl7Y9/
> c2rK6z3YQwZXL53LTO4YMv5yaYDathWPKwanGJSocWICq6gbtWl4XevoLRwmkRo1
> TuMAj1jy69mxFdiQQA5LO+JRkQN4POo2+vBUb+0RncNrR/tIpp5xB9np30bwIdNI
> +VS0I2IQD4VntQp+CF/O/y8SEfyqo/7BWPpZhneRy6LMKC9aOe1RpSgKDa4ZvWYh
> BW60vTDNnc5CNSjOtfOtW55m+JH/eY2/Hidy/Yt7PjLXGi+6KKy0eY7Kl6G0PuS1
> 3/KLLW8Vu3GxBLUWiXZv
> =1Nhy
> -----END PGP SIGNATURE-----
> 
> --Signature=_Thu__29_Mar_2012_15_15_44_+1100_WbAuFOESkuBxVlHq--
> 

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29  4:15     ` Stephen Rothwell
  2012-03-29  4:21       ` Michael Neuling
@ 2012-03-29  4:24       ` Linus Torvalds
  2012-03-29  4:42         ` Stephen Rothwell
  1 sibling, 1 reply; 25+ messages in thread
From: Linus Torvalds @ 2012-03-29  4:24 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Michael Neuling, David Howells, Grant Likely, akpm, linux-arch,
	linux-kernel, paul.gortmaker, arnd, hpa, ppc-dev

On Wed, Mar 28, 2012 at 9:15 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> The following patch fixes (as much as possible) a powerpc allyesconfig build.

Ugh:

> diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
> index af48e59..1f94ddf 100644
> --- a/kernel/irq/irqdomain.c
> +++ b/kernel/irq/irqdomain.c
> @@ -12,6 +12,9 @@
>  #include <linux/slab.h>
>  #include <linux/smp.h>
>  #include <linux/fs.h>
> +#ifdef CONFIG_VIRQ_DEBUG
> +#include <asm/debug.h>
> +#endif

Can we please move that abortion into arch/powerpc/? Instead of making
generic code even uglier..

                       Linus

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29  4:24       ` Linus Torvalds
@ 2012-03-29  4:42         ` Stephen Rothwell
  2012-03-29  4:55           ` Michael Neuling
  2012-03-29  5:02           ` Linus Torvalds
  0 siblings, 2 replies; 25+ messages in thread
From: Stephen Rothwell @ 2012-03-29  4:42 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Michael Neuling, David Howells, Grant Likely, akpm, linux-arch,
	linux-kernel, paul.gortmaker, arnd, hpa, ppc-dev

[-- Attachment #1: Type: text/plain, Size: 6352 bytes --]

Hi Linus,

On Wed, 28 Mar 2012 21:24:41 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
>
> On Wed, Mar 28, 2012 at 9:15 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> > The following patch fixes (as much as possible) a powerpc allyesconfig build.
> 
> Ugh:
> 
> > diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
> > index af48e59..1f94ddf 100644
> > --- a/kernel/irq/irqdomain.c
> > +++ b/kernel/irq/irqdomain.c
> > @@ -12,6 +12,9 @@
> >  #include <linux/slab.h>
> >  #include <linux/smp.h>
> >  #include <linux/fs.h>
> > +#ifdef CONFIG_VIRQ_DEBUG
> > +#include <asm/debug.h>
> > +#endif
> 
> Can we please move that abortion into arch/powerpc/? Instead of making
> generic code even uglier..

How about this (build tested on powerpc allyesconfig):

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 29 Mar 2012 14:58:10 +1100
Subject: [PATCH] powerpc: fix fallout from system.h split up

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/powerpc/kernel/fadump.c |    2 +
 arch/powerpc/kernel/irq.c    |   72 ++++++++++++++++++++++++++++++++++++++++++
 arch/powerpc/kernel/kgdb.c   |    1 +
 kernel/irq/irqdomain.c       |   72 ------------------------------------------
 4 files changed, 75 insertions(+), 72 deletions(-)

diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
index cfe7a38..18bdf74 100644
--- a/arch/powerpc/kernel/fadump.c
+++ b/arch/powerpc/kernel/fadump.c
@@ -40,6 +40,8 @@
 #include <asm/prom.h>
 #include <asm/rtas.h>
 #include <asm/fadump.h>
+#include <asm/debug.h>
+#include <asm/setup.h>
 
 static struct fw_dump fw_dump;
 static struct fadump_mem_struct fdm;
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
index 243dbab..ff165f5 100644
--- a/arch/powerpc/kernel/irq.c
+++ b/arch/powerpc/kernel/irq.c
@@ -623,3 +623,75 @@ static int __init setup_noirqdistrib(char *str)
 
 __setup("noirqdistrib", setup_noirqdistrib);
 #endif /* CONFIG_PPC64 */
+
+#ifdef CONFIG_VIRQ_DEBUG
+static int virq_debug_show(struct seq_file *m, void *private)
+{
+	unsigned long flags;
+	struct irq_desc *desc;
+	const char *p;
+	static const char none[] = "none";
+	void *data;
+	int i;
+
+	seq_printf(m, "%-5s  %-7s  %-15s  %-18s  %s\n", "virq", "hwirq",
+		      "chip name", "chip data", "domain name");
+
+	for (i = 1; i < nr_irqs; i++) {
+		desc = irq_to_desc(i);
+		if (!desc)
+			continue;
+
+		raw_spin_lock_irqsave(&desc->lock, flags);
+
+		if (desc->action && desc->action->handler) {
+			struct irq_chip *chip;
+
+			seq_printf(m, "%5d  ", i);
+			seq_printf(m, "0x%05lx  ", desc->irq_data.hwirq);
+
+			chip = irq_desc_get_chip(desc);
+			if (chip && chip->name)
+				p = chip->name;
+			else
+				p = none;
+			seq_printf(m, "%-15s  ", p);
+
+			data = irq_desc_get_chip_data(desc);
+			seq_printf(m, "0x%16p  ", data);
+
+			if (desc->irq_data.domain->of_node)
+				p = desc->irq_data.domain->of_node->full_name;
+			else
+				p = none;
+			seq_printf(m, "%s\n", p);
+		}
+
+		raw_spin_unlock_irqrestore(&desc->lock, flags);
+	}
+
+	return 0;
+}
+
+static int virq_debug_open(struct inode *inode, struct file *file)
+{
+	return single_open(file, virq_debug_show, inode->i_private);
+}
+
+static const struct file_operations virq_debug_fops = {
+	.open = virq_debug_open,
+	.read = seq_read,
+	.llseek = seq_lseek,
+	.release = single_release,
+};
+
+static int __init irq_debugfs_init(void)
+{
+	if (debugfs_create_file("virq_mapping", S_IRUGO, powerpc_debugfs_root,
+				 NULL, &virq_debug_fops) == NULL)
+		return -ENOMEM;
+
+	return 0;
+}
+__initcall(irq_debugfs_init);
+#endif /* CONFIG_VIRQ_DEBUG */
diff --git a/arch/powerpc/kernel/kgdb.c b/arch/powerpc/kernel/kgdb.c
index 76a6e40..782bd0a 100644
--- a/arch/powerpc/kernel/kgdb.c
+++ b/arch/powerpc/kernel/kgdb.c
@@ -24,6 +24,7 @@
 #include <asm/current.h>
 #include <asm/processor.h>
 #include <asm/machdep.h>
+#include <asm/debug.h>
 
 /*
  * This table contains the mapping between PowerPC hardware trap types, and
diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
index af48e59..ae645ab 100644
--- a/kernel/irq/irqdomain.c
+++ b/kernel/irq/irqdomain.c
@@ -632,78 +632,6 @@ unsigned int irq_linear_revmap(struct irq_domain *domain,
 	return revmap[hwirq];
 }
 
-#ifdef CONFIG_VIRQ_DEBUG
-static int virq_debug_show(struct seq_file *m, void *private)
-{
-	unsigned long flags;
-	struct irq_desc *desc;
-	const char *p;
-	static const char none[] = "none";
-	void *data;
-	int i;
-
-	seq_printf(m, "%-5s  %-7s  %-15s  %-18s  %s\n", "virq", "hwirq",
-		      "chip name", "chip data", "domain name");
-
-	for (i = 1; i < nr_irqs; i++) {
-		desc = irq_to_desc(i);
-		if (!desc)
-			continue;
-
-		raw_spin_lock_irqsave(&desc->lock, flags);
-
-		if (desc->action && desc->action->handler) {
-			struct irq_chip *chip;
-
-			seq_printf(m, "%5d  ", i);
-			seq_printf(m, "0x%05lx  ", desc->irq_data.hwirq);
-
-			chip = irq_desc_get_chip(desc);
-			if (chip && chip->name)
-				p = chip->name;
-			else
-				p = none;
-			seq_printf(m, "%-15s  ", p);
-
-			data = irq_desc_get_chip_data(desc);
-			seq_printf(m, "0x%16p  ", data);
-
-			if (desc->irq_data.domain->of_node)
-				p = desc->irq_data.domain->of_node->full_name;
-			else
-				p = none;
-			seq_printf(m, "%s\n", p);
-		}
-
-		raw_spin_unlock_irqrestore(&desc->lock, flags);
-	}
-
-	return 0;
-}
-
-static int virq_debug_open(struct inode *inode, struct file *file)
-{
-	return single_open(file, virq_debug_show, inode->i_private);
-}
-
-static const struct file_operations virq_debug_fops = {
-	.open = virq_debug_open,
-	.read = seq_read,
-	.llseek = seq_lseek,
-	.release = single_release,
-};
-
-static int __init irq_debugfs_init(void)
-{
-	if (debugfs_create_file("virq_mapping", S_IRUGO, powerpc_debugfs_root,
-				 NULL, &virq_debug_fops) == NULL)
-		return -ENOMEM;
-
-	return 0;
-}
-__initcall(irq_debugfs_init);
-#endif /* CONFIG_VIRQ_DEBUG */
-
 int irq_domain_simple_map(struct irq_domain *d, unsigned int irq,
 			  irq_hw_number_t hwirq)
 {
-- 
1.7.9.1


-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29  4:42         ` Stephen Rothwell
@ 2012-03-29  4:55           ` Michael Neuling
  2012-03-29  5:02           ` Linus Torvalds
  1 sibling, 0 replies; 25+ messages in thread
From: Michael Neuling @ 2012-03-29  4:55 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Linus Torvalds, David Howells, Grant Likely, akpm, linux-arch,
	linux-kernel, paul.gortmaker, arnd, hpa, ppc-dev

> > Can we please move that abortion into arch/powerpc/? Instead of making
> > generic code even uglier..
> 
> How about this (build tested on powerpc allyesconfig):
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 29 Mar 2012 14:58:10 +1100
> Subject: [PATCH] powerpc: fix fallout from system.h split up
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

FWIW.. this works for me too..

Acked-by: Michael Neuling <mikey@neuling.org>

Mikey

> ---
>  arch/powerpc/kernel/fadump.c |    2 +
>  arch/powerpc/kernel/irq.c    |   72 ++++++++++++++++++++++++++++++++++++++=
> ++++
>  arch/powerpc/kernel/kgdb.c   |    1 +
>  kernel/irq/irqdomain.c       |   72 --------------------------------------=
> ----
>  4 files changed, 75 insertions(+), 72 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
> index cfe7a38..18bdf74 100644
> --- a/arch/powerpc/kernel/fadump.c
> +++ b/arch/powerpc/kernel/fadump.c
> @@ -40,6 +40,8 @@
>  #include <asm/prom.h>
>  #include <asm/rtas.h>
>  #include <asm/fadump.h>
> +#include <asm/debug.h>
> +#include <asm/setup.h>
> =20
>  static struct fw_dump fw_dump;
>  static struct fadump_mem_struct fdm;
> diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
> index 243dbab..ff165f5 100644
> --- a/arch/powerpc/kernel/irq.c
> +++ b/arch/powerpc/kernel/irq.c
> @@ -623,3 +623,75 @@ static int __init setup_noirqdistrib(char *str)
> =20
>  __setup("noirqdistrib", setup_noirqdistrib);
>  #endif /* CONFIG_PPC64 */
> +
> +#ifdef CONFIG_VIRQ_DEBUG
> +static int virq_debug_show(struct seq_file *m, void *private)
> +{
> +	unsigned long flags;
> +	struct irq_desc *desc;
> +	const char *p;
> +	static const char none[] =3D "none";
> +	void *data;
> +	int i;
> +
> +	seq_printf(m, "%-5s  %-7s  %-15s  %-18s  %s\n", "virq", "hwirq",
> +		      "chip name", "chip data", "domain name");
> +
> +	for (i =3D 1; i < nr_irqs; i++) {
> +		desc =3D irq_to_desc(i);
> +		if (!desc)
> +			continue;
> +
> +		raw_spin_lock_irqsave(&desc->lock, flags);
> +
> +		if (desc->action && desc->action->handler) {
> +			struct irq_chip *chip;
> +
> +			seq_printf(m, "%5d  ", i);
> +			seq_printf(m, "0x%05lx  ", desc->irq_data.hwirq);
> +
> +			chip =3D irq_desc_get_chip(desc);
> +			if (chip && chip->name)
> +				p =3D chip->name;
> +			else
> +				p =3D none;
> +			seq_printf(m, "%-15s  ", p);
> +
> +			data =3D irq_desc_get_chip_data(desc);
> +			seq_printf(m, "0x%16p  ", data);
> +
> +			if (desc->irq_data.domain->of_node)
> +				p =3D desc->irq_data.domain->of_node->full_name
;
> +			else
> +				p =3D none;
> +			seq_printf(m, "%s\n", p);
> +		}
> +
> +		raw_spin_unlock_irqrestore(&desc->lock, flags);
> +	}
> +
> +	return 0;
> +}
> +
> +static int virq_debug_open(struct inode *inode, struct file *file)
> +{
> +	return single_open(file, virq_debug_show, inode->i_private);
> +}
> +
> +static const struct file_operations virq_debug_fops =3D {
> +	.open =3D virq_debug_open,
> +	.read =3D seq_read,
> +	.llseek =3D seq_lseek,
> +	.release =3D single_release,
> +};
> +
> +static int __init irq_debugfs_init(void)
> +{
> +	if (debugfs_create_file("virq_mapping", S_IRUGO, powerpc_debugfs_root,
> +				 NULL, &virq_debug_fops) =3D=3D NULL)
> +		return -ENOMEM;
> +
> +	return 0;
> +}
> +__initcall(irq_debugfs_init);
> +#endif /* CONFIG_VIRQ_DEBUG */
> diff --git a/arch/powerpc/kernel/kgdb.c b/arch/powerpc/kernel/kgdb.c
> index 76a6e40..782bd0a 100644
> --- a/arch/powerpc/kernel/kgdb.c
> +++ b/arch/powerpc/kernel/kgdb.c
> @@ -24,6 +24,7 @@
>  #include <asm/current.h>
>  #include <asm/processor.h>
>  #include <asm/machdep.h>
> +#include <asm/debug.h>
> =20
>  /*
>   * This table contains the mapping between PowerPC hardware trap types, and
> diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
> index af48e59..ae645ab 100644
> --- a/kernel/irq/irqdomain.c
> +++ b/kernel/irq/irqdomain.c
> @@ -632,78 +632,6 @@ unsigned int irq_linear_revmap(struct irq_domain *doma=
> in,
>  	return revmap[hwirq];
>  }
> =20
> -#ifdef CONFIG_VIRQ_DEBUG
> -static int virq_debug_show(struct seq_file *m, void *private)
> -{
> -	unsigned long flags;
> -	struct irq_desc *desc;
> -	const char *p;
> -	static const char none[] =3D "none";
> -	void *data;
> -	int i;
> -
> -	seq_printf(m, "%-5s  %-7s  %-15s  %-18s  %s\n", "virq", "hwirq",
> -		      "chip name", "chip data", "domain name");
> -
> -	for (i =3D 1; i < nr_irqs; i++) {
> -		desc =3D irq_to_desc(i);
> -		if (!desc)
> -			continue;
> -
> -		raw_spin_lock_irqsave(&desc->lock, flags);
> -
> -		if (desc->action && desc->action->handler) {
> -			struct irq_chip *chip;
> -
> -			seq_printf(m, "%5d  ", i);
> -			seq_printf(m, "0x%05lx  ", desc->irq_data.hwirq);
> -
> -			chip =3D irq_desc_get_chip(desc);
> -			if (chip && chip->name)
> -				p =3D chip->name;
> -			else
> -				p =3D none;
> -			seq_printf(m, "%-15s  ", p);
> -
> -			data =3D irq_desc_get_chip_data(desc);
> -			seq_printf(m, "0x%16p  ", data);
> -
> -			if (desc->irq_data.domain->of_node)
> -				p =3D desc->irq_data.domain->of_node->full_name
;
> -			else
> -				p =3D none;
> -			seq_printf(m, "%s\n", p);
> -		}
> -
> -		raw_spin_unlock_irqrestore(&desc->lock, flags);
> -	}
> -
> -	return 0;
> -}
> -
> -static int virq_debug_open(struct inode *inode, struct file *file)
> -{
> -	return single_open(file, virq_debug_show, inode->i_private);
> -}
> -
> -static const struct file_operations virq_debug_fops =3D {
> -	.open =3D virq_debug_open,
> -	.read =3D seq_read,
> -	.llseek =3D seq_lseek,
> -	.release =3D single_release,
> -};
> -
> -static int __init irq_debugfs_init(void)
> -{
> -	if (debugfs_create_file("virq_mapping", S_IRUGO, powerpc_debugfs_root,
> -				 NULL, &virq_debug_fops) =3D=3D NULL)
> -		return -ENOMEM;
> -
> -	return 0;
> -}
> -__initcall(irq_debugfs_init);
> -#endif /* CONFIG_VIRQ_DEBUG */
> -
>  int irq_domain_simple_map(struct irq_domain *d, unsigned int irq,
>  			  irq_hw_number_t hwirq)
>  {
> --=20
> 1.7.9.1
> 
> 
> --=20
> Cheers,
> Stephen Rothwell                    sfr@canb.auug.org.au
> http://www.canb.auug.org.au/~sfr/

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29  4:42         ` Stephen Rothwell
  2012-03-29  4:55           ` Michael Neuling
@ 2012-03-29  5:02           ` Linus Torvalds
  2012-03-29  8:11             ` Benjamin Herrenschmidt
  1 sibling, 1 reply; 25+ messages in thread
From: Linus Torvalds @ 2012-03-29  5:02 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Michael Neuling, David Howells, Grant Likely, akpm, linux-arch,
	linux-kernel, paul.gortmaker, arnd, hpa, ppc-dev

On Wed, Mar 28, 2012 at 9:42 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> How about this (build tested on powerpc allyesconfig):

Looks better.

Grant - what's the plan about that CONFIG_VIRQ_DEBUG thing? In theory
something like it could be useful as a generic thing, but at least
right now it is clearly powerpc-specific (not just that the config
option only exists for powerpc: it has that whole
'powerpc_debugfs_root' thing in it)?

Stephen's patch very much looks like the right thing, but if there was
some plan to actually make this generic ...

                    Linus

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29  5:02           ` Linus Torvalds
@ 2012-03-29  8:11             ` Benjamin Herrenschmidt
  2012-03-29 21:14               ` Grant Likely
  0 siblings, 1 reply; 25+ messages in thread
From: Benjamin Herrenschmidt @ 2012-03-29  8:11 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Stephen Rothwell, linux-arch, Michael Neuling, arnd, linux-kernel,
	David Howells, paul.gortmaker, hpa, akpm, ppc-dev

On Wed, 2012-03-28 at 22:02 -0700, Linus Torvalds wrote:
> On Wed, Mar 28, 2012 at 9:42 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> > How about this (build tested on powerpc allyesconfig):
> 
> Looks better.
> 
> Grant - what's the plan about that CONFIG_VIRQ_DEBUG thing? In theory
> something like it could be useful as a generic thing, but at least
> right now it is clearly powerpc-specific (not just that the config
> option only exists for powerpc: it has that whole
> 'powerpc_debugfs_root' thing in it)?
> 
> Stephen's patch very much looks like the right thing, but if there was
> some plan to actually make this generic ...

Yes, as I said earlier I think Grant should make it generic, there's
no reason to keep that powerpc specific, it's fairly useful and nothing
in userspace relies on the existing location of the debugfs file that I
know about.

Another option is to put the mapping information in /proc/interrupts but
worry that changing anything in there (like adding a column) will break
countless userspace tools.

Cheers,
Ben.
 

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29  4:14   ` Benjamin Herrenschmidt
@ 2012-03-29 21:01     ` Grant Likely
  2012-03-29 22:50       ` Stephen Rothwell
  2012-03-30  7:48     ` Paul Mundt
  1 sibling, 1 reply; 25+ messages in thread
From: Grant Likely @ 2012-03-29 21:01 UTC (permalink / raw)
  To: Benjamin Herrenschmidt, Michael Neuling
  Cc: David Howells, torvalds, akpm, linux-arch, linux-kernel,
	paul.gortmaker, arnd, hpa, sfr

On Thu, 29 Mar 2012 15:14:29 +1100, Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> On Thu, 2012-03-29 at 13:50 +1100, Michael Neuling wrote:
> > Grant: why does powerpc_debugfs_root appear in generic code?  This seems
> > very bogus.
> 
> Yes, Grant, you should move that to a different (generic) debugfs file,
> the mapping information is valuable debug data for all architectures
> that use the remapper, not just powerpc and it's not an ABI (no tool I
> know of rely on the location of that debugfs file) so feel free to move
> it around.

I could simply drop the powerpc_debugfs_root argument from
debugfs_create_file() and replace it with NULL.  As you say, this is
not an ABI and this will solve the problem.

On Wed, 28 Mar 2012 22:02:41 -0700, Linus Torvalds <torvalds@linux-foundation.org> wrote:
> Grant - what's the plan about that CONFIG_VIRQ_DEBUG thing? In theory
> something like it could be useful as a generic thing, but at least
> right now it is clearly powerpc-specific (not just that the config
> option only exists for powerpc: it has that whole
> 'powerpc_debugfs_root' thing in it)?
> 
> Stephen's patch very much looks like the right thing, but if there was
> some plan to actually make this generic ...

The plan is to make it generic.  I just ran out of time for this
cycle to generalize it.  I moved all of irqdomain out of arch/powerpc
wholesale, which included the debug bits, and then generalized it in
place.  That was the safest way to transition without causing
breakage.

Moving it back into powerpc land is a step backwards. I've attached a
patch that makes it generic instead.  It has been tested on ARM.

I've pushed it out to the following branch:

git://git.secretlab.ca/git/linux-2.6 irqdomain/merge

---

[PATCH] irqdomain: Remove powerpc dependency from debugfs file

The debugfs code is really generic for all platforms.  This patch removes the
powerpc-specific directory reference and makes it available to all
architectures.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
---
 arch/powerpc/Kconfig.debug |   10 ----------
 kernel/irq/Kconfig         |   10 ++++++++++
 kernel/irq/irqdomain.c     |    8 ++++----
 3 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/arch/powerpc/Kconfig.debug b/arch/powerpc/Kconfig.debug
index 72d55db..e5f2689 100644
--- a/arch/powerpc/Kconfig.debug
+++ b/arch/powerpc/Kconfig.debug
@@ -114,16 +114,6 @@ config DEBUGGER
 	depends on KGDB || XMON
 	default y
 
-config VIRQ_DEBUG
-	bool "Expose hardware/virtual IRQ mapping via debugfs"
-	depends on DEBUG_FS
-	help
-	  This option will show the mapping relationship between hardware irq
-	  numbers and virtual irq numbers. The mapping is exposed via debugfs
-	  in the file powerpc/virq_mapping.
-
-	  If you don't know what this means you don't need it.
-
 config BDI_SWITCH
 	bool "Include BDI-2000 user context switcher"
 	depends on DEBUG_KERNEL && PPC32
diff --git a/kernel/irq/Kconfig b/kernel/irq/Kconfig
index 5a38bf4..d8e323d 100644
--- a/kernel/irq/Kconfig
+++ b/kernel/irq/Kconfig
@@ -56,6 +56,16 @@ config GENERIC_IRQ_CHIP
 config IRQ_DOMAIN
 	bool
 
+config IRQ_DOMAIN_DEBUG
+	bool "Expose hardware/virtual IRQ mapping via debugfs"
+	depends on IRQ_DOMAIN && DEBUG_FS
+	help
+	  This option will show the mapping relationship between hardware irq
+	  numbers and Linux irq numbers. The mapping is exposed via debugfs
+	  in the file "virq_mapping".
+
+	  If you don't know what this means you don't need it.
+
 # Support forced irq threading
 config IRQ_FORCED_THREADING
        bool
diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
index af48e59..3601f3f 100644
--- a/kernel/irq/irqdomain.c
+++ b/kernel/irq/irqdomain.c
@@ -632,7 +632,7 @@ unsigned int irq_linear_revmap(struct irq_domain *domain,
 	return revmap[hwirq];
 }
 
-#ifdef CONFIG_VIRQ_DEBUG
+#ifdef CONFIG_IRQ_DOMAIN_DEBUG
 static int virq_debug_show(struct seq_file *m, void *private)
 {
 	unsigned long flags;
@@ -668,7 +668,7 @@ static int virq_debug_show(struct seq_file *m, void *private)
 			data = irq_desc_get_chip_data(desc);
 			seq_printf(m, "0x%16p  ", data);
 
-			if (desc->irq_data.domain->of_node)
+			if (desc->irq_data.domain && desc->irq_data.domain->of_node)
 				p = desc->irq_data.domain->of_node->full_name;
 			else
 				p = none;
@@ -695,14 +695,14 @@ static const struct file_operations virq_debug_fops = {
 
 static int __init irq_debugfs_init(void)
 {
-	if (debugfs_create_file("virq_mapping", S_IRUGO, powerpc_debugfs_root,
+	if (debugfs_create_file("irq_domain_mapping", S_IRUGO, NULL,
 				 NULL, &virq_debug_fops) == NULL)
 		return -ENOMEM;
 
 	return 0;
 }
 __initcall(irq_debugfs_init);
-#endif /* CONFIG_VIRQ_DEBUG */
+#endif /* CONFIG_IRQ_DOMAIN_DEBUG */
 
 int irq_domain_simple_map(struct irq_domain *d, unsigned int irq,
 			  irq_hw_number_t hwirq)
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29  8:11             ` Benjamin Herrenschmidt
@ 2012-03-29 21:14               ` Grant Likely
  2012-03-29 21:14                 ` Grant Likely
  2012-03-29 21:48                 ` Thomas Gleixner
  0 siblings, 2 replies; 25+ messages in thread
From: Grant Likely @ 2012-03-29 21:14 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Linus Torvalds, Stephen Rothwell, linux-arch, Michael Neuling,
	arnd, linux-kernel, David Howells, paul.gortmaker, hpa, akpm,
	ppc-dev

On Thu, Mar 29, 2012 at 2:11 AM, Benjamin Herrenschmidt
<benh@kernel.crashing.org> wrote:
> On Wed, 2012-03-28 at 22:02 -0700, Linus Torvalds wrote:
>> On Wed, Mar 28, 2012 at 9:42 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>> >
>> > How about this (build tested on powerpc allyesconfig):
>>
>> Looks better.
>>
>> Grant - what's the plan about that CONFIG_VIRQ_DEBUG thing? In theory
>> something like it could be useful as a generic thing, but at least
>> right now it is clearly powerpc-specific (not just that the config
>> option only exists for powerpc: it has that whole
>> 'powerpc_debugfs_root' thing in it)?
>>
>> Stephen's patch very much looks like the right thing, but if there was
>> some plan to actually make this generic ...
>
> Yes, as I said earlier I think Grant should make it generic, there's
> no reason to keep that powerpc specific, it's fairly useful and nothing
> in userspace relies on the existing location of the debugfs file that I
> know about.
>
> Another option is to put the mapping information in /proc/interrupts but
> worry that changing anything in there (like adding a column) will break
> countless userspace tools.

I posted an RFC patch that does exactly that, but I'm similarly
nervous for the same reason:

http://www.mail-archive.com/linuxppc-dev@lists.ozlabs.org/msg56368.html

The rightmost fields of /proc/interrupts are a weird set of
conditional outputs that don't really have any parsable formatting to
them.  It may be safe to apply my patch because it adds another field
in the middle of a section of conditional outputs* anyway so tools
already won't know what those fields mean.  But, regardless, I'm not
going to take responsibility for applying that patch unless encouraged
by several other maintainers to do so.

*It's added to the middle instead of the end purely for aesthetic
reasons.  The rightmost field is a freeform string without a field
width, so if put at the end they would never line up.  Suggestions for
a better layout are welcome.

g.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29 21:14               ` Grant Likely
@ 2012-03-29 21:14                 ` Grant Likely
  2012-03-29 21:48                 ` Thomas Gleixner
  1 sibling, 0 replies; 25+ messages in thread
From: Grant Likely @ 2012-03-29 21:14 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Linus Torvalds, Stephen Rothwell, linux-arch, Michael Neuling,
	arnd, linux-kernel, David Howells, paul.gortmaker, hpa, akpm,
	ppc-dev

On Thu, Mar 29, 2012 at 2:11 AM, Benjamin Herrenschmidt
<benh@kernel.crashing.org> wrote:
> On Wed, 2012-03-28 at 22:02 -0700, Linus Torvalds wrote:
>> On Wed, Mar 28, 2012 at 9:42 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>> >
>> > How about this (build tested on powerpc allyesconfig):
>>
>> Looks better.
>>
>> Grant - what's the plan about that CONFIG_VIRQ_DEBUG thing? In theory
>> something like it could be useful as a generic thing, but at least
>> right now it is clearly powerpc-specific (not just that the config
>> option only exists for powerpc: it has that whole
>> 'powerpc_debugfs_root' thing in it)?
>>
>> Stephen's patch very much looks like the right thing, but if there was
>> some plan to actually make this generic ...
>
> Yes, as I said earlier I think Grant should make it generic, there's
> no reason to keep that powerpc specific, it's fairly useful and nothing
> in userspace relies on the existing location of the debugfs file that I
> know about.
>
> Another option is to put the mapping information in /proc/interrupts but
> worry that changing anything in there (like adding a column) will break
> countless userspace tools.

I posted an RFC patch that does exactly that, but I'm similarly
nervous for the same reason:

http://www.mail-archive.com/linuxppc-dev@lists.ozlabs.org/msg56368.html

The rightmost fields of /proc/interrupts are a weird set of
conditional outputs that don't really have any parsable formatting to
them.  It may be safe to apply my patch because it adds another field
in the middle of a section of conditional outputs* anyway so tools
already won't know what those fields mean.  But, regardless, I'm not
going to take responsibility for applying that patch unless encouraged
by several other maintainers to do so.

*It's added to the middle instead of the end purely for aesthetic
reasons.  The rightmost field is a freeform string without a field
width, so if put at the end they would never line up.  Suggestions for
a better layout are welcome.

g.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29 21:14               ` Grant Likely
  2012-03-29 21:14                 ` Grant Likely
@ 2012-03-29 21:48                 ` Thomas Gleixner
  2012-03-29 22:16                   ` Grant Likely
  1 sibling, 1 reply; 25+ messages in thread
From: Thomas Gleixner @ 2012-03-29 21:48 UTC (permalink / raw)
  To: Grant Likely
  Cc: Benjamin Herrenschmidt, Linus Torvalds, Stephen Rothwell,
	linux-arch, Michael Neuling, arnd, linux-kernel, David Howells,
	paul.gortmaker, hpa, akpm, ppc-dev

On Thu, 29 Mar 2012, Grant Likely wrote:
> On Thu, Mar 29, 2012 at 2:11 AM, Benjamin Herrenschmidt
> The rightmost fields of /proc/interrupts are a weird set of
> conditional outputs that don't really have any parsable formatting to
> them.  It may be safe to apply my patch because it adds another field
> in the middle of a section of conditional outputs* anyway so tools
> already won't know what those fields mean.  But, regardless, I'm not
> going to take responsibility for applying that patch unless encouraged
> by several other maintainers to do so.

Go ahead. We changed that output several times in the last years
without causing the end of the universe.

Thanks,

	tglx

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29 21:48                 ` Thomas Gleixner
@ 2012-03-29 22:16                   ` Grant Likely
  0 siblings, 0 replies; 25+ messages in thread
From: Grant Likely @ 2012-03-29 22:16 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: Benjamin Herrenschmidt, Linus Torvalds, Stephen Rothwell,
	linux-arch, Michael Neuling, arnd, linux-kernel, David Howells,
	paul.gortmaker, hpa, akpm, ppc-dev

On Thu, Mar 29, 2012 at 3:48 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> On Thu, 29 Mar 2012, Grant Likely wrote:
>> On Thu, Mar 29, 2012 at 2:11 AM, Benjamin Herrenschmidt
>> The rightmost fields of /proc/interrupts are a weird set of
>> conditional outputs that don't really have any parsable formatting to
>> them.  It may be safe to apply my patch because it adds another field
>> in the middle of a section of conditional outputs* anyway so tools
>> already won't know what those fields mean.  But, regardless, I'm not
>> going to take responsibility for applying that patch unless encouraged
>> by several other maintainers to do so.
>
> Go ahead. We changed that output several times in the last years
> without causing the end of the universe.

Okay, RFC patch sent.  I'm okay to wait for v3.5 for this, but it can
go into v3.4 if anyone really wants it faster.

g.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29 21:01     ` Grant Likely
@ 2012-03-29 22:50       ` Stephen Rothwell
  2012-03-29 22:52         ` Grant Likely
  0 siblings, 1 reply; 25+ messages in thread
From: Stephen Rothwell @ 2012-03-29 22:50 UTC (permalink / raw)
  To: Grant Likely
  Cc: Benjamin Herrenschmidt, Michael Neuling, David Howells, torvalds,
	akpm, linux-arch, linux-kernel, paul.gortmaker, arnd, hpa

[-- Attachment #1: Type: text/plain, Size: 1690 bytes --]

Hi Grant,

On Thu, 29 Mar 2012 15:01:17 -0600 Grant Likely <grant.likely@secretlab.ca> wrote:
>
> Moving it back into powerpc land is a step backwards. I've attached a
> patch that makes it generic instead.  It has been tested on ARM.
> 
> I've pushed it out to the following branch:
> 
> git://git.secretlab.ca/git/linux-2.6 irqdomain/merge

I have pulled that into my fixes tree for today (since otherwise my
builds will break).

I have also added this patch to my fixes tree:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 29 Mar 2012 14:58:10 +1100
Subject: [PATCH] powerpc: fix fallout from system.h split up

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/powerpc/kernel/fadump.c |    2 ++
 arch/powerpc/kernel/kgdb.c   |    1 +
 2 files changed, 3 insertions(+)

diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
index cfe7a38..18bdf74 100644
--- a/arch/powerpc/kernel/fadump.c
+++ b/arch/powerpc/kernel/fadump.c
@@ -40,6 +40,8 @@
 #include <asm/prom.h>
 #include <asm/rtas.h>
 #include <asm/fadump.h>
+#include <asm/debug.h>
+#include <asm/setup.h>
 
 static struct fw_dump fw_dump;
 static struct fadump_mem_struct fdm;
diff --git a/arch/powerpc/kernel/kgdb.c b/arch/powerpc/kernel/kgdb.c
index 76a6e40..782bd0a 100644
--- a/arch/powerpc/kernel/kgdb.c
+++ b/arch/powerpc/kernel/kgdb.c
@@ -24,6 +24,7 @@
 #include <asm/current.h>
 #include <asm/processor.h>
 #include <asm/machdep.h>
+#include <asm/debug.h>
 
 /*
  * This table contains the mapping between PowerPC hardware trap types, and
-- 
1.7.9.5

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29 22:50       ` Stephen Rothwell
@ 2012-03-29 22:52         ` Grant Likely
  2012-03-29 23:38           ` Stephen Rothwell
  0 siblings, 1 reply; 25+ messages in thread
From: Grant Likely @ 2012-03-29 22:52 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Benjamin Herrenschmidt, Michael Neuling, David Howells, torvalds,
	akpm, linux-arch, linux-kernel, paul.gortmaker, arnd, hpa

On Thu, Mar 29, 2012 at 4:50 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> Hi Grant,
>
> On Thu, 29 Mar 2012 15:01:17 -0600 Grant Likely <grant.likely@secretlab.ca> wrote:
>>
>> Moving it back into powerpc land is a step backwards. I've attached a
>> patch that makes it generic instead.  It has been tested on ARM.
>>
>> I've pushed it out to the following branch:
>>
>> git://git.secretlab.ca/git/linux-2.6 irqdomain/merge
>
> I have pulled that into my fixes tree for today (since otherwise my
> builds will break).

Cool.  If that checks out in linux-next, then I'll ask Linus to pull.

BTW, can you add that branch permanently to linux-next?  That's the
branch I'll use when queuing up irqdomain fixes for mainline.

g.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29 22:52         ` Grant Likely
@ 2012-03-29 23:38           ` Stephen Rothwell
  2012-03-30  0:37             ` Grant Likely
  0 siblings, 1 reply; 25+ messages in thread
From: Stephen Rothwell @ 2012-03-29 23:38 UTC (permalink / raw)
  To: Grant Likely
  Cc: Benjamin Herrenschmidt, Michael Neuling, David Howells, torvalds,
	akpm, linux-arch, linux-kernel, paul.gortmaker, arnd, hpa

[-- Attachment #1: Type: text/plain, Size: 572 bytes --]

Hi Grant,

On Thu, 29 Mar 2012 16:52:25 -0600 Grant Likely <grant.likely@secretlab.ca> wrote:
>
> Cool.  If that checks out in linux-next, then I'll ask Linus to pull.
> 
> BTW, can you add that branch permanently to linux-next?  That's the
> branch I'll use when queuing up irqdomain fixes for mainline.

OK, I have added that branch.   Meanwhile, Linus has merged that branch
as well, so I will remove it from my fixes tree again :-)

I *may* get linux-next for today started soon :-)
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29 23:38           ` Stephen Rothwell
@ 2012-03-30  0:37             ` Grant Likely
  0 siblings, 0 replies; 25+ messages in thread
From: Grant Likely @ 2012-03-30  0:37 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Benjamin Herrenschmidt, Michael Neuling, David Howells, torvalds,
	akpm, linux-arch, linux-kernel, paul.gortmaker, arnd, hpa

On Thu, Mar 29, 2012 at 5:38 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> Hi Grant,
>
> On Thu, 29 Mar 2012 16:52:25 -0600 Grant Likely <grant.likely@secretlab.ca> wrote:
>>
>> Cool.  If that checks out in linux-next, then I'll ask Linus to pull.
>>
>> BTW, can you add that branch permanently to linux-next?  That's the
>> branch I'll use when queuing up irqdomain fixes for mainline.
>
> OK, I have added that branch.   Meanwhile, Linus has merged that branch
> as well, so I will remove it from my fixes tree again :-)

:-D  Thanks Linus.

Stephen, can you verify on one of your ppc machines that
/debug/irq_domain_mapping still works for you?

Thanks,
g.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-29  4:14   ` Benjamin Herrenschmidt
  2012-03-29 21:01     ` Grant Likely
@ 2012-03-30  7:48     ` Paul Mundt
  2012-03-30 21:46       ` Grant Likely
  1 sibling, 1 reply; 25+ messages in thread
From: Paul Mundt @ 2012-03-30  7:48 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Michael Neuling, David Howells, Grant Likely, torvalds, akpm,
	linux-arch, linux-kernel, paul.gortmaker, arnd, hpa, sfr

On Thu, Mar 29, 2012 at 03:14:29PM +1100, Benjamin Herrenschmidt wrote:
> > We are currently getting:
> > kernel/irq/irqdomain.c: In function 'irq_debugfs_init':
> > kernel/irq/irqdomain.c:698:63: error: 'powerpc_debugfs_root' undeclared (first use in this function)
> > kernel/irq/irqdomain.c:698:63: note: each undeclared identifier is reported only once for each function it appears in
> > 
> >   ae3a197 Disintegrate asm/system.h for PowerPC
> > is conflicting with 
> >   cc79ca6 irq_domain: Move irq_domain code from powerpc to kernel/irq
> > from Grant's tree.
> > 
> > Adding the following patch fixes it for pseries_defconfig, although I'm
> > not sure it's the right fix.
> 
> That will do as a quick fix (Linus, can you take it now ?), however..
> 
> > Grant: why does powerpc_debugfs_root appear in generic code?  This seems
> > very bogus.
> 
> Yes, Grant, you should move that to a different (generic) debugfs file,
> the mapping information is valuable debug data for all architectures
> that use the remapper, not just powerpc and it's not an ABI (no tool I
> know of rely on the location of that debugfs file) so feel free to move
> it around.
> 
There is a arch_debugfs_dir defined by linux/debugfs.h, but at the moment
it's only provided by x86 and sh.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-30  7:48     ` Paul Mundt
@ 2012-03-30 21:46       ` Grant Likely
  2012-03-30 21:46         ` Grant Likely
  0 siblings, 1 reply; 25+ messages in thread
From: Grant Likely @ 2012-03-30 21:46 UTC (permalink / raw)
  To: Paul Mundt, Benjamin Herrenschmidt
  Cc: Michael Neuling, David Howells, torvalds, akpm, linux-arch,
	linux-kernel, paul.gortmaker, arnd, hpa, sfr

On Fri, 30 Mar 2012 16:48:52 +0900, Paul Mundt <lethal@linux-sh.org> wrote:
> On Thu, Mar 29, 2012 at 03:14:29PM +1100, Benjamin Herrenschmidt wrote:
> > > We are currently getting:
> > > kernel/irq/irqdomain.c: In function 'irq_debugfs_init':
> > > kernel/irq/irqdomain.c:698:63: error: 'powerpc_debugfs_root' undeclared (first use in this function)
> > > kernel/irq/irqdomain.c:698:63: note: each undeclared identifier is reported only once for each function it appears in
> > > 
> > >   ae3a197 Disintegrate asm/system.h for PowerPC
> > > is conflicting with 
> > >   cc79ca6 irq_domain: Move irq_domain code from powerpc to kernel/irq
> > > from Grant's tree.
> > > 
> > > Adding the following patch fixes it for pseries_defconfig, although I'm
> > > not sure it's the right fix.
> > 
> > That will do as a quick fix (Linus, can you take it now ?), however..
> > 
> > > Grant: why does powerpc_debugfs_root appear in generic code?  This seems
> > > very bogus.
> > 
> > Yes, Grant, you should move that to a different (generic) debugfs file,
> > the mapping information is valuable debug data for all architectures
> > that use the remapper, not just powerpc and it's not an ABI (no tool I
> > know of rely on the location of that debugfs file) so feel free to move
> > it around.
> > 
> There is a arch_debugfs_dir defined by linux/debugfs.h, but at the moment
> it's only provided by x86 and sh.

Since this data can be used by any arch now, it doesn't make much
sense to put it in arch_debugfs_dir.  I've put it in
/debug/irq_domain_mapping which should be fine.

g.


-- 
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies,Ltd.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [GIT PULL] Disintegrate and kill asm/system.h
  2012-03-30 21:46       ` Grant Likely
@ 2012-03-30 21:46         ` Grant Likely
  0 siblings, 0 replies; 25+ messages in thread
From: Grant Likely @ 2012-03-30 21:46 UTC (permalink / raw)
  To: Paul Mundt, Benjamin Herrenschmidt
  Cc: Michael Neuling, David Howells, torvalds, akpm, linux-arch,
	linux-kernel, paul.gortmaker, arnd, hpa, sfr

On Fri, 30 Mar 2012 16:48:52 +0900, Paul Mundt <lethal@linux-sh.org> wrote:
> On Thu, Mar 29, 2012 at 03:14:29PM +1100, Benjamin Herrenschmidt wrote:
> > > We are currently getting:
> > > kernel/irq/irqdomain.c: In function 'irq_debugfs_init':
> > > kernel/irq/irqdomain.c:698:63: error: 'powerpc_debugfs_root' undeclared (first use in this function)
> > > kernel/irq/irqdomain.c:698:63: note: each undeclared identifier is reported only once for each function it appears in
> > > 
> > >   ae3a197 Disintegrate asm/system.h for PowerPC
> > > is conflicting with 
> > >   cc79ca6 irq_domain: Move irq_domain code from powerpc to kernel/irq
> > > from Grant's tree.
> > > 
> > > Adding the following patch fixes it for pseries_defconfig, although I'm
> > > not sure it's the right fix.
> > 
> > That will do as a quick fix (Linus, can you take it now ?), however..
> > 
> > > Grant: why does powerpc_debugfs_root appear in generic code?  This seems
> > > very bogus.
> > 
> > Yes, Grant, you should move that to a different (generic) debugfs file,
> > the mapping information is valuable debug data for all architectures
> > that use the remapper, not just powerpc and it's not an ABI (no tool I
> > know of rely on the location of that debugfs file) so feel free to move
> > it around.
> > 
> There is a arch_debugfs_dir defined by linux/debugfs.h, but at the moment
> it's only provided by x86 and sh.

Since this data can be used by any arch now, it doesn't make much
sense to put it in arch_debugfs_dir.  I've put it in
/debug/irq_domain_mapping which should be fine.

g.


-- 
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies,Ltd.

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2012-03-31  0:34 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-21 17:14 [GIT PULL] Disintegrate and kill asm/system.h David Howells
2012-03-21 23:06 ` Paul Gortmaker
  -- strict thread matches above, loose matches on Subject: below --
2012-03-28 18:20 David Howells
2012-03-29  2:50 ` Michael Neuling
2012-03-29  2:55   ` Stephen Rothwell
2012-03-29  4:15     ` Stephen Rothwell
2012-03-29  4:21       ` Michael Neuling
2012-03-29  4:24       ` Linus Torvalds
2012-03-29  4:42         ` Stephen Rothwell
2012-03-29  4:55           ` Michael Neuling
2012-03-29  5:02           ` Linus Torvalds
2012-03-29  8:11             ` Benjamin Herrenschmidt
2012-03-29 21:14               ` Grant Likely
2012-03-29 21:14                 ` Grant Likely
2012-03-29 21:48                 ` Thomas Gleixner
2012-03-29 22:16                   ` Grant Likely
2012-03-29  4:14   ` Benjamin Herrenschmidt
2012-03-29 21:01     ` Grant Likely
2012-03-29 22:50       ` Stephen Rothwell
2012-03-29 22:52         ` Grant Likely
2012-03-29 23:38           ` Stephen Rothwell
2012-03-30  0:37             ` Grant Likely
2012-03-30  7:48     ` Paul Mundt
2012-03-30 21:46       ` Grant Likely
2012-03-30 21:46         ` Grant Likely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).