]> Git Repo - linux.git/commit
Fix IRQ flag handling naming
authorDavid Howells <[email protected]>
Thu, 7 Oct 2010 13:08:55 +0000 (14:08 +0100)
committerDavid Howells <[email protected]>
Thu, 7 Oct 2010 13:08:55 +0000 (14:08 +0100)
commitdf9ee29270c11dba7d0fe0b83ce47a4d8e8d2101
tree0c9a87ef1ea042c4432f122c3d03614d21156fc1
parentca4d3e6746bdcfccb517349bce2d2c5b5614fb6f
Fix IRQ flag handling naming

Fix the IRQ flag handling naming.  In linux/irqflags.h under one configuration,
it maps:

local_irq_enable() -> raw_local_irq_enable()
local_irq_disable() -> raw_local_irq_disable()
local_irq_save() -> raw_local_irq_save()
...

and under the other configuration, it maps:

raw_local_irq_enable() -> local_irq_enable()
raw_local_irq_disable() -> local_irq_disable()
raw_local_irq_save() -> local_irq_save()
...

This is quite confusing.  There should be one set of names expected of the
arch, and this should be wrapped to give another set of names that are expected
by users of this facility.

Change this to have the arch provide:

flags = arch_local_save_flags()
flags = arch_local_irq_save()
arch_local_irq_restore(flags)
arch_local_irq_disable()
arch_local_irq_enable()
arch_irqs_disabled_flags(flags)
arch_irqs_disabled()
arch_safe_halt()

Then linux/irqflags.h wraps these to provide:

raw_local_save_flags(flags)
raw_local_irq_save(flags)
raw_local_irq_restore(flags)
raw_local_irq_disable()
raw_local_irq_enable()
raw_irqs_disabled_flags(flags)
raw_irqs_disabled()
raw_safe_halt()

with type checking on the flags 'arguments', and then wraps those to provide:

local_save_flags(flags)
local_irq_save(flags)
local_irq_restore(flags)
local_irq_disable()
local_irq_enable()
irqs_disabled_flags(flags)
irqs_disabled()
safe_halt()

with tracing included if enabled.

The arch functions can now all be inline functions rather than some of them
having to be macros.

Signed-off-by: David Howells <[email protected]> [X86, FRV, MN10300]
Signed-off-by: Chris Metcalf <[email protected]> [Tile]
Signed-off-by: Michal Simek <[email protected]> [Microblaze]
Tested-by: Catalin Marinas <[email protected]> [ARM]
Acked-by: Thomas Gleixner <[email protected]>
Acked-by: Haavard Skinnemoen <[email protected]> [AVR]
Acked-by: Tony Luck <[email protected]> [IA-64]
Acked-by: Hirokazu Takata <[email protected]> [M32R]
Acked-by: Greg Ungerer <[email protected]> [M68K/M68KNOMMU]
Acked-by: Ralf Baechle <[email protected]> [MIPS]
Acked-by: Kyle McMartin <[email protected]> [PA-RISC]
Acked-by: Paul Mackerras <[email protected]> [PowerPC]
Acked-by: Martin Schwidefsky <[email protected]> [S390]
Acked-by: Chen Liqin <[email protected]> [Score]
Acked-by: Matt Fleming <[email protected]> [SH]
Acked-by: David S. Miller <[email protected]> [Sparc]
Acked-by: Chris Zankel <[email protected]> [Xtensa]
Reviewed-by: Richard Henderson <[email protected]> [Alpha]
Reviewed-by: Yoshinori Sato <[email protected]> [H8300]
Cc: [email protected] [CRIS]
Cc: [email protected] [CRIS]
Cc: [email protected]
63 files changed:
arch/alpha/include/asm/irqflags.h [new file with mode: 0644]
arch/alpha/include/asm/system.h
arch/arm/include/asm/irqflags.h
arch/avr32/include/asm/irqflags.h
arch/blackfin/include/asm/irqflags.h
arch/blackfin/kernel/trace.c
arch/cris/include/arch-v10/arch/irqflags.h [new file with mode: 0644]
arch/cris/include/arch-v10/arch/system.h
arch/cris/include/arch-v32/arch/irqflags.h [new file with mode: 0644]
arch/cris/include/arch-v32/arch/system.h
arch/cris/include/asm/irqflags.h [new file with mode: 0644]
arch/cris/include/asm/system.h
arch/frv/include/asm/irqflags.h [new file with mode: 0644]
arch/frv/include/asm/system.h
arch/h8300/include/asm/irqflags.h [new file with mode: 0644]
arch/h8300/include/asm/system.h
arch/ia64/include/asm/irqflags.h [new file with mode: 0644]
arch/ia64/include/asm/system.h
arch/m32r/include/asm/irqflags.h [new file with mode: 0644]
arch/m32r/include/asm/system.h
arch/m68k/include/asm/entry_no.h
arch/m68k/include/asm/irqflags.h [new file with mode: 0644]
arch/m68k/include/asm/system_mm.h
arch/m68k/include/asm/system_no.h
arch/m68knommu/kernel/asm-offsets.c
arch/m68knommu/platform/coldfire/head.S
arch/microblaze/include/asm/irqflags.h
arch/mips/include/asm/irqflags.h
arch/mips/kernel/smtc.c
arch/mn10300/include/asm/irqflags.h [new file with mode: 0644]
arch/mn10300/include/asm/system.h
arch/mn10300/kernel/entry.S
arch/parisc/include/asm/irqflags.h [new file with mode: 0644]
arch/parisc/include/asm/system.h
arch/powerpc/include/asm/hw_irq.h
arch/powerpc/include/asm/irqflags.h
arch/powerpc/kernel/exceptions-64s.S
arch/powerpc/kernel/irq.c
arch/s390/include/asm/irqflags.h
arch/s390/include/asm/system.h
arch/s390/kernel/mem_detect.c
arch/s390/mm/init.c
arch/s390/mm/maccess.c
arch/score/include/asm/irqflags.h
arch/sh/include/asm/irqflags.h
arch/sh/kernel/irq_32.c
arch/sparc/include/asm/irqflags_32.h
arch/sparc/include/asm/irqflags_64.h
arch/sparc/kernel/irq_32.c
arch/sparc/prom/p1275.c
arch/tile/include/asm/irqflags.h
arch/x86/include/asm/irqflags.h
arch/x86/include/asm/paravirt.h
arch/x86/xen/spinlock.c
arch/xtensa/include/asm/irqflags.h [new file with mode: 0644]
arch/xtensa/include/asm/system.h
drivers/s390/char/sclp.c
include/asm-generic/atomic.h
include/asm-generic/cmpxchg-local.h
include/asm-generic/hardirq.h
include/asm-generic/irqflags.h
include/linux/irqflags.h
include/linux/spinlock.h
This page took 0.131054 seconds and 4 git commands to generate.