Skip to content

Commit

Permalink
[PATCH] bitops: generic ext2_{set,clear}_bit_atomic()
Browse files Browse the repository at this point in the history
This patch introduces the C-language equivalents of the functions below:

int ext2_set_bit_atomic(int nr, volatile unsigned long *addr);
int ext2_clear_bit_atomic(int nr, volatile unsigned long *addr);

In include/asm-generic/bitops/ext2-atomic.h

This code largely copied from: include/asm-sparc/bitops.h

Signed-off-by: Akinobu Mita <mita@miraclelinux.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Akinobu Mita authored and Linus Torvalds committed Mar 26, 2006
1 parent 930ae74 commit 765f34f
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions include/asm-generic/bitops/ext2-atomic.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#ifndef _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_
#define _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_

#define ext2_set_bit_atomic(lock, nr, addr) \
({ \
int ret; \
spin_lock(lock); \
ret = ext2_set_bit((nr), (unsigned long *)(addr)); \
spin_unlock(lock); \
ret; \
})

#define ext2_clear_bit_atomic(lock, nr, addr) \
({ \
int ret; \
spin_lock(lock); \
ret = ext2_clear_bit((nr), (unsigned long *)(addr)); \
spin_unlock(lock); \
ret; \
})

#endif /* _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_ */

0 comments on commit 765f34f

Please sign in to comment.