Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / include / asm-generic / bitops / ext2-atomic.h
diff --git a/kernel/include/asm-generic/bitops/ext2-atomic.h b/kernel/include/asm-generic/bitops/ext2-atomic.h
new file mode 100644 (file)
index 0000000..87f0f10
--- /dev/null
@@ -0,0 +1,26 @@
+#ifndef _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_
+#define _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_
+
+/*
+ * Spinlock based version of ext2 atomic bitops
+ */
+
+#define ext2_set_bit_atomic(lock, nr, addr)            \
+       ({                                              \
+               int ret;                                \
+               spin_lock(lock);                        \
+               ret = __test_and_set_bit_le(nr, addr);  \
+               spin_unlock(lock);                      \
+               ret;                                    \
+       })
+
+#define ext2_clear_bit_atomic(lock, nr, addr)          \
+       ({                                              \
+               int ret;                                \
+               spin_lock(lock);                        \
+               ret = __test_and_clear_bit_le(nr, addr);        \
+               spin_unlock(lock);                      \
+               ret;                                    \
+       })
+
+#endif /* _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_ */