From: Heiko Carstens Date: Thu, 7 Nov 2024 15:11:44 +0000 (+0100) Subject: s390/diag: Convert to use flag output macros X-Git-Tag: v6.13-rc1~206^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a6122f690af6deefc67cc95a7d8139e63bdbdb39;p=thirdparty%2Fkernel%2Flinux.git s390/diag: 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 Signed-off-by: Heiko Carstens --- diff --git a/arch/s390/kernel/diag.c b/arch/s390/kernel/diag.c index 007e1795670e8..cdd6e31344fa6 100644 --- a/arch/s390/kernel/diag.c +++ b/arch/s390/kernel/diag.c @@ -16,6 +16,7 @@ #include #include #include +#include #include "entry.h" struct diag_stat { @@ -307,16 +308,15 @@ EXPORT_SYMBOL(diag26c); int diag49c(unsigned long subcode) { - int rc; + int cc; diag_stat_inc(DIAG_STAT_X49C); asm volatile( " diag %[subcode],0,0x49c\n" - " ipm %[rc]\n" - " srl %[rc],28\n" - : [rc] "=d" (rc) + CC_IPM(cc) + : CC_OUT(cc, cc) : [subcode] "d" (subcode) - : "cc"); - return rc; + : CC_CLOBBER); + return CC_TRANSFORM(cc); } EXPORT_SYMBOL(diag49c);