Messages in this thread Patch in this message | | | From | Daniel Wagner <> | Subject | [RFC] um: Use asm-generic/irqflags.h | Date | Thu, 12 May 2016 11:48:38 +0200 |
| |
From: Daniel Wagner <daniel.wagner@bmw-carit.de>
Instead proving its own arch_local_irq_save() and arch_irqs_disabled() version use the generic version from asm-generic/irqflags.h.
A nice side effect is that um gets a few additional arch_ functions as well.
One problem though is the include for the signals. I could figured out which header file to pick without trigger a bunch of header include clashes. Leaving it away works though it is surely not the best practice.
Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de> --- arch/um/include/asm/irqflags.h | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/arch/um/include/asm/irqflags.h b/arch/um/include/asm/irqflags.h index c780d8a..71c2d64 100644 --- a/arch/um/include/asm/irqflags.h +++ b/arch/um/include/asm/irqflags.h @@ -6,37 +6,35 @@ extern int set_signals(int enable); extern void block_signals(void); extern void unblock_signals(void); +#define arch_local_save_flags arch_local_save_flags static inline unsigned long arch_local_save_flags(void) { return get_signals(); } +#define arch_local_irq_restore arch_local_irq_restore static inline void arch_local_irq_restore(unsigned long flags) { set_signals(flags); } +#define arch_local_irq_enable arch_local_irq_enable static inline void arch_local_irq_enable(void) { unblock_signals(); } +#define arch_local_irq_disable arch_local_irq_disable static inline void arch_local_irq_disable(void) { block_signals(); } -static inline unsigned long arch_local_irq_save(void) -{ - unsigned long flags; - flags = arch_local_save_flags(); - arch_local_irq_disable(); - return flags; -} +/* #include <uapi/asm/signal.h> */ -static inline bool arch_irqs_disabled(void) -{ - return arch_local_save_flags() == 0; -} +#define ARCH_IRQ_DISABLED 0 +#define ARCh_IRQ_ENABLED (SIGIO|SIGVTALRM) + +#include <asm-generic/irqflags.h> #endif -- 2.5.5
| |