diff options
author | Simon Kagstrom | 2009-09-17 15:15:52 +0200 |
---|---|---|
committer | Wolfgang Denk | 2009-09-17 22:45:31 +0200 |
commit | 0413cfecea350000eab5e591a0965c3e3ee0ff00 (patch) | |
tree | 5375713a0a077db87d0d222ce591800f768a2ca5 | |
parent | 15fba3279b56333bdb65ead366f82c945ed320d1 (diff) |
Correct ffs/fls regression for PowerPC etc
Commits
02f99901ed1c9d828e3ea117f94ce2264bf8389e
52d61227b66d4099b39c8309ab37cb67ee09a405
introduced a regression where platform-specific ffs/fls implementations
were defined away. This patch corrects that by using PLATFORM_xxx
instead of the name itself.
Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Stefan Roese <sr@denx.de>
-rw-r--r-- | include/asm-arm/bitops.h | 8 | ||||
-rw-r--r-- | include/asm-blackfin/bitops.h | 10 | ||||
-rw-r--r-- | include/asm-i386/bitops.h | 2 | ||||
-rw-r--r-- | include/asm-m68k/bitops.h | 2 | ||||
-rw-r--r-- | include/asm-microblaze/bitops.h | 3 | ||||
-rw-r--r-- | include/asm-mips/bitops.h | 13 | ||||
-rw-r--r-- | include/asm-nios/bitops.h | 2 | ||||
-rw-r--r-- | include/asm-nios2/bitops.h | 2 | ||||
-rw-r--r-- | include/asm-ppc/bitops.h | 4 | ||||
-rw-r--r-- | include/asm-sh/bitops.h | 2 | ||||
-rw-r--r-- | include/linux/bitops.h | 8 |
11 files changed, 15 insertions, 41 deletions
diff --git a/include/asm-arm/bitops.h b/include/asm-arm/bitops.h index 3c7b00c48d0..270f163eee3 100644 --- a/include/asm-arm/bitops.h +++ b/include/asm-arm/bitops.h @@ -125,14 +125,6 @@ static inline unsigned long ffz(unsigned long word) } /* - * 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 */ diff --git a/include/asm-blackfin/bitops.h b/include/asm-blackfin/bitops.h index cc3685d35d7..ab1fea55c87 100644 --- a/include/asm-blackfin/bitops.h +++ b/include/asm-blackfin/bitops.h @@ -79,7 +79,7 @@ static __inline__ void __set_bit(int nr, volatile void *addr) mask = 1 << (nr & 0x1f); *a |= mask; } -#define __set_bit +#define PLATFORM__SET_BIT /* * clear_bit() doesn't provide any barrier for the compiler. @@ -270,14 +270,6 @@ static __inline__ int find_next_zero_bit(void *addr, int size, int offset) } /* - * 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 */ diff --git a/include/asm-i386/bitops.h b/include/asm-i386/bitops.h index ac6285aa5f2..c7a38f237a5 100644 --- a/include/asm-i386/bitops.h +++ b/include/asm-i386/bitops.h @@ -349,7 +349,7 @@ static __inline__ int ffs(int x) "1:" : "=r" (r) : "g" (x)); return r+1; } -#define ffs +#define PLATFORM_FFS /** * hweightN - returns the hamming weight of a N-bit word diff --git a/include/asm-m68k/bitops.h b/include/asm-m68k/bitops.h index e0c35fa7b05..ad971b4f31f 100644 --- a/include/asm-m68k/bitops.h +++ b/include/asm-m68k/bitops.h @@ -51,7 +51,7 @@ extern __inline__ int ffs(int x) return r; } #define __ffs(x) (ffs(x) - 1) -#define ffs +#define PLATFORM_FFS #endif /* __KERNEL__ */ diff --git a/include/asm-microblaze/bitops.h b/include/asm-microblaze/bitops.h index aac906102ab..5d814f0eb0e 100644 --- a/include/asm-microblaze/bitops.h +++ b/include/asm-microblaze/bitops.h @@ -23,6 +23,7 @@ extern void __set_bit(int nr, volatile void * addr); extern void clear_bit(int nr, volatile void * addr); #define __clear_bit(nr, addr) clear_bit(nr, addr) +#define PLATFORM__CLEAR_BIT extern void change_bit(int nr, volatile void * addr); extern void __change_bit(int nr, volatile void * addr); @@ -75,7 +76,7 @@ extern __inline__ void __set_bit(int nr, volatile void * addr) mask = 1 << (nr & 0x1f); *a |= mask; } -#define __set_bit +#define PLATFORM__SET_BIT /* * clear_bit() doesn't provide any barrier for the compiler. diff --git a/include/asm-mips/bitops.h b/include/asm-mips/bitops.h index 0c07b686a2d..1c8f4c05003 100644 --- a/include/asm-mips/bitops.h +++ b/include/asm-mips/bitops.h @@ -90,7 +90,7 @@ static __inline__ void __set_bit(int nr, volatile void * addr) *m |= 1UL << (nr & 31); } -#define __set_bit +#define PLATFORM__SET_BIT /* * clear_bit - Clears a bit in memory @@ -706,17 +706,6 @@ static __inline__ unsigned long ffz(unsigned long word) #ifdef __KERNEL__ -/** - * ffs - find first bit set - * @x: the word to search - * - * 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 of a N-bit word * @x: the word to weigh diff --git a/include/asm-nios/bitops.h b/include/asm-nios/bitops.h index 8315fb7caaf..0be74f42b8f 100644 --- a/include/asm-nios/bitops.h +++ b/include/asm-nios/bitops.h @@ -33,6 +33,6 @@ extern int test_and_set_bit(int nr, volatile void * a); extern int test_and_change_bit(int nr, volatile void * addr); extern int test_bit(int nr, volatile void * a); extern int ffs(int i); -#define ffs +#define PLATFORM_FFS #endif /* _ASM_NIOS_BITOPS_H */ diff --git a/include/asm-nios2/bitops.h b/include/asm-nios2/bitops.h index b01a89d63cd..5776bda3e3f 100644 --- a/include/asm-nios2/bitops.h +++ b/include/asm-nios2/bitops.h @@ -33,6 +33,6 @@ extern int test_and_set_bit(int nr, volatile void * a); extern int test_and_change_bit(int nr, volatile void * addr); extern int test_bit(int nr, volatile void * a); extern int ffs(int i); -#define ffs +#define PLATFORM_FFS #endif /* __ASM_NIOS2_BITOPS_H */ diff --git a/include/asm-ppc/bitops.h b/include/asm-ppc/bitops.h index 9ed2f5d6faa..adaf0914921 100644 --- a/include/asm-ppc/bitops.h +++ b/include/asm-ppc/bitops.h @@ -178,7 +178,7 @@ static __inline__ int fls(unsigned int x) { return __ilog2(x) + 1; } -#define fls +#define PLATFORM_FLS /** * fls64 - find last set bit in a 64-bit word @@ -231,7 +231,7 @@ extern __inline__ int ffs(int x) { return __ilog2(x & -x) + 1; } -#define ffs +#define PLATFORM_FFS /* * hweightN: returns the hamming weight (i.e. the number diff --git a/include/asm-sh/bitops.h b/include/asm-sh/bitops.h index 95167bd45ac..c57d6284785 100644 --- a/include/asm-sh/bitops.h +++ b/include/asm-sh/bitops.h @@ -146,7 +146,7 @@ static inline int ffs (int x) } return r; } -#define ffs +#define PLATFORM_FFS #endif /* __KERNEL__ */ diff --git a/include/linux/bitops.h b/include/linux/bitops.h index e14e6c7b14f..e7243102986 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h @@ -111,19 +111,19 @@ static inline unsigned int generic_hweight8(unsigned int w) /* linux/include/asm-generic/bitops/non-atomic.h */ -#ifndef __set_bit +#ifndef PLATFORM__SET_BIT # define __set_bit generic_set_bit #endif -#ifndef __clear_bit +#ifndef PLATFORM__CLEAR_BIT # define __clear_bit generic_clear_bit #endif -#ifndef ffs +#ifndef PLATFORM_FFS # define ffs generic_ffs #endif -#ifndef fls +#ifndef PLATFORM_FLS # define fls generic_fls #endif |