diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2013-01-31 13:53:12 -0500 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-02-14 09:55:16 -0500 |
commit | bf4ec24ff8ab54d56c835eb61212a1e87270d7c8 (patch) | |
tree | 55bdbf0d137cbfe09bb9b566980a25cd963a57e6 /arch/s390 | |
parent | 151a0eb6c8e4398f76453c791d8fd8f8167a7517 (diff) |
s390/pci: cleanup clp inline assembly
Tell gcc that the memory region pointed to by req will be used (and
changed). Also remove the (now) superfluous memory constraint.
Acked-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/pci/pci_clp.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/s390/pci/pci_clp.c b/arch/s390/pci/pci_clp.c index 2c847143cbd1..702bd2693689 100644 --- a/arch/s390/pci/pci_clp.c +++ b/arch/s390/pci/pci_clp.c | |||
@@ -19,18 +19,19 @@ | |||
19 | * Call Logical Processor | 19 | * Call Logical Processor |
20 | * Retry logic is handled by the caller. | 20 | * Retry logic is handled by the caller. |
21 | */ | 21 | */ |
22 | static inline u8 clp_instr(void *req) | 22 | static inline u8 clp_instr(void *data) |
23 | { | 23 | { |
24 | u64 ilpm; | 24 | struct { u8 _[CLP_BLK_SIZE]; } *req = data; |
25 | u64 ignored; | ||
25 | u8 cc; | 26 | u8 cc; |
26 | 27 | ||
27 | asm volatile ( | 28 | asm volatile ( |
28 | " .insn rrf,0xb9a00000,%[ilpm],%[req],0x0,0x2\n" | 29 | " .insn rrf,0xb9a00000,%[ign],%[req],0x0,0x2\n" |
29 | " ipm %[cc]\n" | 30 | " ipm %[cc]\n" |
30 | " srl %[cc],28\n" | 31 | " srl %[cc],28\n" |
31 | : [cc] "=d" (cc), [ilpm] "=d" (ilpm) | 32 | : [cc] "=d" (cc), [ign] "=d" (ignored), "+m" (*req) |
32 | : [req] "a" (req) | 33 | : [req] "a" (req) |
33 | : "cc", "memory"); | 34 | : "cc"); |
34 | return cc; | 35 | return cc; |
35 | } | 36 | } |
36 | 37 | ||