Re: [PATCH][v850] Add find_next_bit for v850

Nick Piggin
2004-06-25T07:06:35Z

Miles Bader wrote:
> [Since many archs use the same implementation of find_next_bit, it might
> be nice to have `generic_find_next_bit' or something.]
>
> Signed-off-by: Miles Bader <miles@gnu.org>
>
> include/asm-v850/bitops.h | 76 ++++++++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 76 insertions(+)
>
> diff -ruN -X../cludes linux-2.6.7-uc0/include/asm-v850/bitops.h linux-2.6.7-uc0-v850-20040625/include/asm-v850/bitops.h
> --- linux-2.6.7-uc0/include/asm-v850/bitops.h 2004-05-11 13:20:53.000000000 +0900
> +++ linux-2.6.7-uc0-v850-20040625/include/asm-v850/bitops.h 2004-06-25 14:24:08.000000000 +0900
> @@ -193,10 +193,86 @@
> return result + ffz (tmp);
> }
>
> +
> +/* This is the same as generic_ffs, but we can't use that because it's
> + inline and the #include order mucks things up. */
> +static inline int generic_ffs_for_find_next_bit(int x)
> +{
> + int r = 1;
> +
> + if (!x)
> + return 0;
> + if (!(x & 0xffff)) {
> + x >>= 16;
> + r += 16;
> + }
> + if (!(x & 0xff)) {
> + x >>= 8;
> + r += 8;
> + }
> + if (!(x & 0xf)) {
> + x >>= 4;
> + r += 4;
> + }
> + if (!(x & 3)) {
> + x >>= 2;
> + r += 2;
> + }
> + if (!(x & 1)) {
> + x >>= 1;
> + r += 1;
> + }
> + return r;
> +}
> +
> +/*
> + * Find next one bit in a bitmap reasonably efficiently.
> + */
> +static __inline__ unsigned long find_next_bit(const unsigned long *addr,

This probably shouldn't be inline.