]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
s390/irq: Convert to use flag output macros
authorHeiko Carstens <hca@linux.ibm.com>
Thu, 7 Nov 2024 15:11:43 +0000 (16:11 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Wed, 13 Nov 2024 13:31:32 +0000 (14:31 +0100)
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>
arch/s390/kernel/irq.c

index 2639a3d12736a81d94c5d712ac52b6bceea5d1ae..24b625c1d35b326e880ce25aeb18fd08cda27275 100644 (file)
@@ -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)