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 40/44] update include/asm-generic/bitops.h
    Currently include/asm-generic/bitops.h is not referenced from anywhere.
    But it will be the benefit of those who are trying to port Linux to
    another architecture.

    So update it by same manner

    Signed-off-by: Akinobu Mita <mita@miraclelinux.com>
    include/asm-generic/bitops.h | 78 +++++++------------------------------------
    1 files changed, 14 insertions(+), 64 deletions(-)

    Index: 2.6-git/include/asm-generic/bitops.h
    ===================================================================
    --- 2.6-git.orig/include/asm-generic/bitops.h
    +++ 2.6-git/include/asm-generic/bitops.h
    @@ -5,77 +5,27 @@
    * For the benefit of those who are trying to port Linux to another
    * architecture, here are some C-language equivalents. You should
    * recode these in the native assembly language, if at all possible.
    - * To guarantee atomicity, these routines call cli() and sti() to
    - * disable interrupts while they operate. (You have to provide inline
    - * routines to cli() and sti().)
    - *
    - * Also note, these routines assume that you have 32 bit longs.
    - * You will have to change this if you are trying to port Linux to the
    - * Alpha architecture or to a Cray. :-)
    *
    * C language equivalents written by Theodore Ts'o, 9/26/92
    */

    -extern __inline__ int set_bit(int nr,long * addr)
    -{
    - int mask, retval;
    -
    - addr += nr >> 5;
    - mask = 1 << (nr & 0x1f);
    - cli();
    - retval = (mask & *addr) != 0;
    - *addr |= mask;
    - sti();
    - return retval;
    -}
    -
    -extern __inline__ int clear_bit(int nr, long * addr)
    -{
    - int mask, retval;
    -
    - addr += nr >> 5;
    - mask = 1 << (nr & 0x1f);
    - cli();
    - retval = (mask & *addr) != 0;
    - *addr &= ~mask;
    - sti();
    - return retval;
    -}
    -
    -extern __inline__ int test_bit(int nr, const unsigned long * addr)
    -{
    - int mask;
    -
    - addr += nr >> 5;
    - mask = 1 << (nr & 0x1f);
    - return ((mask & *addr) != 0);
    -}
    -
    -/*
    - * fls: find last bit set.
    - */
    -
    -#define fls(x) generic_fls(x)
    -#define fls64(x) generic_fls64(x)
    +#include <asm-generic/bitops/atomic.h>
    +#include <asm-generic/bitops/non-atomic.h>
    +#include <asm-generic/bitops/__ffs.h>
    +#include <asm-generic/bitops/ffz.h>
    +#include <asm-generic/bitops/fls.h>
    +#include <asm-generic/bitops/fls64.h>
    +#include <asm-generic/bitops/find.h>

    #ifdef __KERNEL__

    -/*
    - * ffs: find first bit set. This is defined the same way as
    - * the libc and compiler builtin ffs routines, therefore
    - * differs in spirit from the above ffz (man ffs).
    - */
    -
    -#define ffs(x) generic_ffs(x)
    -
    -/*
    - * hweightN: returns the hamming weight (i.e. the number
    - * of bits set) of a N-bit word
    - */
    -
    -#define hweight32(x) generic_hweight32(x)
    -#define hweight16(x) generic_hweight16(x)
    -#define hweight8(x) generic_hweight8(x)
    +#include <asm-generic/bitops/sched.h>
    +#include <asm-generic/bitops/ffs.h>
    +#include <asm-generic/bitops/hweight.h>
    +
    +#include <asm-generic/bitops/ext2-non-atomic.h>
    +#include <asm-generic/bitops/ext2-atomic.h>
    +#include <asm-generic/bitops/minix.h>

    #endif /* __KERNEL__ */

    --
    -
    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:08    [W:2.382 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site