]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/s390/cio/io_sch.h
[S390] cio: inline assembly cleanup
[net-next-2.6.git] / drivers / s390 / cio / io_sch.h
index 3f8f1cf69c76d9082d3bad69d37d2a1dc0f5d123..c4f3e7c9a85482996dbd41b4249651d108be2e4f 100644 (file)
@@ -123,7 +123,7 @@ struct ccw_device_private {
        void *cmb_wait;                 /* deferred cmb enable/disable */
 };
 
-static inline int ssch(struct subchannel_id schid, volatile union orb *addr)
+static inline int ssch(struct subchannel_id schid, union orb *addr)
 {
        register struct subchannel_id reg1 asm("1") = schid;
        int ccode = -EIO;
@@ -134,7 +134,9 @@ static inline int ssch(struct subchannel_id schid, volatile union orb *addr)
                "       srl     %0,28\n"
                "1:\n"
                EX_TABLE(0b, 1b)
-               : "+d" (ccode) : "d" (reg1), "a" (addr), "m" (*addr) : "cc");
+               : "+d" (ccode)
+               : "d" (reg1), "a" (addr), "m" (*addr)
+               : "cc", "memory");
        return ccode;
 }
 
@@ -147,7 +149,9 @@ static inline int rsch(struct subchannel_id schid)
                "       rsch\n"
                "       ipm     %0\n"
                "       srl     %0,28"
-               : "=d" (ccode) : "d" (reg1) : "cc");
+               : "=d" (ccode)
+               : "d" (reg1)
+               : "cc", "memory");
        return ccode;
 }
 
@@ -160,7 +164,9 @@ static inline int csch(struct subchannel_id schid)
                "       csch\n"
                "       ipm     %0\n"
                "       srl     %0,28"
-               : "=d" (ccode) : "d" (reg1) : "cc");
+               : "=d" (ccode)
+               : "d" (reg1)
+               : "cc");
        return ccode;
 }
 
@@ -173,7 +179,9 @@ static inline int hsch(struct subchannel_id schid)
                "       hsch\n"
                "       ipm     %0\n"
                "       srl     %0,28"
-               : "=d" (ccode) : "d" (reg1) : "cc");
+               : "=d" (ccode)
+               : "d" (reg1)
+               : "cc");
        return ccode;
 }
 
@@ -186,7 +194,9 @@ static inline int xsch(struct subchannel_id schid)
                "       .insn   rre,0xb2760000,%1,0\n"
                "       ipm     %0\n"
                "       srl     %0,28"
-               : "=d" (ccode) : "d" (reg1) : "cc");
+               : "=d" (ccode)
+               : "d" (reg1)
+               : "cc");
        return ccode;
 }