aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/s390/s390mach.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/s390/s390mach.h b/drivers/s390/s390mach.h
index d9ea7ed2e46e..7abb42a09ae2 100644
--- a/drivers/s390/s390mach.h
+++ b/drivers/s390/s390mach.h
@@ -90,15 +90,16 @@ struct crw {
90 90
91static inline int stcrw(struct crw *pcrw ) 91static inline int stcrw(struct crw *pcrw )
92{ 92{
93 int ccode; 93 int ccode;
94 94
95 __asm__ __volatile__( 95 __asm__ __volatile__(
96 "STCRW 0(%1)\n\t" 96 "stcrw 0(%2)\n\t"
97 "IPM %0\n\t" 97 "ipm %0\n\t"
98 "SRL %0,28\n\t" 98 "srl %0,28\n\t"
99 : "=d" (ccode) : "a" (pcrw) 99 : "=d" (ccode), "=m" (*pcrw)
100 : "cc", "1" ); 100 : "a" (pcrw)
101 return ccode; 101 : "cc" );
102 return ccode;
102} 103}
103 104
104#endif /* __s390mach */ 105#endif /* __s390mach */