Re: [PATCH 7/7] Fix IRQ flag handling naming

From: Thomas Gleixner
Date: Thu Aug 26 2010 - 12:00:44 EST


On Thu, 26 Aug 2010, David Howells wrote:

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

Nice one.

> [Note that this patch only alters X86, FRV, MN10300, ARM and Blackfin at the
> moment. The other arches will need altering too as part of this patch].
>
> Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
> Tested-by: Catalin Marinas <catalin.marinas@xxxxxxx>

Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/