diff options
Diffstat (limited to 'drivers/s390/s390mach.h')
-rw-r--r-- | drivers/s390/s390mach.h | 17 |
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 | ||
91 | static inline int stcrw(struct crw *pcrw ) | 91 | static 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 */ |