s390: uatomic add missing inline and other { }
[urcu.git] / urcu / uatomic_arch_s390.h
index 6b4e17eb78ad7cda400a0cae63e24f863502ea89..f8e8dffa6c04e5d2e74599fea8b3c9c11dddf8f4 100644 (file)
 #define uatomic_read(addr)     LOAD_SHARED(*(addr))
 
 /* xchg */
+
+static inline __attribute__((always_inline))
 unsigned long _uatomic_exchange(volatile void *addr, unsigned long val, int len)
 {
        switch (len) {
        case 4:
+       {
                unsigned int old_val;
 
                __asm__ __volatile__(
@@ -60,8 +63,10 @@ unsigned long _uatomic_exchange(volatile void *addr, unsigned long val, int len)
                        : "=&r"(old_val), "=m" (*addr)
                        : "r"(val), "m" (*addr)
                        : "memory", "cc");
+       }
 #if (BITS_PER_LONG == 64)
        case 8:
+       {
                unsigned long old_val;
 
                __asm__ __volatile__(
@@ -70,6 +75,7 @@ unsigned long _uatomic_exchange(volatile void *addr, unsigned long val, int len)
                        : "=&r"(old_val), "=m" (*addr)
                        : "r"(val), "m" (*addr)
                        : "memory", "cc");
+       }
 #endif
        default:
                __asm__ __volatile__(".long     0xd00d00");
@@ -90,6 +96,7 @@ unsigned long _uatomic_cmpxchg(void *addr, unsigned long old,
 {
        switch (len) {
        case 4:
+       {
                unsigned int old_val = (unsigned int)old;
 
                __asm__ __volatile__(
@@ -98,14 +105,17 @@ unsigned long _uatomic_cmpxchg(void *addr, unsigned long old,
                        : "r"(new)
                        : "memory", "cc");
                return old_val;
+       }
 #if (BITS_PER_LONG == 64)
        case 8:
+       {
                __asm__ __volatile__(
                        "       csg %0,%2,%1\n"
                        : "+r"(old), "+m"(*addr)
                        : "r"(new)
                        : "memory", "cc");
                return old;
+       }
 #endif
        default:
                __asm__ __volatile__(".long     0xd00d00");
This page took 0.02378 seconds and 4 git commands to generate.