Skip to contentSkip to conversation

Disintegrate and kill asm/system.h

GIT PULL David Howells 8 participants 21 messages Mar 28, 2012 – Mar 30, 2012

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

[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
#1 lore raw
Quoted 10 lines

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

kernel/irq/irqdomain.c +1 -0
index af48e59..3ebf4ef 100644
@@ -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 */
#2 lore raw
Quoted 6 lines · On Thu, 29 Mar 2012 13:50:44 +1100 Michael Neuling <[email protected]> wrote:
Quoted 6 lines

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:

Quoted 8 lines
Quoted 5 lines

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" :-(

Signature · 2 lines
Cheers,
Stephen Rothwell                    [email protected]
#3 lore raw

Hi all,

Quoted 10 lines · On Thu, 29 Mar 2012 13:55:55 +1100 Stephen Rothwell <[email protected]>…
Quoted 8 lines · On Thu, 29 Mar 2012 13:50:44 +1100 Michael Neuling <[email protected]> wrote:
Quoted 8 lines

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)

Quoted 8 lines
Quoted 6 lines
Quoted 3 lines

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 <[email protected]>
Date: Thu, 29 Mar 2012 14:58:10 +1100
Subject: [PATCH] powerpc: fix fallout from system.h split up

---
 arch/powerpc/kernel/fadump.c |    2 ++
 arch/powerpc/kernel/kgdb.c   |    1 +
 kernel/irq/irqdomain.c       |    3 +++
 3 files changed, 6 insertions(+), 0 deletions(-)
arch/powerpc/kernel/fadump.c +2 -0
index cfe7a38..18bdf74 100644
@@ -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;
arch/powerpc/kernel/kgdb.c +1 -0
index 76a6e40..782bd0a 100644
@@ -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
kernel/irq/irqdomain.c +3 -0
index af48e59..1f94ddf 100644
@@ -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 */
Signature · 5 lines
1.7.9.1

-- 
Cheers,
Stephen Rothwell                    [email protected]
#4 lore raw

In message <[email protected]> you wrote :

Quoted 33 lines

--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,

Quoted 2 lines · On Thu, 29 Mar 2012 13:55:55 +1100 Stephen Rothwell <[email protected]> =…

On Thu, 29 Mar 2012 13:50:44 +1100 Michael Neuling <[email protected]> wr=

ote:

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

Here are a bunch of patches to disintegrate asm/system.h into a set o=

f separate

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

bits to relieve the problem of circular inclusion dependencies. =20
The following changes since commit 437538267b672f9320833907f1b5acbb26=

05f4be:

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

=20
Merge tag 'fbdev-updates-for-3.4' of git://github.com/schandinat/li=

nux-2.6 (2012-03-22 20:43:40 -0700)

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

=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

Quoted 5 lines
Quoted 3 lines

=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" :-(

Quoted 7 lines

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

From: Stephen Rothwell <[email protected]>
Date: Thu, 29 Mar 2012 14:58:10 +1100
Subject: [PATCH] powerpc: fix fallout from system.h split up

Thanks, this is much better than my crappy fix.

Mikey

Quoted 75 lines
---
 arch/powerpc/kernel/fadump.c |    2 ++
 arch/powerpc/kernel/kgdb.c   |    1 +
 kernel/irq/irqdomain.c       |    3 +++
 3 files changed, 6 insertions(+), 0 deletions(-)
arch/powerpc/kernel/fadump.c +2 -0
index cfe7a38..18bdf74 100644
@@ -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;

arch/powerpc/kernel/kgdb.c +1 -0
index 76a6e40..782bd0a 100644
@@ -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

kernel/irq/irqdomain.c +3 -0
index af48e59..1f94ddf 100644
@@ -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 [email protected]

--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--

#5 lore raw
In reply to Stephen Rothwell
Quoted 2 lines · Stephen Rothwell

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

Ugh:

kernel/irq/irqdomain.c line 17

Quoted 11 lines
kernel/irq/irqdomain.c +3 -0
index af48e59..1f94ddf 100644
@@ -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

#6 lore raw

Hi Linus,

Quoted 7 lines · On Wed, 28 Mar 2012 21:24:41 -0700 Linus Torvalds…
Quoted 2 lines · Stephen Rothwell

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

Ugh:

Quoted 14 lines

kernel/irq/irqdomain.c line 17

Quoted 11 lines
kernel/irq/irqdomain.c +3 -0
index af48e59..1f94ddf 100644
@@ -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 <[email protected]>
Date: Thu, 29 Mar 2012 14:58:10 +1100
Subject: [PATCH] powerpc: fix fallout from system.h split up

---
 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(-)
arch/powerpc/kernel/fadump.c +2 -0
index cfe7a38..18bdf74 100644
@@ -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;
arch/powerpc/kernel/irq.c +72 -0

75 lines not on this page · raw message

arch/powerpc/kernel/kgdb.c +1 -0
index 76a6e40..782bd0a 100644
@@ -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
kernel/irq/irqdomain.c +0 -72

78 lines not on this page · raw message

Signature · 7 lines
1.7.9.1


-- 
Cheers,
Stephen Rothwell                    [email protected]
http://www.canb.auug.org.au/~sfr/
#7 lore raw
Quoted 10 lines
Quoted 2 lines

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 <[email protected]>
Date: Thu, 29 Mar 2012 14:58:10 +1100
Subject: [PATCH] powerpc: fix fallout from system.h split up

FWIW.. this works for me too..

Mikey

Quoted 59 lines
---
 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(-)
arch/powerpc/kernel/fadump.c +2 -0
index cfe7a38..18bdf74 100644
@@ -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;

