diff options
author | Heiko Carstens <hca@linux.ibm.com> | 2024-11-07 18:11:43 +0300 |
---|---|---|
committer | Heiko Carstens <hca@linux.ibm.com> | 2024-11-13 16:31:32 +0300 |
commit | 5a5897d65b6f7b3c0f2dd39dcffa9b08317942a9 (patch) | |
tree | 1f48f79d0de201d5b1a77de6e457a836723167e7 /arch/s390 | |
parent | 553ed6d88a31fce30656ae5dab50a2f0625f9008 (diff) | |
download | linux-5a5897d65b6f7b3c0f2dd39dcffa9b08317942a9.tar.xz |
s390/irq: Convert to use flag output macros
Use flag output macros in inline asm to allow for better code generation if
the compiler has support for the flag output constraint.
Reviewed-by: Juergen Christ <jchrist@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/kernel/irq.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c index 2639a3d12736..24b625c1d35b 100644 --- a/arch/s390/kernel/irq.c +++ b/arch/s390/kernel/irq.c @@ -30,6 +30,7 @@ #include <asm/stacktrace.h> #include <asm/softirq_stack.h> #include <asm/vtime.h> +#include <asm/asm.h> #include "entry.h" DEFINE_PER_CPU_SHARED_ALIGNED(struct irq_stat, irq_stat); @@ -129,9 +130,13 @@ static int irq_pending(struct pt_regs *regs) { int cc; - asm volatile("tpi 0\n" - "ipm %0" : "=d" (cc) : : "cc"); - return cc >> 28; + asm volatile( + " tpi 0\n" + CC_IPM(cc) + : CC_OUT(cc, cc) + : + : CC_CLOBBER); + return CC_TRANSFORM(cc); } void noinstr do_io_irq(struct pt_regs *regs) |