]> git.baikalelectronics.ru Git - kernel.git/commitdiff
s390/hypfs: use register pair instead of register asm
authorHeiko Carstens <hca@linux.ibm.com>
Thu, 17 Jun 2021 08:26:57 +0000 (10:26 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Mon, 28 Jun 2021 09:18:28 +0000 (11:18 +0200)
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/hypfs/hypfs_sprp.c

index 7d9fb496d155b3dafdc6ffe6154bc063334fd7c8..f5f7e78ddc0c8deee7795818c2633c227f4f427c 100644 (file)
 
 static inline unsigned long __hypfs_sprp_diag304(void *data, unsigned long cmd)
 {
-       register unsigned long _data asm("2") = (unsigned long) data;
-       register unsigned long _rc asm("3");
-       register unsigned long _cmd asm("4") = cmd;
+       union register_pair r1 = { .even = (unsigned long)data, };
 
-       asm volatile("diag %1,%2,0x304\n"
-                    : "=d" (_rc) : "d" (_data), "d" (_cmd) : "memory");
-
-       return _rc;
+       asm volatile("diag %[r1],%[r3],0x304\n"
+                    : [r1] "+&d" (r1.pair)
+                    : [r3] "d" (cmd)
+                    : "memory");
+       return r1.odd;
 }
 
 static unsigned long hypfs_sprp_diag304(void *data, unsigned long cmd)