arch/powerpc/kernel/irq.c +0 -0
index 243dbab..ff165f5 100644
@@ -623,3 +623,75 @@ static int __init setup_noirqdistrib(char *str)

=20
__setup("noirqdistrib", setup_noirqdistrib);
#endif /* CONFIG_PPC64 */

arch/powerpc/kernel/irq.c +29 -0
+
+#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)

arch/powerpc/kernel/irq.c static int __init setup_noirqdistrib(char *str)

Quoted 10 lines
arch/powerpc/kernel/irq.c +10 -0
+				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

;

Quoted 82 lines
arch/powerpc/kernel/irq.c +33 -0
+			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 */
arch/powerpc/kernel/kgdb.c +1 -0
index 76a6e40..782bd0a 100644
@@ -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

kernel/irq/irqdomain.c +0 -0
index af48e59..ae645ab 100644
@@ -632,78 +632,6 @@ unsigned int irq_linear_revmap(struct irq_domain *doma=
 in,
 	return revmap[hwirq];
 }

=20

kernel/irq/irqdomain.c +0 -28
-#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)

kernel/irq/irqdomain.c unsigned int irq_linear_revmap(struct irq_domain *domain,

Quoted 10 lines
kernel/irq/irqdomain.c +0 -10
-				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

;

Quoted 45 lines
kernel/irq/irqdomain.c +0 -35
-			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 [email protected]
http://www.canb.auug.org.au/~sfr/

#8 lore raw
In reply to Stephen Rothwell
Quoted 2 lines · Stephen Rothwell

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

#9 lore raw
Quoted 6 lines · Linus Torvalds
Quoted 2 lines · Stephen Rothwell

How about this (build tested on powerpc allyesconfig):

Looks better.

Quoted 8 lines

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.

#10 lore raw
Quoted 16 lines · Benjamin Herrenschmidt
Quoted 6 lines · Linus Torvalds
Quoted 2 lines · Stephen Rothwell

How about this (build tested on powerpc allyesconfig):

Looks better.

Quoted 8 lines

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 ...

Quoted 8 lines

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/[email protected]/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.

#11 lore raw
Quoted 8 lines · Grant Likely

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

#12 lore raw
Quoted 10 lines · Thomas Gleixner
Quoted 8 lines · Grant Likely

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.

Quoted 2 lines

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.

#13 lore raw
In reply to Michael Neuling
Quoted 7 lines · Michael Neuling
Quoted 7 lines

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)

Quoted 8 lines
Quoted 3 lines

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.

Quoted 5 lines

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

Quoted 7 lines

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..

Quoted 2 lines

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.

#14 lore raw
Quoted 9 lines · Benjamin Herrenschmidt
Quoted 2 lines · Michael Neuling

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.

Quoted 8 lines · Linus Torvalds

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.

---
 arch/powerpc/Kconfig.debug |   10 ----------
 kernel/irq/Kconfig         |   10 ++++++++++
 kernel/irq/irqdomain.c     |    8 ++++----
 3 files changed, 14 insertions(+), 14 deletions(-)
arch/powerpc/Kconfig.debug +0 -10
index 72d55db..e5f2689 100644
@@ -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
kernel/irq/Kconfig +10 -0
index 5a38bf4..d8e323d 100644
@@ -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
kernel/irq/irqdomain.c +4 -4
index af48e59..3601f3f 100644
@@ -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)
Signature · 1 line
1.7.9.1
#15 lore raw

Hi Grant,

Quoted 7 lines · On Thu, 29 Mar 2012 15:01:17 -0600 Grant Likely <[email protected]>…

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 <[email protected]>
Date: Thu, 29 Mar 2012 14:58:10 +1100
Subject: [PATCH] powerpc: fix fallout from system.h split up

---
 arch/powerpc/kernel/fadump.c |    2 ++
 arch/powerpc/kernel/kgdb.c   |    1 +
 2 files changed, 3 insertions(+)
arch/powerpc/kernel/fadump.c +2 -0
index cfe7a38..18bdf74 100644
@@ -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;
arch/powerpc/kernel/kgdb.c +1 -0
index 76a6e40..782bd0a 100644
@@ -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
Signature · 5 lines
1.7.9.5

-- 
Cheers,
Stephen Rothwell                    [email protected]
#16 lore raw
Quoted 7 lines · Stephen Rothwell

Hi Grant,

Quoted 4 lines · On Thu, 29 Mar 2012 15:01:17 -0600 Grant Likely <[email protected]>…

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.

Quoted 6 lines
Quoted 3 lines

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.

#17 lore raw

Hi Grant,

Quoted 5 lines · On Thu, 29 Mar 2012 16:52:25 -0600 Grant Likely <[email protected]>…

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 :-)

Signature · 2 lines
Cheers,
Stephen Rothwell                    [email protected]
#18 lore raw
Quoted 11 lines · Stephen Rothwell

Hi Grant,

Quoted 5 lines · On Thu, 29 Mar 2012 16:52:25 -0600 Grant Likely <[email protected]>…

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.

#19 lore raw
In reply to Benjamin Herrenschmidt
Quoted 15 lines · Benjamin Herrenschmidt
Quoted 5 lines

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

Quoted 7 lines

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..

Quoted 9 lines
Quoted 2 lines

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.

#20 lore raw
Quoted 19 lines · Paul Mundt
Quoted 18 lines · Benjamin Herrenschmidt
Quoted 5 lines

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

Quoted 7 lines

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..

Quoted 2 lines

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

Quoted 8 lines
Quoted 6 lines

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.

Signature · 2 lines
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies,Ltd.