]> rtime.felk.cvut.cz Git - mcf548x/linux.git/blobdiff - arch/m68k/include/asm/atomic.h
Various compilation fixes.
[mcf548x/linux.git] / arch / m68k / include / asm / atomic.h
index 3269a1305d23c3895deed1285159fe7c8d5d76df..6c6e0c3374bfa9d50a075bab704ff3740a48ee56 100644 (file)
@@ -55,6 +55,13 @@ static inline int atomic_dec_and_test(atomic_t *v)
        return c != 0;
 }
 
+static inline int atomic_dec_and_test_lt(volatile atomic_t *v)
+{
+       char c;
+       __asm__ __volatile__("subql #1,%1; seq %0" : "=d" (c), "=m" (*v));
+       return c != 0;
+}
+
 static inline int atomic_inc_and_test(atomic_t *v)
 {
        char c;
@@ -62,6 +69,13 @@ static inline int atomic_inc_and_test(atomic_t *v)
        return c != 0;
 }
 
+static inline int atomic_inc_and_test_lt(volatile atomic_t *v)
+{
+       char c;
+       __asm__ __volatile__("addql #1,%1; seq %0" : "=d" (c), "=m" (*v));
+       return c != 0;
+}
+
 #ifdef CONFIG_RMW_INSNS
 
 static inline int atomic_add_return(int i, atomic_t *v)