Skip to content

Commit

Permalink
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/gi…
Browse files Browse the repository at this point in the history
…t/rusty/linux-2.6-cpumask into cpus4096-v2
  • Loading branch information
Ingo Molnar committed Jan 3, 2009
2 parents 7eb1955 + 5ece5c5 commit e465b53
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 0 deletions.
1 change: 1 addition & 0 deletions arch/cris/include/asm/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,7 @@ static inline int test_and_change_bit(int nr, volatile unsigned long *addr)
#define ffs kernel_ffs

#include <asm-generic/bitops/fls.h>
#include <asm-generic/bitops/__fls.h>
#include <asm-generic/bitops/fls64.h>
#include <asm-generic/bitops/hweight.h>
#include <asm-generic/bitops/find.h>
Expand Down
1 change: 1 addition & 0 deletions arch/h8300/include/asm/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,7 @@ static __inline__ unsigned long __ffs(unsigned long word)
#endif /* __KERNEL__ */

#include <asm-generic/bitops/fls.h>
#include <asm-generic/bitops/__fls.h>
#include <asm-generic/bitops/fls64.h>

#endif /* _H8300_BITOPS_H */
13 changes: 13 additions & 0 deletions include/asm-frv/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,19 @@ int __ffs(unsigned long x)
return 31 - bit;
}

/**
* __fls - find last (most-significant) set bit in a long word
* @word: the word to search
*
* Undefined if no set bit exists, so code should check against 0 first.
*/
static inline unsigned long __fls(unsigned long word)
{
unsigned long bit;
asm("scan %1,gr0,%0" : "=r"(bit) : "r"(word));
return bit;
}

/*
* special slimline version of fls() for calculating ilog2_u32()
* - note: no protection against n == 0
Expand Down
1 change: 1 addition & 0 deletions include/asm-m32r/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,7 @@ static __inline__ int test_and_change_bit(int nr, volatile void * addr)
#include <asm-generic/bitops/ffz.h>
#include <asm-generic/bitops/__ffs.h>
#include <asm-generic/bitops/fls.h>
#include <asm-generic/bitops/__fls.h>
#include <asm-generic/bitops/fls64.h>

#ifdef __KERNEL__
Expand Down
11 changes: 11 additions & 0 deletions include/asm-mn10300/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,17 @@ int fls(int x)
return (x != 0) ? __ilog2_u32(x) + 1 : 0;
}

/**
* __fls - find last (most-significant) set bit in a long word
* @word: the word to search
*
* Undefined if no set bit exists, so code should check against 0 first.
*/
static inline unsigned long __fls(unsigned long word)
{
return __ilog2_u32(word);
}

/**
* ffs - find first bit set
* @x: the word to search
Expand Down
11 changes: 11 additions & 0 deletions include/asm-xtensa/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,16 @@ static inline int fls (unsigned int x)
return 32 - __cntlz(x);
}

/**
* __fls - find last (most-significant) set bit in a long word
* @word: the word to search
*
* Undefined if no set bit exists, so code should check against 0 first.
*/
static inline unsigned long __fls(unsigned long word)
{
return 31 - __cntlz(word);
}
#else

/* Use the generic implementation if we don't have the nsa/nsau instructions. */
Expand All @@ -90,6 +100,7 @@ static inline int fls (unsigned int x)
# include <asm-generic/bitops/__ffs.h>
# include <asm-generic/bitops/ffz.h>
# include <asm-generic/bitops/fls.h>
# include <asm-generic/bitops/__fls.h>

#endif

Expand Down

0 comments on commit e465b53

Please sign in to comment.