[S390] raw_local_save_flags/raw_local_irq_restore type check
Make sure that raw_local_save_flags and raw_local_irq_restore always get an unsigned long parameter. raw_irqs_disabled should call raw_local_save_flags instead of local_save_flags. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
f4a10b211d
commit
63f4f9e128
|
@ -26,15 +26,21 @@
|
||||||
})
|
})
|
||||||
|
|
||||||
#define raw_local_save_flags(x) \
|
#define raw_local_save_flags(x) \
|
||||||
__asm__ __volatile__("stosm 0(%1),0" : "=m" (x) : "a" (&x), "m" (x) )
|
do { \
|
||||||
|
typecheck(unsigned long, x); \
|
||||||
|
__asm__ __volatile__("stosm 0(%1),0" : "=m" (x) : "a" (&x), "m" (x) ); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#define raw_local_irq_restore(x) \
|
#define raw_local_irq_restore(x) \
|
||||||
__asm__ __volatile__("ssm 0(%0)" : : "a" (&x), "m" (x) : "memory")
|
do { \
|
||||||
|
typecheck(unsigned long, x); \
|
||||||
|
__asm__ __volatile__("ssm 0(%0)" : : "a" (&x), "m" (x) : "memory"); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#define raw_irqs_disabled() \
|
#define raw_irqs_disabled() \
|
||||||
({ \
|
({ \
|
||||||
unsigned long flags; \
|
unsigned long flags; \
|
||||||
local_save_flags(flags); \
|
raw_local_save_flags(flags); \
|
||||||
!((flags >> __FLAG_SHIFT) & 3); \
|
!((flags >> __FLAG_SHIFT) & 3); \
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue