X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-s390%2Fspinlock.h;fp=include%2Fasm-s390%2Fspinlock.h;h=bc7a8471cd5e4e1738c321f69d0c9c351bdc721a;hb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;hp=4c3b6aadbefd12dd0f11a376478d9746639d11b7;hpb=c449269f45c2cdf53af08c8d0af37472f66539d9;p=linux-2.6.git diff --git a/include/asm-s390/spinlock.h b/include/asm-s390/spinlock.h index 4c3b6aadb..bc7a8471c 100644 --- a/include/asm-s390/spinlock.h +++ b/include/asm-s390/spinlock.h @@ -42,12 +42,13 @@ typedef struct { #define spin_lock_init(lp) do { (lp)->lock = 0; } while(0) #define spin_unlock_wait(lp) do { barrier(); } while(((volatile spinlock_t *)(lp))->lock) #define spin_is_locked(x) ((x)->lock != 0) +#define _raw_spin_lock_flags(lock, flags) _raw_spin_lock(lock) extern inline void _raw_spin_lock(spinlock_t *lp) { #ifndef __s390x__ unsigned int reg1, reg2; - __asm__ __volatile(" bras %0,1f\n" + __asm__ __volatile__(" bras %0,1f\n" "0: diag 0,0,68\n" "1: slr %1,%1\n" " cs %1,%0,0(%3)\n" @@ -57,7 +58,7 @@ extern inline void _raw_spin_lock(spinlock_t *lp) : "cc", "memory" ); #else /* __s390x__ */ unsigned long reg1, reg2; - __asm__ __volatile(" bras %1,1f\n" + __asm__ __volatile__(" bras %1,1f\n" "0: " __DIAG44_INSN " 0,%4\n" "1: slr %0,%0\n" " cs %0,%1,0(%3)\n" @@ -73,7 +74,7 @@ extern inline int _raw_spin_trylock(spinlock_t *lp) unsigned long reg; unsigned int result; - __asm__ __volatile(" basr %1,0\n" + __asm__ __volatile__(" basr %1,0\n" "0: cs %0,%1,0(%3)" : "=d" (result), "=&d" (reg), "=m" (lp->lock) : "a" (&lp->lock), "m" (lp->lock), "0" (0) @@ -85,7 +86,7 @@ extern inline void _raw_spin_unlock(spinlock_t *lp) { unsigned int old; - __asm__ __volatile("cs %0,%3,0(%4)" + __asm__ __volatile__("cs %0,%3,0(%4)" : "=d" (old), "=m" (lp->lock) : "0" (lp->lock), "d" (0), "a" (lp) : "cc", "memory" );