lkml.org 
[lkml]   [2006]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 16/44] generic ext2_{set,clear}_bit_atomic()
    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>
    include/asm-generic/bitops/ext2-atomic.h | 22 ++++++++++++++++++++++
    1 files changed, 22 insertions(+)

    Index: 2.6-git/include/asm-generic/bitops/ext2-atomic.h
    ===================================================================
    --- /dev/null
    +++ 2.6-git/include/asm-generic/bitops/ext2-atomic.h
    @@ -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_ */
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-02-01 10:28    [W:4.018 / U:1.428 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site