s390/pci: cleanup clp inline assembly
authorSebastian Ott <sebott@linux.vnet.ibm.com>
Thu, 31 Jan 2013 18:53:12 +0000 (19:53 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 14 Feb 2013 14:55:16 +0000 (15:55 +0100)
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>
arch/s390/pci/pci_clp.c

index 2c847143cbd17d742f9969f56f35e62dfca750d6..702bd2693689acc99ab59202d2b1ea2222cf16ac 100644 (file)
  * Call Logical Processor
  * Retry logic is handled by the caller.
  */
-static inline u8 clp_instr(void *req)
+static inline u8 clp_instr(void *data)
 {
-       u64 ilpm;
+       struct { u8 _[CLP_BLK_SIZE]; } *req = data;
+       u64 ignored;
        u8 cc;
 
        asm volatile (
-               "       .insn   rrf,0xb9a00000,%[ilpm],%[req],0x0,0x2\n"
+               "       .insn   rrf,0xb9a00000,%[ign],%[req],0x0,0x2\n"
                "       ipm     %[cc]\n"
                "       srl     %[cc],28\n"
-               : [cc] "=d" (cc), [ilpm] "=d" (ilpm)
+               : [cc] "=d" (cc), [ign] "=d" (ignored), "+m" (*req)
                : [req] "a" (req)
-               : "cc", "memory");
+               : "cc");
        return cc;
 }