* [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions @ 2016-08-28 14:55 ` chengang 0 siblings, 0 replies; 16+ messages in thread From: chengang @ 2016-08-28 14:55 UTC (permalink / raw) To: akpm Cc: minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias, davem, cmetcalf, chris, jcmvbkbc, arnd, noamc, brueckner, mingo, peterz, linux-arch, Chen Gang From: Chen Gang <gang.chen.5i5j@gmail.com> Also use the same changing to asm-generic, and also use bool variable instead of int variable for mips, mn10300, parisc and tile related functions, and also avoid checkpatch.pl to report ERROR. Include linux/types.h for alpha, arm, arm64, m68k, and openrisc to pass building. Originally, except powerpc and xtensa, all another architectures intend to return 0 or 1. After this patch, also let powerpc and xtensa return 0 or 1. Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com> --- arch/alpha/include/asm/bitops.h | 17 +++++++++-------- arch/arc/include/asm/bitops.h | 10 +++++----- arch/arm/include/asm/bitops.h | 13 +++++++------ arch/arm64/include/asm/bitops.h | 7 ++++--- arch/avr32/include/asm/bitops.h | 6 +++--- arch/blackfin/include/asm/bitops.h | 16 ++++++++-------- arch/frv/include/asm/bitops.h | 16 ++++++++-------- arch/h8300/include/asm/bitops.h | 4 ++-- arch/hexagon/include/asm/bitops.h | 14 +++++++------- arch/ia64/include/asm/bitops.h | 14 +++++++------- arch/m32r/include/asm/bitops.h | 6 +++--- arch/m68k/include/asm/bitops.h | 21 +++++++++++---------- arch/metag/include/asm/bitops.h | 6 +++--- arch/mips/include/asm/bitops.h | 16 ++++++++-------- arch/mips/lib/bitops.c | 16 ++++++++-------- arch/mn10300/include/asm/bitops.h | 7 ++++--- arch/openrisc/include/asm/bitops.h | 1 + arch/parisc/include/asm/bitops.h | 16 ++++++++-------- arch/powerpc/include/asm/bitops.h | 10 +++++----- arch/s390/include/asm/bitops.h | 18 +++++++++--------- arch/sh/include/asm/bitops-cas.h | 6 +++--- arch/sh/include/asm/bitops-grb.h | 6 +++--- arch/sh/include/asm/bitops-llsc.h | 6 +++--- arch/sh/include/asm/bitops-op32.h | 8 ++++---- arch/sparc/include/asm/bitops_32.h | 6 +++--- arch/sparc/include/asm/bitops_64.h | 6 +++--- arch/tile/include/asm/bitops_32.h | 6 +++--- arch/tile/include/asm/bitops_64.h | 10 +++++----- arch/xtensa/include/asm/bitops.h | 6 +++--- include/asm-generic/bitops/atomic.h | 6 +++--- include/asm-generic/bitops/le.h | 10 +++++----- include/asm-generic/bitops/non-atomic.h | 8 ++++---- 32 files changed, 162 insertions(+), 156 deletions(-) diff --git a/arch/alpha/include/asm/bitops.h b/arch/alpha/include/asm/bitops.h index 4bdfbd4..789b2bb 100644 --- a/arch/alpha/include/asm/bitops.h +++ b/arch/alpha/include/asm/bitops.h @@ -6,6 +6,7 @@ #endif #include <asm/compiler.h> +#include <linux/types.h> #include <asm/barrier.h> /* @@ -125,7 +126,7 @@ __change_bit(unsigned long nr, volatile void * addr) *m ^= 1 << (nr & 31); } -static inline int +static inline bool test_and_set_bit(unsigned long nr, volatile void *addr) { unsigned long oldbit; @@ -155,7 +156,7 @@ test_and_set_bit(unsigned long nr, volatile void *addr) return oldbit != 0; } -static inline int +static inline bool test_and_set_bit_lock(unsigned long nr, volatile void *addr) { unsigned long oldbit; @@ -185,7 +186,7 @@ test_and_set_bit_lock(unsigned long nr, volatile void *addr) /* * WARNING: non atomic version. */ -static inline int +static inline bool __test_and_set_bit(unsigned long nr, volatile void * addr) { unsigned long mask = 1 << (nr & 0x1f); @@ -196,7 +197,7 @@ __test_and_set_bit(unsigned long nr, volatile void * addr) return (old & mask) != 0; } -static inline int +static inline bool test_and_clear_bit(unsigned long nr, volatile void * addr) { unsigned long oldbit; @@ -229,7 +230,7 @@ test_and_clear_bit(unsigned long nr, volatile void * addr) /* * WARNING: non atomic version. */ -static inline int +static inline bool __test_and_clear_bit(unsigned long nr, volatile void * addr) { unsigned long mask = 1 << (nr & 0x1f); @@ -240,7 +241,7 @@ __test_and_clear_bit(unsigned long nr, volatile void * addr) return (old & mask) != 0; } -static inline int +static inline bool test_and_change_bit(unsigned long nr, volatile void * addr) { unsigned long oldbit; @@ -271,7 +272,7 @@ test_and_change_bit(unsigned long nr, volatile void * addr) /* * WARNING: non atomic version. */ -static __inline__ int +static __inline__ bool __test_and_change_bit(unsigned long nr, volatile void * addr) { unsigned long mask = 1 << (nr & 0x1f); @@ -282,7 +283,7 @@ __test_and_change_bit(unsigned long nr, volatile void * addr) return (old & mask) != 0; } -static inline int +static inline bool test_bit(int nr, const volatile void * addr) { return (1UL & (((const int *) addr)[nr >> 5] >> (nr & 31))) != 0UL; diff --git a/arch/arc/include/asm/bitops.h b/arch/arc/include/asm/bitops.h index 8da87fee..e1976ab 100644 --- a/arch/arc/include/asm/bitops.h +++ b/arch/arc/include/asm/bitops.h @@ -60,7 +60,7 @@ static inline void op##_bit(unsigned long nr, volatile unsigned long *m)\ * and the old value of bit is returned */ #define TEST_N_BIT_OP(op, c_op, asm_op) \ -static inline int test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ +static inline bool test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ { \ unsigned long old, temp; \ \ @@ -124,7 +124,7 @@ static inline void op##_bit(unsigned long nr, volatile unsigned long *m)\ } #define TEST_N_BIT_OP(op, c_op, asm_op) \ -static inline int test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ +static inline bool test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ { \ unsigned long old, flags; \ m += nr >> 5; \ @@ -160,7 +160,7 @@ static inline void op##_bit(unsigned long nr, volatile unsigned long *m)\ } #define TEST_N_BIT_OP(op, c_op, asm_op) \ -static inline int test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ +static inline bool test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ { \ unsigned long old; \ \ @@ -204,7 +204,7 @@ static inline void __##op##_bit(unsigned long nr, volatile unsigned long *m) \ } #define __TEST_N_BIT_OP(op, c_op, asm_op) \ -static inline int __test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ +static inline bool __test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ { \ unsigned long old; \ m += nr >> 5; \ @@ -242,7 +242,7 @@ BIT_OPS(change, ^, CTOP_INST_AXOR_DI_R2_R2_R3) /* * This routine doesn't need to be atomic. */ -static inline int +static inline bool test_bit(unsigned int nr, const volatile unsigned long *addr) { unsigned long mask; diff --git a/arch/arm/include/asm/bitops.h b/arch/arm/include/asm/bitops.h index e943e6c..196bf2d 100644 --- a/arch/arm/include/asm/bitops.h +++ b/arch/arm/include/asm/bitops.h @@ -24,6 +24,7 @@ #endif #include <linux/compiler.h> +#include <linux/types.h> #include <linux/irqflags.h> #include <asm/barrier.h> @@ -68,7 +69,7 @@ static inline void ____atomic_change_bit(unsigned int bit, volatile unsigned lon raw_local_irq_restore(flags); } -static inline int +static inline bool ____atomic_test_and_set_bit(unsigned int bit, volatile unsigned long *p) { unsigned long flags; @@ -85,7 +86,7 @@ ____atomic_test_and_set_bit(unsigned int bit, volatile unsigned long *p) return (res & mask) != 0; } -static inline int +static inline bool ____atomic_test_and_clear_bit(unsigned int bit, volatile unsigned long *p) { unsigned long flags; @@ -102,7 +103,7 @@ ____atomic_test_and_clear_bit(unsigned int bit, volatile unsigned long *p) return (res & mask) != 0; } -static inline int +static inline bool ____atomic_test_and_change_bit(unsigned int bit, volatile unsigned long *p) { unsigned long flags; @@ -152,9 +153,9 @@ ____atomic_test_and_change_bit(unsigned int bit, volatile unsigned long *p) extern void _set_bit(int nr, volatile unsigned long * p); extern void _clear_bit(int nr, volatile unsigned long * p); extern void _change_bit(int nr, volatile unsigned long * p); -extern int _test_and_set_bit(int nr, volatile unsigned long * p); -extern int _test_and_clear_bit(int nr, volatile unsigned long * p); -extern int _test_and_change_bit(int nr, volatile unsigned long * p); +extern bool _test_and_set_bit(int nr, volatile unsigned long * p); +extern bool _test_and_clear_bit(int nr, volatile unsigned long * p); +extern bool _test_and_change_bit(int nr, volatile unsigned long * p); /* * Little endian assembly bitops. nr = 0 -> byte 0 bit 0. diff --git a/arch/arm64/include/asm/bitops.h b/arch/arm64/include/asm/bitops.h index 9c19594..1a94dc2 100644 --- a/arch/arm64/include/asm/bitops.h +++ b/arch/arm64/include/asm/bitops.h @@ -17,6 +17,7 @@ #define __ASM_BITOPS_H #include <linux/compiler.h> +#include <linux/types.h> #include <asm/barrier.h> #ifndef _LINUX_BITOPS_H @@ -29,9 +30,9 @@ extern void set_bit(int nr, volatile unsigned long *p); extern void clear_bit(int nr, volatile unsigned long *p); extern void change_bit(int nr, volatile unsigned long *p); -extern int test_and_set_bit(int nr, volatile unsigned long *p); -extern int test_and_clear_bit(int nr, volatile unsigned long *p); -extern int test_and_change_bit(int nr, volatile unsigned long *p); +extern bool test_and_set_bit(int nr, volatile unsigned long *p); +extern bool test_and_clear_bit(int nr, volatile unsigned long *p); +extern bool test_and_change_bit(int nr, volatile unsigned long *p); #include <asm-generic/bitops/builtin-__ffs.h> #include <asm-generic/bitops/builtin-ffs.h> diff --git a/arch/avr32/include/asm/bitops.h b/arch/avr32/include/asm/bitops.h index 910d537..0e3e08b 100644 --- a/arch/avr32/include/asm/bitops.h +++ b/arch/avr32/include/asm/bitops.h @@ -128,7 +128,7 @@ static inline void change_bit(int nr, volatile void * addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_set_bit(int nr, volatile void * addr) +static inline bool test_and_set_bit(int nr, volatile void * addr) { unsigned long *p = ((unsigned long *)addr) + nr / BITS_PER_LONG; unsigned long mask = 1UL << (nr % BITS_PER_LONG); @@ -168,7 +168,7 @@ static inline int test_and_set_bit(int nr, volatile void * addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_clear_bit(int nr, volatile void * addr) +static inline bool test_and_clear_bit(int nr, volatile void * addr) { unsigned long *p = ((unsigned long *)addr) + nr / BITS_PER_LONG; unsigned long mask = 1UL << (nr % BITS_PER_LONG); @@ -209,7 +209,7 @@ static inline int test_and_clear_bit(int nr, volatile void * addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_change_bit(int nr, volatile void * addr) +static inline bool test_and_change_bit(int nr, volatile void * addr) { unsigned long *p = ((unsigned long *)addr) + nr / BITS_PER_LONG; unsigned long mask = 1UL << (nr % BITS_PER_LONG); diff --git a/arch/blackfin/include/asm/bitops.h b/arch/blackfin/include/asm/bitops.h index b298b65..ff43a11 100644 --- a/arch/blackfin/include/asm/bitops.h +++ b/arch/blackfin/include/asm/bitops.h @@ -47,13 +47,13 @@ asmlinkage int __raw_bit_clear_asm(volatile unsigned long *addr, int nr); asmlinkage int __raw_bit_toggle_asm(volatile unsigned long *addr, int nr); -asmlinkage int __raw_bit_test_set_asm(volatile unsigned long *addr, int nr); +asmlinkage bool __raw_bit_test_set_asm(volatile unsigned long *addr, int nr); -asmlinkage int __raw_bit_test_clear_asm(volatile unsigned long *addr, int nr); +asmlinkage bool __raw_bit_test_clear_asm(volatile unsigned long *addr, int nr); -asmlinkage int __raw_bit_test_toggle_asm(volatile unsigned long *addr, int nr); +asmlinkage bool __raw_bit_test_toggle_asm(volatile unsigned long *addr, int nr); -asmlinkage int __raw_bit_test_asm(const volatile unsigned long *addr, int nr); +asmlinkage bool __raw_bit_test_asm(const volatile unsigned long *addr, int nr); static inline void set_bit(int nr, volatile unsigned long *addr) { @@ -73,25 +73,25 @@ static inline void change_bit(int nr, volatile unsigned long *addr) __raw_bit_toggle_asm(a, nr & 0x1f); } -static inline int test_bit(int nr, const volatile unsigned long *addr) +static inline bool test_bit(int nr, const volatile unsigned long *addr) { volatile const unsigned long *a = addr + (nr >> 5); return __raw_bit_test_asm(a, nr & 0x1f) != 0; } -static inline int test_and_set_bit(int nr, volatile unsigned long *addr) +static inline bool test_and_set_bit(int nr, volatile unsigned long *addr) { volatile unsigned long *a = addr + (nr >> 5); return __raw_bit_test_set_asm(a, nr & 0x1f); } -static inline int test_and_clear_bit(int nr, volatile unsigned long *addr) +static inline bool test_and_clear_bit(int nr, volatile unsigned long *addr) { volatile unsigned long *a = addr + (nr >> 5); return __raw_bit_test_clear_asm(a, nr & 0x1f); } -static inline int test_and_change_bit(int nr, volatile unsigned long *addr) +static inline bool test_and_change_bit(int nr, volatile unsigned long *addr) { volatile unsigned long *a = addr + (nr >> 5); return __raw_bit_test_toggle_asm(a, nr & 0x1f); diff --git a/arch/frv/include/asm/bitops.h b/arch/frv/include/asm/bitops.h index 0df8e95..c9bf93d 100644 --- a/arch/frv/include/asm/bitops.h +++ b/arch/frv/include/asm/bitops.h @@ -27,7 +27,7 @@ #include <asm/atomic.h> -static inline int test_and_clear_bit(unsigned long nr, volatile void *addr) +static inline bool test_and_clear_bit(unsigned long nr, volatile void *addr) { unsigned int *ptr = (void *)addr; unsigned int mask = 1UL << (nr & 31); @@ -35,7 +35,7 @@ static inline int test_and_clear_bit(unsigned long nr, volatile void *addr) return (__atomic32_fetch_and(~mask, ptr) & mask) != 0; } -static inline int test_and_set_bit(unsigned long nr, volatile void *addr) +static inline bool test_and_set_bit(unsigned long nr, volatile void *addr) { unsigned int *ptr = (void *)addr; unsigned int mask = 1UL << (nr & 31); @@ -43,7 +43,7 @@ static inline int test_and_set_bit(unsigned long nr, volatile void *addr) return (__atomic32_fetch_or(mask, ptr) & mask) != 0; } -static inline int test_and_change_bit(unsigned long nr, volatile void *addr) +static inline bool test_and_change_bit(unsigned long nr, volatile void *addr) { unsigned int *ptr = (void *)addr; unsigned int mask = 1UL << (nr & 31); @@ -96,7 +96,7 @@ static inline void __change_bit(unsigned long nr, volatile void *addr) *a ^= mask; } -static inline int __test_and_clear_bit(unsigned long nr, volatile void *addr) +static inline bool __test_and_clear_bit(unsigned long nr, volatile void *addr) { volatile unsigned long *a = addr; int mask, retval; @@ -108,7 +108,7 @@ static inline int __test_and_clear_bit(unsigned long nr, volatile void *addr) return retval; } -static inline int __test_and_set_bit(unsigned long nr, volatile void *addr) +static inline bool __test_and_set_bit(unsigned long nr, volatile void *addr) { volatile unsigned long *a = addr; int mask, retval; @@ -120,7 +120,7 @@ static inline int __test_and_set_bit(unsigned long nr, volatile void *addr) return retval; } -static inline int __test_and_change_bit(unsigned long nr, volatile void *addr) +static inline bool __test_and_change_bit(unsigned long nr, volatile void *addr) { volatile unsigned long *a = addr; int mask, retval; @@ -135,13 +135,13 @@ static inline int __test_and_change_bit(unsigned long nr, volatile void *addr) /* * This routine doesn't need to be atomic. */ -static inline int +static inline bool __constant_test_bit(unsigned long nr, const volatile void *addr) { return ((1UL << (nr & 31)) & (((const volatile unsigned int *) addr)[nr >> 5])) != 0; } -static inline int __test_bit(unsigned long nr, const volatile void *addr) +static inline bool __test_bit(unsigned long nr, const volatile void *addr) { int * a = (int *) addr; int mask; diff --git a/arch/h8300/include/asm/bitops.h b/arch/h8300/include/asm/bitops.h index 05999ab..8f6dfc6 100644 --- a/arch/h8300/include/asm/bitops.h +++ b/arch/h8300/include/asm/bitops.h @@ -65,7 +65,7 @@ H8300_GEN_BITOP(change_bit, "bnot") #undef H8300_GEN_BITOP -static inline int test_bit(int nr, const unsigned long *addr) +static inline bool test_bit(int nr, const unsigned long *addr) { int ret = 0; unsigned char *b_addr; @@ -91,7 +91,7 @@ static inline int test_bit(int nr, const unsigned long *addr) #define __test_bit(nr, addr) test_bit(nr, addr) #define H8300_GEN_TEST_BITOP(FNNAME, OP) \ -static inline int FNNAME(int nr, void *addr) \ +static inline bool FNNAME(int nr, void *addr) \ { \ int retval = 0; \ char ccrsave; \ diff --git a/arch/hexagon/include/asm/bitops.h b/arch/hexagon/include/asm/bitops.h index 5e4a59b..fa6b32c 100644 --- a/arch/hexagon/include/asm/bitops.h +++ b/arch/hexagon/include/asm/bitops.h @@ -42,7 +42,7 @@ * @nr: bit number to clear * @addr: pointer to memory */ -static inline int test_and_clear_bit(int nr, volatile void *addr) +static inline bool test_and_clear_bit(int nr, volatile void *addr) { int oldval; @@ -66,7 +66,7 @@ static inline int test_and_clear_bit(int nr, volatile void *addr) * @nr: bit number to set * @addr: pointer to memory */ -static inline int test_and_set_bit(int nr, volatile void *addr) +static inline bool test_and_set_bit(int nr, volatile void *addr) { int oldval; @@ -92,7 +92,7 @@ static inline int test_and_set_bit(int nr, volatile void *addr) * @nr: bit number to set * @addr: pointer to memory */ -static inline int test_and_change_bit(int nr, volatile void *addr) +static inline bool test_and_change_bit(int nr, volatile void *addr) { int oldval; @@ -157,22 +157,22 @@ static inline void __change_bit(int nr, volatile unsigned long *addr) } /* Apparently, at least some of these are allowed to be non-atomic */ -static inline int __test_and_clear_bit(int nr, volatile unsigned long *addr) +static inline bool __test_and_clear_bit(int nr, volatile unsigned long *addr) { return test_and_clear_bit(nr, addr); } -static inline int __test_and_set_bit(int nr, volatile unsigned long *addr) +static inline bool __test_and_set_bit(int nr, volatile unsigned long *addr) { return test_and_set_bit(nr, addr); } -static inline int __test_and_change_bit(int nr, volatile unsigned long *addr) +static inline bool __test_and_change_bit(int nr, volatile unsigned long *addr) { return test_and_change_bit(nr, addr); } -static inline int __test_bit(int nr, const volatile unsigned long *addr) +static inline bool __test_bit(int nr, const volatile unsigned long *addr) { int retval; diff --git a/arch/ia64/include/asm/bitops.h b/arch/ia64/include/asm/bitops.h index 71e8145..38edf72 100644 --- a/arch/ia64/include/asm/bitops.h +++ b/arch/ia64/include/asm/bitops.h @@ -196,7 +196,7 @@ __change_bit (int nr, volatile void *addr) * This operation is atomic and cannot be reordered. * It also implies the acquisition side of the memory barrier. */ -static __inline__ int +static __inline__ bool test_and_set_bit (int nr, volatile void *addr) { __u32 bit, old, new; @@ -231,7 +231,7 @@ test_and_set_bit (int nr, volatile void *addr) * If two examples of this operation race, one can appear to succeed * but actually fail. You must protect multiple accesses with a lock. */ -static __inline__ int +static __inline__ bool __test_and_set_bit (int nr, volatile void *addr) { __u32 *p = (__u32 *) addr + (nr >> 5); @@ -250,7 +250,7 @@ __test_and_set_bit (int nr, volatile void *addr) * This operation is atomic and cannot be reordered. * It also implies the acquisition side of the memory barrier. */ -static __inline__ int +static __inline__ bool test_and_clear_bit (int nr, volatile void *addr) { __u32 mask, old, new; @@ -276,7 +276,7 @@ test_and_clear_bit (int nr, volatile void *addr) * If two examples of this operation race, one can appear to succeed * but actually fail. You must protect multiple accesses with a lock. */ -static __inline__ int +static __inline__ bool __test_and_clear_bit(int nr, volatile void * addr) { __u32 *p = (__u32 *) addr + (nr >> 5); @@ -295,7 +295,7 @@ __test_and_clear_bit(int nr, volatile void * addr) * This operation is atomic and cannot be reordered. * It also implies the acquisition side of the memory barrier. */ -static __inline__ int +static __inline__ bool test_and_change_bit (int nr, volatile void *addr) { __u32 bit, old, new; @@ -319,7 +319,7 @@ test_and_change_bit (int nr, volatile void *addr) * * This operation is non-atomic and can be reordered. */ -static __inline__ int +static __inline__ bool __test_and_change_bit (int nr, void *addr) { __u32 old, bit = (1 << (nr & 31)); @@ -330,7 +330,7 @@ __test_and_change_bit (int nr, void *addr) return (old & bit) != 0; } -static __inline__ int +static __inline__ bool test_bit (int nr, const volatile void *addr) { return 1 & (((const volatile __u32 *) addr)[nr >> 5] >> (nr & 31)); diff --git a/arch/m32r/include/asm/bitops.h b/arch/m32r/include/asm/bitops.h index 86ba2b4..5f12ceb 100644 --- a/arch/m32r/include/asm/bitops.h +++ b/arch/m32r/include/asm/bitops.h @@ -147,7 +147,7 @@ static __inline__ void change_bit(int nr, volatile void * addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static __inline__ int test_and_set_bit(int nr, volatile void * addr) +static __inline__ bool test_and_set_bit(int nr, volatile void * addr) { __u32 mask, oldbit; volatile __u32 *a = addr; @@ -182,7 +182,7 @@ static __inline__ int test_and_set_bit(int nr, volatile void * addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static __inline__ int test_and_clear_bit(int nr, volatile void * addr) +static __inline__ bool test_and_clear_bit(int nr, volatile void * addr) { __u32 mask, oldbit; volatile __u32 *a = addr; @@ -219,7 +219,7 @@ static __inline__ int test_and_clear_bit(int nr, volatile void * addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static __inline__ int test_and_change_bit(int nr, volatile void * addr) +static __inline__ bool test_and_change_bit(int nr, volatile void * addr) { __u32 mask, oldbit; volatile __u32 *a = addr; diff --git a/arch/m68k/include/asm/bitops.h b/arch/m68k/include/asm/bitops.h index b4a9b0d..bad8c18 100644 --- a/arch/m68k/include/asm/bitops.h +++ b/arch/m68k/include/asm/bitops.h @@ -13,6 +13,7 @@ #endif #include <linux/compiler.h> +#include <linux/types.h> #include <asm/barrier.h> /* @@ -148,13 +149,13 @@ static inline void bfchg_mem_change_bit(int nr, volatile unsigned long *vaddr) #define __change_bit(nr, vaddr) change_bit(nr, vaddr) -static inline int test_bit(int nr, const unsigned long *vaddr) +static inline bool test_bit(int nr, const unsigned long *vaddr) { return (vaddr[nr >> 5] & (1UL << (nr & 31))) != 0; } -static inline int bset_reg_test_and_set_bit(int nr, +static inline bool bset_reg_test_and_set_bit(int nr, volatile unsigned long *vaddr) { char *p = (char *)vaddr + (nr ^ 31) / 8; @@ -167,7 +168,7 @@ static inline int bset_reg_test_and_set_bit(int nr, return retval; } -static inline int bset_mem_test_and_set_bit(int nr, +static inline bool bset_mem_test_and_set_bit(int nr, volatile unsigned long *vaddr) { char *p = (char *)vaddr + (nr ^ 31) / 8; @@ -179,7 +180,7 @@ static inline int bset_mem_test_and_set_bit(int nr, return retval; } -static inline int bfset_mem_test_and_set_bit(int nr, +static inline bool bfset_mem_test_and_set_bit(int nr, volatile unsigned long *vaddr) { char retval; @@ -204,7 +205,7 @@ static inline int bfset_mem_test_and_set_bit(int nr, #define __test_and_set_bit(nr, vaddr) test_and_set_bit(nr, vaddr) -static inline int bclr_reg_test_and_clear_bit(int nr, +static inline bool bclr_reg_test_and_clear_bit(int nr, volatile unsigned long *vaddr) { char *p = (char *)vaddr + (nr ^ 31) / 8; @@ -217,7 +218,7 @@ static inline int bclr_reg_test_and_clear_bit(int nr, return retval; } -static inline int bclr_mem_test_and_clear_bit(int nr, +static inline bool bclr_mem_test_and_clear_bit(int nr, volatile unsigned long *vaddr) { char *p = (char *)vaddr + (nr ^ 31) / 8; @@ -229,7 +230,7 @@ static inline int bclr_mem_test_and_clear_bit(int nr, return retval; } -static inline int bfclr_mem_test_and_clear_bit(int nr, +static inline bool bfclr_mem_test_and_clear_bit(int nr, volatile unsigned long *vaddr) { char retval; @@ -254,7 +255,7 @@ static inline int bfclr_mem_test_and_clear_bit(int nr, #define __test_and_clear_bit(nr, vaddr) test_and_clear_bit(nr, vaddr) -static inline int bchg_reg_test_and_change_bit(int nr, +static inline bool bchg_reg_test_and_change_bit(int nr, volatile unsigned long *vaddr) { char *p = (char *)vaddr + (nr ^ 31) / 8; @@ -267,7 +268,7 @@ static inline int bchg_reg_test_and_change_bit(int nr, return retval; } -static inline int bchg_mem_test_and_change_bit(int nr, +static inline bool bchg_mem_test_and_change_bit(int nr, volatile unsigned long *vaddr) { char *p = (char *)vaddr + (nr ^ 31) / 8; @@ -279,7 +280,7 @@ static inline int bchg_mem_test_and_change_bit(int nr, return retval; } -static inline int bfchg_mem_test_and_change_bit(int nr, +static inline bool bfchg_mem_test_and_change_bit(int nr, volatile unsigned long *vaddr) { char retval; diff --git a/arch/metag/include/asm/bitops.h b/arch/metag/include/asm/bitops.h index 2671134..11df061 100644 --- a/arch/metag/include/asm/bitops.h +++ b/arch/metag/include/asm/bitops.h @@ -48,7 +48,7 @@ static inline void change_bit(unsigned int bit, volatile unsigned long *p) __global_unlock1(flags); } -static inline int test_and_set_bit(unsigned int bit, volatile unsigned long *p) +static inline bool test_and_set_bit(unsigned int bit, volatile unsigned long *p) { unsigned long flags; unsigned long old; @@ -67,7 +67,7 @@ static inline int test_and_set_bit(unsigned int bit, volatile unsigned long *p) return (old & mask) != 0; } -static inline int test_and_clear_bit(unsigned int bit, +static inline bool test_and_clear_bit(unsigned int bit, volatile unsigned long *p) { unsigned long flags; @@ -87,7 +87,7 @@ static inline int test_and_clear_bit(unsigned int bit, return (old & mask) != 0; } -static inline int test_and_change_bit(unsigned int bit, +static inline bool test_and_change_bit(unsigned int bit, volatile unsigned long *p) { unsigned long flags; diff --git a/arch/mips/include/asm/bitops.h b/arch/mips/include/asm/bitops.h index fa57cef..7e53c66 100644 --- a/arch/mips/include/asm/bitops.h +++ b/arch/mips/include/asm/bitops.h @@ -30,13 +30,13 @@ void __mips_set_bit(unsigned long nr, volatile unsigned long *addr); void __mips_clear_bit(unsigned long nr, volatile unsigned long *addr); void __mips_change_bit(unsigned long nr, volatile unsigned long *addr); -int __mips_test_and_set_bit(unsigned long nr, +bool __mips_test_and_set_bit(unsigned long nr, volatile unsigned long *addr); -int __mips_test_and_set_bit_lock(unsigned long nr, +bool __mips_test_and_set_bit_lock(unsigned long nr, volatile unsigned long *addr); -int __mips_test_and_clear_bit(unsigned long nr, +bool __mips_test_and_clear_bit(unsigned long nr, volatile unsigned long *addr); -int __mips_test_and_change_bit(unsigned long nr, +bool __mips_test_and_change_bit(unsigned long nr, volatile unsigned long *addr); @@ -210,7 +210,7 @@ static inline void change_bit(unsigned long nr, volatile unsigned long *addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_set_bit(unsigned long nr, +static inline bool test_and_set_bit(unsigned long nr, volatile unsigned long *addr) { int bit = nr & SZLONG_MASK; @@ -266,7 +266,7 @@ static inline int test_and_set_bit(unsigned long nr, * This operation is atomic and implies acquire ordering semantics * after the memory operation. */ -static inline int test_and_set_bit_lock(unsigned long nr, +static inline bool test_and_set_bit_lock(unsigned long nr, volatile unsigned long *addr) { int bit = nr & SZLONG_MASK; @@ -319,7 +319,7 @@ static inline int test_and_set_bit_lock(unsigned long nr, * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_clear_bit(unsigned long nr, +static inline bool test_and_clear_bit(unsigned long nr, volatile unsigned long *addr) { int bit = nr & SZLONG_MASK; @@ -393,7 +393,7 @@ static inline int test_and_clear_bit(unsigned long nr, * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_change_bit(unsigned long nr, +static inline bool test_and_change_bit(unsigned long nr, volatile unsigned long *addr) { int bit = nr & SZLONG_MASK; diff --git a/arch/mips/lib/bitops.c b/arch/mips/lib/bitops.c index 3b2a1e7..8f0ba2a 100644 --- a/arch/mips/lib/bitops.c +++ b/arch/mips/lib/bitops.c @@ -83,14 +83,14 @@ EXPORT_SYMBOL(__mips_change_bit); * @nr: Bit to set * @addr: Address to count from */ -int __mips_test_and_set_bit(unsigned long nr, +bool __mips_test_and_set_bit(unsigned long nr, volatile unsigned long *addr) { unsigned long *a = (unsigned long *)addr; unsigned bit = nr & SZLONG_MASK; unsigned long mask; unsigned long flags; - int res; + bool res; a += nr >> SZLONG_LOG; mask = 1UL << bit; @@ -109,14 +109,14 @@ EXPORT_SYMBOL(__mips_test_and_set_bit); * @nr: Bit to set * @addr: Address to count from */ -int __mips_test_and_set_bit_lock(unsigned long nr, +bool __mips_test_and_set_bit_lock(unsigned long nr, volatile unsigned long *addr) { unsigned long *a = (unsigned long *)addr; unsigned bit = nr & SZLONG_MASK; unsigned long mask; unsigned long flags; - int res; + bool res; a += nr >> SZLONG_LOG; mask = 1UL << bit; @@ -135,13 +135,13 @@ EXPORT_SYMBOL(__mips_test_and_set_bit_lock); * @nr: Bit to clear * @addr: Address to count from */ -int __mips_test_and_clear_bit(unsigned long nr, volatile unsigned long *addr) +bool __mips_test_and_clear_bit(unsigned long nr, volatile unsigned long *addr) { unsigned long *a = (unsigned long *)addr; unsigned bit = nr & SZLONG_MASK; unsigned long mask; unsigned long flags; - int res; + bool res; a += nr >> SZLONG_LOG; mask = 1UL << bit; @@ -160,13 +160,13 @@ EXPORT_SYMBOL(__mips_test_and_clear_bit); * @nr: Bit to change * @addr: Address to count from */ -int __mips_test_and_change_bit(unsigned long nr, volatile unsigned long *addr) +bool __mips_test_and_change_bit(unsigned long nr, volatile unsigned long *addr) { unsigned long *a = (unsigned long *)addr; unsigned bit = nr & SZLONG_MASK; unsigned long mask; unsigned long flags; - int res; + bool res; a += nr >> SZLONG_LOG; mask = 1UL << bit; diff --git a/arch/mn10300/include/asm/bitops.h b/arch/mn10300/include/asm/bitops.h index fe6f8e2..5b00e95 100644 --- a/arch/mn10300/include/asm/bitops.h +++ b/arch/mn10300/include/asm/bitops.h @@ -68,7 +68,7 @@ static inline void __clear_bit(unsigned long nr, volatile void *addr) /* * test bit */ -static inline int test_bit(unsigned long nr, const volatile void *addr) +static inline bool test_bit(unsigned long nr, const volatile void *addr) { return 1UL & (((const volatile unsigned int *) addr)[nr >> 5] >> (nr & 31)); } @@ -133,9 +133,10 @@ extern void change_bit(unsigned long nr, volatile void *addr); /* * test and change bit */ -static inline int __test_and_change_bit(unsigned long nr, volatile void *addr) +static inline bool __test_and_change_bit(unsigned long nr, volatile void *addr) { - int mask, retval; + int mask; + bool retval; unsigned int *a = (unsigned int *)addr; a += nr >> 5; diff --git a/arch/openrisc/include/asm/bitops.h b/arch/openrisc/include/asm/bitops.h index 3003cda..8b503de 100644 --- a/arch/openrisc/include/asm/bitops.h +++ b/arch/openrisc/include/asm/bitops.h @@ -27,6 +27,7 @@ #include <linux/irqflags.h> #include <linux/compiler.h> +#include <linux/types.h> #include <asm/barrier.h> #include <asm/bitops/__ffs.h> diff --git a/arch/parisc/include/asm/bitops.h b/arch/parisc/include/asm/bitops.h index 3f9406d..bac163d 100644 --- a/arch/parisc/include/asm/bitops.h +++ b/arch/parisc/include/asm/bitops.h @@ -59,17 +59,17 @@ static __inline__ void change_bit(int nr, volatile unsigned long * addr) _atomic_spin_unlock_irqrestore(addr, flags); } -static __inline__ int test_and_set_bit(int nr, volatile unsigned long * addr) +static __inline__ bool test_and_set_bit(int nr, volatile unsigned long * addr) { unsigned long mask = 1UL << CHOP_SHIFTCOUNT(nr); unsigned long old; unsigned long flags; - int set; + bool set; addr += (nr >> SHIFT_PER_LONG); _atomic_spin_lock_irqsave(addr, flags); old = *addr; - set = (old & mask) ? 1 : 0; + set = (old & mask) ? true : false; if (!set) *addr = old | mask; _atomic_spin_unlock_irqrestore(addr, flags); @@ -77,17 +77,17 @@ static __inline__ int test_and_set_bit(int nr, volatile unsigned long * addr) return set; } -static __inline__ int test_and_clear_bit(int nr, volatile unsigned long * addr) +static __inline__ bool test_and_clear_bit(int nr, volatile unsigned long * addr) { unsigned long mask = 1UL << CHOP_SHIFTCOUNT(nr); unsigned long old; unsigned long flags; - int set; + bool set; addr += (nr >> SHIFT_PER_LONG); _atomic_spin_lock_irqsave(addr, flags); old = *addr; - set = (old & mask) ? 1 : 0; + set = (old & mask) ? true : false; if (set) *addr = old & ~mask; _atomic_spin_unlock_irqrestore(addr, flags); @@ -95,7 +95,7 @@ static __inline__ int test_and_clear_bit(int nr, volatile unsigned long * addr) return set; } -static __inline__ int test_and_change_bit(int nr, volatile unsigned long * addr) +static __inline__ bool test_and_change_bit(int nr, volatile unsigned long * addr) { unsigned long mask = 1UL << CHOP_SHIFTCOUNT(nr); unsigned long oldbit; @@ -107,7 +107,7 @@ static __inline__ int test_and_change_bit(int nr, volatile unsigned long * addr) *addr = oldbit ^ mask; _atomic_spin_unlock_irqrestore(addr, flags); - return (oldbit & mask) ? 1 : 0; + return (oldbit & mask) ? true : false; } #include <asm-generic/bitops/non-atomic.h> diff --git a/arch/powerpc/include/asm/bitops.h b/arch/powerpc/include/asm/bitops.h index 59abc62..7838138 100644 --- a/arch/powerpc/include/asm/bitops.h +++ b/arch/powerpc/include/asm/bitops.h @@ -100,7 +100,7 @@ static __inline__ void change_bit(int nr, volatile unsigned long *addr) /* Like DEFINE_BITOP(), with changes to the arguments to 'op' and the output * operands. */ #define DEFINE_TESTOP(fn, op, prefix, postfix, eh) \ -static __inline__ unsigned long fn( \ +static __inline__ bool fn( \ unsigned long mask, \ volatile unsigned long *_p) \ { \ @@ -129,26 +129,26 @@ DEFINE_TESTOP(test_and_clear_bits, andc, PPC_ATOMIC_ENTRY_BARRIER, DEFINE_TESTOP(test_and_change_bits, xor, PPC_ATOMIC_ENTRY_BARRIER, PPC_ATOMIC_EXIT_BARRIER, 0) -static __inline__ int test_and_set_bit(unsigned long nr, +static __inline__ bool test_and_set_bit(unsigned long nr, volatile unsigned long *addr) { return test_and_set_bits(BIT_MASK(nr), addr + BIT_WORD(nr)) != 0; } -static __inline__ int test_and_set_bit_lock(unsigned long nr, +static __inline__ bool test_and_set_bit_lock(unsigned long nr, volatile unsigned long *addr) { return test_and_set_bits_lock(BIT_MASK(nr), addr + BIT_WORD(nr)) != 0; } -static __inline__ int test_and_clear_bit(unsigned long nr, +static __inline__ bool test_and_clear_bit(unsigned long nr, volatile unsigned long *addr) { return test_and_clear_bits(BIT_MASK(nr), addr + BIT_WORD(nr)) != 0; } -static __inline__ int test_and_change_bit(unsigned long nr, +static __inline__ bool test_and_change_bit(unsigned long nr, volatile unsigned long *addr) { return test_and_change_bits(BIT_MASK(nr), addr + BIT_WORD(nr)) != 0; diff --git a/arch/s390/include/asm/bitops.h b/arch/s390/include/asm/bitops.h index 8043f10..71e6202 100644 --- a/arch/s390/include/asm/bitops.h +++ b/arch/s390/include/asm/bitops.h @@ -173,7 +173,7 @@ static inline void change_bit(unsigned long nr, volatile unsigned long *ptr) __BITOPS_LOOP(addr, mask, __BITOPS_XOR, __BITOPS_NO_BARRIER); } -static inline int +static inline bool test_and_set_bit(unsigned long nr, volatile unsigned long *ptr) { unsigned long *addr = __bitops_word(nr, ptr); @@ -184,7 +184,7 @@ test_and_set_bit(unsigned long nr, volatile unsigned long *ptr) return (old & mask) != 0; } -static inline int +static inline bool test_and_clear_bit(unsigned long nr, volatile unsigned long *ptr) { unsigned long *addr = __bitops_word(nr, ptr); @@ -195,7 +195,7 @@ test_and_clear_bit(unsigned long nr, volatile unsigned long *ptr) return (old & ~mask) != 0; } -static inline int +static inline bool test_and_change_bit(unsigned long nr, volatile unsigned long *ptr) { unsigned long *addr = __bitops_word(nr, ptr); @@ -228,7 +228,7 @@ static inline void __change_bit(unsigned long nr, volatile unsigned long *ptr) *addr ^= 1 << (nr & 7); } -static inline int +static inline bool __test_and_set_bit(unsigned long nr, volatile unsigned long *ptr) { unsigned char *addr = __bitops_byte(nr, ptr); @@ -239,7 +239,7 @@ __test_and_set_bit(unsigned long nr, volatile unsigned long *ptr) return (ch >> (nr & 7)) & 1; } -static inline int +static inline bool __test_and_clear_bit(unsigned long nr, volatile unsigned long *ptr) { unsigned char *addr = __bitops_byte(nr, ptr); @@ -250,7 +250,7 @@ __test_and_clear_bit(unsigned long nr, volatile unsigned long *ptr) return (ch >> (nr & 7)) & 1; } -static inline int +static inline bool __test_and_change_bit(unsigned long nr, volatile unsigned long *ptr) { unsigned char *addr = __bitops_byte(nr, ptr); @@ -261,7 +261,7 @@ __test_and_change_bit(unsigned long nr, volatile unsigned long *ptr) return (ch >> (nr & 7)) & 1; } -static inline int test_bit(unsigned long nr, const volatile unsigned long *ptr) +static inline bool test_bit(unsigned long nr, const volatile unsigned long *ptr) { const volatile unsigned char *addr; @@ -270,7 +270,7 @@ static inline int test_bit(unsigned long nr, const volatile unsigned long *ptr) return (*addr >> (nr & 7)) & 1; } -static inline int test_and_set_bit_lock(unsigned long nr, +static inline bool test_and_set_bit_lock(unsigned long nr, volatile unsigned long *ptr) { if (test_bit(nr, ptr)) @@ -321,7 +321,7 @@ static inline void __clear_bit_inv(unsigned long nr, volatile unsigned long *ptr return __clear_bit(nr ^ (BITS_PER_LONG - 1), ptr); } -static inline int test_bit_inv(unsigned long nr, +static inline bool test_bit_inv(unsigned long nr, const volatile unsigned long *ptr) { return test_bit(nr ^ (BITS_PER_LONG - 1), ptr); diff --git a/arch/sh/include/asm/bitops-cas.h b/arch/sh/include/asm/bitops-cas.h index 88f793c..c4fde9c 100644 --- a/arch/sh/include/asm/bitops-cas.h +++ b/arch/sh/include/asm/bitops-cas.h @@ -46,7 +46,7 @@ static inline void change_bit(int nr, volatile void *addr) while (__bo_cas(a, old, old^mask) != old); } -static inline int test_and_set_bit(int nr, volatile void *addr) +static inline bool test_and_set_bit(int nr, volatile void *addr) { unsigned mask, old; volatile unsigned *a = addr; @@ -60,7 +60,7 @@ static inline int test_and_set_bit(int nr, volatile void *addr) return !!(old & mask); } -static inline int test_and_clear_bit(int nr, volatile void *addr) +static inline bool test_and_clear_bit(int nr, volatile void *addr) { unsigned mask, old; volatile unsigned *a = addr; @@ -74,7 +74,7 @@ static inline int test_and_clear_bit(int nr, volatile void *addr) return !!(old & mask); } -static inline int test_and_change_bit(int nr, volatile void *addr) +static inline bool test_and_change_bit(int nr, volatile void *addr) { unsigned mask, old; volatile unsigned *a = addr; diff --git a/arch/sh/include/asm/bitops-grb.h b/arch/sh/include/asm/bitops-grb.h index e73af33..866f26a 100644 --- a/arch/sh/include/asm/bitops-grb.h +++ b/arch/sh/include/asm/bitops-grb.h @@ -71,7 +71,7 @@ static inline void change_bit(int nr, volatile void * addr) : "memory" , "r0", "r1"); } -static inline int test_and_set_bit(int nr, volatile void * addr) +static inline bool test_and_set_bit(int nr, volatile void * addr) { int mask, retval; volatile unsigned int *a = addr; @@ -102,7 +102,7 @@ static inline int test_and_set_bit(int nr, volatile void * addr) return retval; } -static inline int test_and_clear_bit(int nr, volatile void * addr) +static inline bool test_and_clear_bit(int nr, volatile void * addr) { int mask, retval,not_mask; volatile unsigned int *a = addr; @@ -136,7 +136,7 @@ static inline int test_and_clear_bit(int nr, volatile void * addr) return retval; } -static inline int test_and_change_bit(int nr, volatile void * addr) +static inline bool test_and_change_bit(int nr, volatile void * addr) { int mask, retval; volatile unsigned int *a = addr; diff --git a/arch/sh/include/asm/bitops-llsc.h b/arch/sh/include/asm/bitops-llsc.h index d8328be..7dcf5ea 100644 --- a/arch/sh/include/asm/bitops-llsc.h +++ b/arch/sh/include/asm/bitops-llsc.h @@ -64,7 +64,7 @@ static inline void change_bit(int nr, volatile void *addr) ); } -static inline int test_and_set_bit(int nr, volatile void *addr) +static inline bool test_and_set_bit(int nr, volatile void *addr) { int mask, retval; volatile unsigned int *a = addr; @@ -89,7 +89,7 @@ static inline int test_and_set_bit(int nr, volatile void *addr) return retval != 0; } -static inline int test_and_clear_bit(int nr, volatile void *addr) +static inline bool test_and_clear_bit(int nr, volatile void *addr) { int mask, retval; volatile unsigned int *a = addr; @@ -115,7 +115,7 @@ static inline int test_and_clear_bit(int nr, volatile void *addr) return retval != 0; } -static inline int test_and_change_bit(int nr, volatile void *addr) +static inline bool test_and_change_bit(int nr, volatile void *addr) { int mask, retval; volatile unsigned int *a = addr; diff --git a/arch/sh/include/asm/bitops-op32.h b/arch/sh/include/asm/bitops-op32.h index f0ae7e9..f677a4e 100644 --- a/arch/sh/include/asm/bitops-op32.h +++ b/arch/sh/include/asm/bitops-op32.h @@ -88,7 +88,7 @@ static inline void __change_bit(int nr, volatile unsigned long *addr) * If two examples of this operation race, one can appear to succeed * but actually fail. You must protect multiple accesses with a lock. */ -static inline int __test_and_set_bit(int nr, volatile unsigned long *addr) +static inline bool __test_and_set_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr); @@ -107,7 +107,7 @@ static inline int __test_and_set_bit(int nr, volatile unsigned long *addr) * If two examples of this operation race, one can appear to succeed * but actually fail. You must protect multiple accesses with a lock. */ -static inline int __test_and_clear_bit(int nr, volatile unsigned long *addr) +static inline bool __test_and_clear_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr); @@ -118,7 +118,7 @@ static inline int __test_and_clear_bit(int nr, volatile unsigned long *addr) } /* WARNING: non atomic and it can be reordered! */ -static inline int __test_and_change_bit(int nr, +static inline bool __test_and_change_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); @@ -134,7 +134,7 @@ static inline int __test_and_change_bit(int nr, * @nr: bit number to test * @addr: Address to start counting from */ -static inline int test_bit(int nr, const volatile unsigned long *addr) +static inline bool test_bit(int nr, const volatile unsigned long *addr) { return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1))); } diff --git a/arch/sparc/include/asm/bitops_32.h b/arch/sparc/include/asm/bitops_32.h index 600ed1d..afe275a 100644 --- a/arch/sparc/include/asm/bitops_32.h +++ b/arch/sparc/include/asm/bitops_32.h @@ -28,7 +28,7 @@ unsigned long ___change_bit(unsigned long *addr, unsigned long mask); * within the first byte. Sparc is BIG-Endian. Unless noted otherwise * all bit-ops return 0 if bit was previously clear and != 0 otherwise. */ -static inline int test_and_set_bit(unsigned long nr, volatile unsigned long *addr) +static inline bool test_and_set_bit(unsigned long nr, volatile unsigned long *addr) { unsigned long *ADDR, mask; @@ -48,7 +48,7 @@ static inline void set_bit(unsigned long nr, volatile unsigned long *addr) (void) ___set_bit(ADDR, mask); } -static inline int test_and_clear_bit(unsigned long nr, volatile unsigned long *addr) +static inline bool test_and_clear_bit(unsigned long nr, volatile unsigned long *addr) { unsigned long *ADDR, mask; @@ -68,7 +68,7 @@ static inline void clear_bit(unsigned long nr, volatile unsigned long *addr) (void) ___clear_bit(ADDR, mask); } -static inline int test_and_change_bit(unsigned long nr, volatile unsigned long *addr) +static inline bool test_and_change_bit(unsigned long nr, volatile unsigned long *addr) { unsigned long *ADDR, mask; diff --git a/arch/sparc/include/asm/bitops_64.h b/arch/sparc/include/asm/bitops_64.h index 2d52240..8cbd032 100644 --- a/arch/sparc/include/asm/bitops_64.h +++ b/arch/sparc/include/asm/bitops_64.h @@ -15,9 +15,9 @@ #include <asm/byteorder.h> #include <asm/barrier.h> -int test_and_set_bit(unsigned long nr, volatile unsigned long *addr); -int test_and_clear_bit(unsigned long nr, volatile unsigned long *addr); -int test_and_change_bit(unsigned long nr, volatile unsigned long *addr); +bool test_and_set_bit(unsigned long nr, volatile unsigned long *addr); +bool test_and_clear_bit(unsigned long nr, volatile unsigned long *addr); +bool test_and_change_bit(unsigned long nr, volatile unsigned long *addr); void set_bit(unsigned long nr, volatile unsigned long *addr); void clear_bit(unsigned long nr, volatile unsigned long *addr); void change_bit(unsigned long nr, volatile unsigned long *addr); diff --git a/arch/tile/include/asm/bitops_32.h b/arch/tile/include/asm/bitops_32.h index d1406a9..9ef0ba4 100644 --- a/arch/tile/include/asm/bitops_32.h +++ b/arch/tile/include/asm/bitops_32.h @@ -80,7 +80,7 @@ static inline void change_bit(unsigned nr, volatile unsigned long *addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_set_bit(unsigned nr, volatile unsigned long *addr) +static inline bool test_and_set_bit(unsigned nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); addr += BIT_WORD(nr); @@ -96,7 +96,7 @@ static inline int test_and_set_bit(unsigned nr, volatile unsigned long *addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_clear_bit(unsigned nr, volatile unsigned long *addr) +static inline bool test_and_clear_bit(unsigned nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); addr += BIT_WORD(nr); @@ -112,7 +112,7 @@ static inline int test_and_clear_bit(unsigned nr, volatile unsigned long *addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_change_bit(unsigned nr, +static inline bool test_and_change_bit(unsigned nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); diff --git a/arch/tile/include/asm/bitops_64.h b/arch/tile/include/asm/bitops_64.h index bb1a292..d970306 100644 --- a/arch/tile/include/asm/bitops_64.h +++ b/arch/tile/include/asm/bitops_64.h @@ -52,9 +52,9 @@ static inline void change_bit(unsigned nr, volatile unsigned long *addr) * barrier(), to block until the atomic op is complete. */ -static inline int test_and_set_bit(unsigned nr, volatile unsigned long *addr) +static inline bool test_and_set_bit(unsigned nr, volatile unsigned long *addr) { - int val; + bool val; unsigned long mask = (1UL << (nr % BITS_PER_LONG)); smp_mb(); /* barrier for proper semantics */ val = (__insn_fetchor((void *)(addr + nr / BITS_PER_LONG), mask) @@ -64,9 +64,9 @@ static inline int test_and_set_bit(unsigned nr, volatile unsigned long *addr) } -static inline int test_and_clear_bit(unsigned nr, volatile unsigned long *addr) +static inline bool test_and_clear_bit(unsigned nr, volatile unsigned long *addr) { - int val; + bool val; unsigned long mask = (1UL << (nr % BITS_PER_LONG)); smp_mb(); /* barrier for proper semantics */ val = (__insn_fetchand((void *)(addr + nr / BITS_PER_LONG), ~mask) @@ -76,7 +76,7 @@ static inline int test_and_clear_bit(unsigned nr, volatile unsigned long *addr) } -static inline int test_and_change_bit(unsigned nr, +static inline bool test_and_change_bit(unsigned nr, volatile unsigned long *addr) { unsigned long mask = (1UL << (nr % BITS_PER_LONG)); diff --git a/arch/xtensa/include/asm/bitops.h b/arch/xtensa/include/asm/bitops.h index d349018..485d95d 100644 --- a/arch/xtensa/include/asm/bitops.h +++ b/arch/xtensa/include/asm/bitops.h @@ -154,7 +154,7 @@ static inline void change_bit(unsigned int bit, volatile unsigned long *p) : "memory"); } -static inline int +static inline bool test_and_set_bit(unsigned int bit, volatile unsigned long *p) { unsigned long tmp, value; @@ -175,7 +175,7 @@ test_and_set_bit(unsigned int bit, volatile unsigned long *p) return tmp & mask; } -static inline int +static inline bool test_and_clear_bit(unsigned int bit, volatile unsigned long *p) { unsigned long tmp, value; @@ -196,7 +196,7 @@ test_and_clear_bit(unsigned int bit, volatile unsigned long *p) return tmp & mask; } -static inline int +static inline bool test_and_change_bit(unsigned int bit, volatile unsigned long *p) { unsigned long tmp, value; diff --git a/include/asm-generic/bitops/atomic.h b/include/asm-generic/bitops/atomic.h index 4967351..eb68d8d 100644 --- a/include/asm-generic/bitops/atomic.h +++ b/include/asm-generic/bitops/atomic.h @@ -124,7 +124,7 @@ static inline void change_bit(int nr, volatile unsigned long *addr) * It may be reordered on other architectures than x86. * It also implies a memory barrier. */ -static inline int test_and_set_bit(int nr, volatile unsigned long *addr) +static inline bool test_and_set_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr); @@ -148,7 +148,7 @@ static inline int test_and_set_bit(int nr, volatile unsigned long *addr) * It can be reorderdered on other architectures other than x86. * It also implies a memory barrier. */ -static inline int test_and_clear_bit(int nr, volatile unsigned long *addr) +static inline bool test_and_clear_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr); @@ -171,7 +171,7 @@ static inline int test_and_clear_bit(int nr, volatile unsigned long *addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_change_bit(int nr, volatile unsigned long *addr) +static inline bool test_and_change_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr); diff --git a/include/asm-generic/bitops/le.h b/include/asm-generic/bitops/le.h index 6173154..c610b99 100644 --- a/include/asm-generic/bitops/le.h +++ b/include/asm-generic/bitops/le.h @@ -49,7 +49,7 @@ extern unsigned long find_next_bit_le(const void *addr, #error "Please fix <asm/byteorder.h>" #endif -static inline int test_bit_le(int nr, const void *addr) +static inline bool test_bit_le(int nr, const void *addr) { return test_bit(nr ^ BITOP_LE_SWIZZLE, addr); } @@ -74,22 +74,22 @@ static inline void __clear_bit_le(int nr, void *addr) __clear_bit(nr ^ BITOP_LE_SWIZZLE, addr); } -static inline int test_and_set_bit_le(int nr, void *addr) +static inline bool test_and_set_bit_le(int nr, void *addr) { return test_and_set_bit(nr ^ BITOP_LE_SWIZZLE, addr); } -static inline int test_and_clear_bit_le(int nr, void *addr) +static inline bool test_and_clear_bit_le(int nr, void *addr) { return test_and_clear_bit(nr ^ BITOP_LE_SWIZZLE, addr); } -static inline int __test_and_set_bit_le(int nr, void *addr) +static inline bool __test_and_set_bit_le(int nr, void *addr) { return __test_and_set_bit(nr ^ BITOP_LE_SWIZZLE, addr); } -static inline int __test_and_clear_bit_le(int nr, void *addr) +static inline bool __test_and_clear_bit_le(int nr, void *addr) { return __test_and_clear_bit(nr ^ BITOP_LE_SWIZZLE, addr); } diff --git a/include/asm-generic/bitops/non-atomic.h b/include/asm-generic/bitops/non-atomic.h index 697cc2b..fea2b40 100644 --- a/include/asm-generic/bitops/non-atomic.h +++ b/include/asm-generic/bitops/non-atomic.h @@ -54,7 +54,7 @@ static inline void __change_bit(int nr, volatile unsigned long *addr) * If two examples of this operation race, one can appear to succeed * but actually fail. You must protect multiple accesses with a lock. */ -static inline int __test_and_set_bit(int nr, volatile unsigned long *addr) +static inline bool __test_and_set_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr); @@ -73,7 +73,7 @@ static inline int __test_and_set_bit(int nr, volatile unsigned long *addr) * If two examples of this operation race, one can appear to succeed * but actually fail. You must protect multiple accesses with a lock. */ -static inline int __test_and_clear_bit(int nr, volatile unsigned long *addr) +static inline bool __test_and_clear_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr); @@ -84,7 +84,7 @@ static inline int __test_and_clear_bit(int nr, volatile unsigned long *addr) } /* WARNING: non atomic and it can be reordered! */ -static inline int __test_and_change_bit(int nr, +static inline bool __test_and_change_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); @@ -100,7 +100,7 @@ static inline int __test_and_change_bit(int nr, * @nr: bit number to test * @addr: Address to start counting from */ -static inline int test_bit(int nr, const volatile unsigned long *addr) +static inline bool test_bit(int nr, const volatile unsigned long *addr) { return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1))); } -- 1.9.3 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions @ 2016-08-28 14:55 ` chengang 0 siblings, 0 replies; 16+ messages in thread From: chengang @ 2016-08-28 14:55 UTC (permalink / raw) To: akpm Cc: minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias, davem, cmetcalf From: Chen Gang <gang.chen.5i5j@gmail.com> Also use the same changing to asm-generic, and also use bool variable instead of int variable for mips, mn10300, parisc and tile related functions, and also avoid checkpatch.pl to report ERROR. Include linux/types.h for alpha, arm, arm64, m68k, and openrisc to pass building. Originally, except powerpc and xtensa, all another architectures intend to return 0 or 1. After this patch, also let powerpc and xtensa return 0 or 1. Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com> --- arch/alpha/include/asm/bitops.h | 17 +++++++++-------- arch/arc/include/asm/bitops.h | 10 +++++----- arch/arm/include/asm/bitops.h | 13 +++++++------ arch/arm64/include/asm/bitops.h | 7 ++++--- arch/avr32/include/asm/bitops.h | 6 +++--- arch/blackfin/include/asm/bitops.h | 16 ++++++++-------- arch/frv/include/asm/bitops.h | 16 ++++++++-------- arch/h8300/include/asm/bitops.h | 4 ++-- arch/hexagon/include/asm/bitops.h | 14 +++++++------- arch/ia64/include/asm/bitops.h | 14 +++++++------- arch/m32r/include/asm/bitops.h | 6 +++--- arch/m68k/include/asm/bitops.h | 21 +++++++++++---------- arch/metag/include/asm/bitops.h | 6 +++--- arch/mips/include/asm/bitops.h | 16 ++++++++-------- arch/mips/lib/bitops.c | 16 ++++++++-------- arch/mn10300/include/asm/bitops.h | 7 ++++--- arch/openrisc/include/asm/bitops.h | 1 + arch/parisc/include/asm/bitops.h | 16 ++++++++-------- arch/powerpc/include/asm/bitops.h | 10 +++++----- arch/s390/include/asm/bitops.h | 18 +++++++++--------- arch/sh/include/asm/bitops-cas.h | 6 +++--- arch/sh/include/asm/bitops-grb.h | 6 +++--- arch/sh/include/asm/bitops-llsc.h | 6 +++--- arch/sh/include/asm/bitops-op32.h | 8 ++++---- arch/sparc/include/asm/bitops_32.h | 6 +++--- arch/sparc/include/asm/bitops_64.h | 6 +++--- arch/tile/include/asm/bitops_32.h | 6 +++--- arch/tile/include/asm/bitops_64.h | 10 +++++----- arch/xtensa/include/asm/bitops.h | 6 +++--- include/asm-generic/bitops/atomic.h | 6 +++--- include/asm-generic/bitops/le.h | 10 +++++----- include/asm-generic/bitops/non-atomic.h | 8 ++++---- 32 files changed, 162 insertions(+), 156 deletions(-) diff --git a/arch/alpha/include/asm/bitops.h b/arch/alpha/include/asm/bitops.h index 4bdfbd4..789b2bb 100644 --- a/arch/alpha/include/asm/bitops.h +++ b/arch/alpha/include/asm/bitops.h @@ -6,6 +6,7 @@ #endif #include <asm/compiler.h> +#include <linux/types.h> #include <asm/barrier.h> /* @@ -125,7 +126,7 @@ __change_bit(unsigned long nr, volatile void * addr) *m ^= 1 << (nr & 31); } -static inline int +static inline bool test_and_set_bit(unsigned long nr, volatile void *addr) { unsigned long oldbit; @@ -155,7 +156,7 @@ test_and_set_bit(unsigned long nr, volatile void *addr) return oldbit != 0; } -static inline int +static inline bool test_and_set_bit_lock(unsigned long nr, volatile void *addr) { unsigned long oldbit; @@ -185,7 +186,7 @@ test_and_set_bit_lock(unsigned long nr, volatile void *addr) /* * WARNING: non atomic version. */ -static inline int +static inline bool __test_and_set_bit(unsigned long nr, volatile void * addr) { unsigned long mask = 1 << (nr & 0x1f); @@ -196,7 +197,7 @@ __test_and_set_bit(unsigned long nr, volatile void * addr) return (old & mask) != 0; } -static inline int +static inline bool test_and_clear_bit(unsigned long nr, volatile void * addr) { unsigned long oldbit; @@ -229,7 +230,7 @@ test_and_clear_bit(unsigned long nr, volatile void * addr) /* * WARNING: non atomic version. */ -static inline int +static inline bool __test_and_clear_bit(unsigned long nr, volatile void * addr) { unsigned long mask = 1 << (nr & 0x1f); @@ -240,7 +241,7 @@ __test_and_clear_bit(unsigned long nr, volatile void * addr) return (old & mask) != 0; } -static inline int +static inline bool test_and_change_bit(unsigned long nr, volatile void * addr) { unsigned long oldbit; @@ -271,7 +272,7 @@ test_and_change_bit(unsigned long nr, volatile void * addr) /* * WARNING: non atomic version. */ -static __inline__ int +static __inline__ bool __test_and_change_bit(unsigned long nr, volatile void * addr) { unsigned long mask = 1 << (nr & 0x1f); @@ -282,7 +283,7 @@ __test_and_change_bit(unsigned long nr, volatile void * addr) return (old & mask) != 0; } -static inline int +static inline bool test_bit(int nr, const volatile void * addr) { return (1UL & (((const int *) addr)[nr >> 5] >> (nr & 31))) != 0UL; diff --git a/arch/arc/include/asm/bitops.h b/arch/arc/include/asm/bitops.h index 8da87fee..e1976ab 100644 --- a/arch/arc/include/asm/bitops.h +++ b/arch/arc/include/asm/bitops.h @@ -60,7 +60,7 @@ static inline void op##_bit(unsigned long nr, volatile unsigned long *m)\ * and the old value of bit is returned */ #define TEST_N_BIT_OP(op, c_op, asm_op) \ -static inline int test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ +static inline bool test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ { \ unsigned long old, temp; \ \ @@ -124,7 +124,7 @@ static inline void op##_bit(unsigned long nr, volatile unsigned long *m)\ } #define TEST_N_BIT_OP(op, c_op, asm_op) \ -static inline int test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ +static inline bool test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ { \ unsigned long old, flags; \ m += nr >> 5; \ @@ -160,7 +160,7 @@ static inline void op##_bit(unsigned long nr, volatile unsigned long *m)\ } #define TEST_N_BIT_OP(op, c_op, asm_op) \ -static inline int test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ +static inline bool test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ { \ unsigned long old; \ \ @@ -204,7 +204,7 @@ static inline void __##op##_bit(unsigned long nr, volatile unsigned long *m) \ } #define __TEST_N_BIT_OP(op, c_op, asm_op) \ -static inline int __test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ +static inline bool __test_and_##op##_bit(unsigned long nr, volatile unsigned long *m)\ { \ unsigned long old; \ m += nr >> 5; \ @@ -242,7 +242,7 @@ BIT_OPS(change, ^, CTOP_INST_AXOR_DI_R2_R2_R3) /* * This routine doesn't need to be atomic. */ -static inline int +static inline bool test_bit(unsigned int nr, const volatile unsigned long *addr) { unsigned long mask; diff --git a/arch/arm/include/asm/bitops.h b/arch/arm/include/asm/bitops.h index e943e6c..196bf2d 100644 --- a/arch/arm/include/asm/bitops.h +++ b/arch/arm/include/asm/bitops.h @@ -24,6 +24,7 @@ #endif #include <linux/compiler.h> +#include <linux/types.h> #include <linux/irqflags.h> #include <asm/barrier.h> @@ -68,7 +69,7 @@ static inline void ____atomic_change_bit(unsigned int bit, volatile unsigned lon raw_local_irq_restore(flags); } -static inline int +static inline bool ____atomic_test_and_set_bit(unsigned int bit, volatile unsigned long *p) { unsigned long flags; @@ -85,7 +86,7 @@ ____atomic_test_and_set_bit(unsigned int bit, volatile unsigned long *p) return (res & mask) != 0; } -static inline int +static inline bool ____atomic_test_and_clear_bit(unsigned int bit, volatile unsigned long *p) { unsigned long flags; @@ -102,7 +103,7 @@ ____atomic_test_and_clear_bit(unsigned int bit, volatile unsigned long *p) return (res & mask) != 0; } -static inline int +static inline bool ____atomic_test_and_change_bit(unsigned int bit, volatile unsigned long *p) { unsigned long flags; @@ -152,9 +153,9 @@ ____atomic_test_and_change_bit(unsigned int bit, volatile unsigned long *p) extern void _set_bit(int nr, volatile unsigned long * p); extern void _clear_bit(int nr, volatile unsigned long * p); extern void _change_bit(int nr, volatile unsigned long * p); -extern int _test_and_set_bit(int nr, volatile unsigned long * p); -extern int _test_and_clear_bit(int nr, volatile unsigned long * p); -extern int _test_and_change_bit(int nr, volatile unsigned long * p); +extern bool _test_and_set_bit(int nr, volatile unsigned long * p); +extern bool _test_and_clear_bit(int nr, volatile unsigned long * p); +extern bool _test_and_change_bit(int nr, volatile unsigned long * p); /* * Little endian assembly bitops. nr = 0 -> byte 0 bit 0. diff --git a/arch/arm64/include/asm/bitops.h b/arch/arm64/include/asm/bitops.h index 9c19594..1a94dc2 100644 --- a/arch/arm64/include/asm/bitops.h +++ b/arch/arm64/include/asm/bitops.h @@ -17,6 +17,7 @@ #define __ASM_BITOPS_H #include <linux/compiler.h> +#include <linux/types.h> #include <asm/barrier.h> #ifndef _LINUX_BITOPS_H @@ -29,9 +30,9 @@ extern void set_bit(int nr, volatile unsigned long *p); extern void clear_bit(int nr, volatile unsigned long *p); extern void change_bit(int nr, volatile unsigned long *p); -extern int test_and_set_bit(int nr, volatile unsigned long *p); -extern int test_and_clear_bit(int nr, volatile unsigned long *p); -extern int test_and_change_bit(int nr, volatile unsigned long *p); +extern bool test_and_set_bit(int nr, volatile unsigned long *p); +extern bool test_and_clear_bit(int nr, volatile unsigned long *p); +extern bool test_and_change_bit(int nr, volatile unsigned long *p); #include <asm-generic/bitops/builtin-__ffs.h> #include <asm-generic/bitops/builtin-ffs.h> diff --git a/arch/avr32/include/asm/bitops.h b/arch/avr32/include/asm/bitops.h index 910d537..0e3e08b 100644 --- a/arch/avr32/include/asm/bitops.h +++ b/arch/avr32/include/asm/bitops.h @@ -128,7 +128,7 @@ static inline void change_bit(int nr, volatile void * addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_set_bit(int nr, volatile void * addr) +static inline bool test_and_set_bit(int nr, volatile void * addr) { unsigned long *p = ((unsigned long *)addr) + nr / BITS_PER_LONG; unsigned long mask = 1UL << (nr % BITS_PER_LONG); @@ -168,7 +168,7 @@ static inline int test_and_set_bit(int nr, volatile void * addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_clear_bit(int nr, volatile void * addr) +static inline bool test_and_clear_bit(int nr, volatile void * addr) { unsigned long *p = ((unsigned long *)addr) + nr / BITS_PER_LONG; unsigned long mask = 1UL << (nr % BITS_PER_LONG); @@ -209,7 +209,7 @@ static inline int test_and_clear_bit(int nr, volatile void * addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_change_bit(int nr, volatile void * addr) +static inline bool test_and_change_bit(int nr, volatile void * addr) { unsigned long *p = ((unsigned long *)addr) + nr / BITS_PER_LONG; unsigned long mask = 1UL << (nr % BITS_PER_LONG); diff --git a/arch/blackfin/include/asm/bitops.h b/arch/blackfin/include/asm/bitops.h index b298b65..ff43a11 100644 --- a/arch/blackfin/include/asm/bitops.h +++ b/arch/blackfin/include/asm/bitops.h @@ -47,13 +47,13 @@ asmlinkage int __raw_bit_clear_asm(volatile unsigned long *addr, int nr); asmlinkage int __raw_bit_toggle_asm(volatile unsigned long *addr, int nr); -asmlinkage int __raw_bit_test_set_asm(volatile unsigned long *addr, int nr); +asmlinkage bool __raw_bit_test_set_asm(volatile unsigned long *addr, int nr); -asmlinkage int __raw_bit_test_clear_asm(volatile unsigned long *addr, int nr); +asmlinkage bool __raw_bit_test_clear_asm(volatile unsigned long *addr, int nr); -asmlinkage int __raw_bit_test_toggle_asm(volatile unsigned long *addr, int nr); +asmlinkage bool __raw_bit_test_toggle_asm(volatile unsigned long *addr, int nr); -asmlinkage int __raw_bit_test_asm(const volatile unsigned long *addr, int nr); +asmlinkage bool __raw_bit_test_asm(const volatile unsigned long *addr, int nr); static inline void set_bit(int nr, volatile unsigned long *addr) { @@ -73,25 +73,25 @@ static inline void change_bit(int nr, volatile unsigned long *addr) __raw_bit_toggle_asm(a, nr & 0x1f); } -static inline int test_bit(int nr, const volatile unsigned long *addr) +static inline bool test_bit(int nr, const volatile unsigned long *addr) { volatile const unsigned long *a = addr + (nr >> 5); return __raw_bit_test_asm(a, nr & 0x1f) != 0; } -static inline int test_and_set_bit(int nr, volatile unsigned long *addr) +static inline bool test_and_set_bit(int nr, volatile unsigned long *addr) { volatile unsigned long *a = addr + (nr >> 5); return __raw_bit_test_set_asm(a, nr & 0x1f); } -static inline int test_and_clear_bit(int nr, volatile unsigned long *addr) +static inline bool test_and_clear_bit(int nr, volatile unsigned long *addr) { volatile unsigned long *a = addr + (nr >> 5); return __raw_bit_test_clear_asm(a, nr & 0x1f); } -static inline int test_and_change_bit(int nr, volatile unsigned long *addr) +static inline bool test_and_change_bit(int nr, volatile unsigned long *addr) { volatile unsigned long *a = addr + (nr >> 5); return __raw_bit_test_toggle_asm(a, nr & 0x1f); diff --git a/arch/frv/include/asm/bitops.h b/arch/frv/include/asm/bitops.h index 0df8e95..c9bf93d 100644 --- a/arch/frv/include/asm/bitops.h +++ b/arch/frv/include/asm/bitops.h @@ -27,7 +27,7 @@ #include <asm/atomic.h> -static inline int test_and_clear_bit(unsigned long nr, volatile void *addr) +static inline bool test_and_clear_bit(unsigned long nr, volatile void *addr) { unsigned int *ptr = (void *)addr; unsigned int mask = 1UL << (nr & 31); @@ -35,7 +35,7 @@ static inline int test_and_clear_bit(unsigned long nr, volatile void *addr) return (__atomic32_fetch_and(~mask, ptr) & mask) != 0; } -static inline int test_and_set_bit(unsigned long nr, volatile void *addr) +static inline bool test_and_set_bit(unsigned long nr, volatile void *addr) { unsigned int *ptr = (void *)addr; unsigned int mask = 1UL << (nr & 31); @@ -43,7 +43,7 @@ static inline int test_and_set_bit(unsigned long nr, volatile void *addr) return (__atomic32_fetch_or(mask, ptr) & mask) != 0; } -static inline int test_and_change_bit(unsigned long nr, volatile void *addr) +static inline bool test_and_change_bit(unsigned long nr, volatile void *addr) { unsigned int *ptr = (void *)addr; unsigned int mask = 1UL << (nr & 31); @@ -96,7 +96,7 @@ static inline void __change_bit(unsigned long nr, volatile void *addr) *a ^= mask; } -static inline int __test_and_clear_bit(unsigned long nr, volatile void *addr) +static inline bool __test_and_clear_bit(unsigned long nr, volatile void *addr) { volatile unsigned long *a = addr; int mask, retval; @@ -108,7 +108,7 @@ static inline int __test_and_clear_bit(unsigned long nr, volatile void *addr) return retval; } -static inline int __test_and_set_bit(unsigned long nr, volatile void *addr) +static inline bool __test_and_set_bit(unsigned long nr, volatile void *addr) { volatile unsigned long *a = addr; int mask, retval; @@ -120,7 +120,7 @@ static inline int __test_and_set_bit(unsigned long nr, volatile void *addr) return retval; } -static inline int __test_and_change_bit(unsigned long nr, volatile void *addr) +static inline bool __test_and_change_bit(unsigned long nr, volatile void *addr) { volatile unsigned long *a = addr; int mask, retval; @@ -135,13 +135,13 @@ static inline int __test_and_change_bit(unsigned long nr, volatile void *addr) /* * This routine doesn't need to be atomic. */ -static inline int +static inline bool __constant_test_bit(unsigned long nr, const volatile void *addr) { return ((1UL << (nr & 31)) & (((const volatile unsigned int *) addr)[nr >> 5])) != 0; } -static inline int __test_bit(unsigned long nr, const volatile void *addr) +static inline bool __test_bit(unsigned long nr, const volatile void *addr) { int * a = (int *) addr; int mask; diff --git a/arch/h8300/include/asm/bitops.h b/arch/h8300/include/asm/bitops.h index 05999ab..8f6dfc6 100644 --- a/arch/h8300/include/asm/bitops.h +++ b/arch/h8300/include/asm/bitops.h @@ -65,7 +65,7 @@ H8300_GEN_BITOP(change_bit, "bnot") #undef H8300_GEN_BITOP -static inline int test_bit(int nr, const unsigned long *addr) +static inline bool test_bit(int nr, const unsigned long *addr) { int ret = 0; unsigned char *b_addr; @@ -91,7 +91,7 @@ static inline int test_bit(int nr, const unsigned long *addr) #define __test_bit(nr, addr) test_bit(nr, addr) #define H8300_GEN_TEST_BITOP(FNNAME, OP) \ -static inline int FNNAME(int nr, void *addr) \ +static inline bool FNNAME(int nr, void *addr) \ { \ int retval = 0; \ char ccrsave; \ diff --git a/arch/hexagon/include/asm/bitops.h b/arch/hexagon/include/asm/bitops.h index 5e4a59b..fa6b32c 100644 --- a/arch/hexagon/include/asm/bitops.h +++ b/arch/hexagon/include/asm/bitops.h @@ -42,7 +42,7 @@ * @nr: bit number to clear * @addr: pointer to memory */ -static inline int test_and_clear_bit(int nr, volatile void *addr) +static inline bool test_and_clear_bit(int nr, volatile void *addr) { int oldval; @@ -66,7 +66,7 @@ static inline int test_and_clear_bit(int nr, volatile void *addr) * @nr: bit number to set * @addr: pointer to memory */ -static inline int test_and_set_bit(int nr, volatile void *addr) +static inline bool test_and_set_bit(int nr, volatile void *addr) { int oldval; @@ -92,7 +92,7 @@ static inline int test_and_set_bit(int nr, volatile void *addr) * @nr: bit number to set * @addr: pointer to memory */ -static inline int test_and_change_bit(int nr, volatile void *addr) +static inline bool test_and_change_bit(int nr, volatile void *addr) { int oldval; @@ -157,22 +157,22 @@ static inline void __change_bit(int nr, volatile unsigned long *addr) } /* Apparently, at least some of these are allowed to be non-atomic */ -static inline int __test_and_clear_bit(int nr, volatile unsigned long *addr) +static inline bool __test_and_clear_bit(int nr, volatile unsigned long *addr) { return test_and_clear_bit(nr, addr); } -static inline int __test_and_set_bit(int nr, volatile unsigned long *addr) +static inline bool __test_and_set_bit(int nr, volatile unsigned long *addr) { return test_and_set_bit(nr, addr); } -static inline int __test_and_change_bit(int nr, volatile unsigned long *addr) +static inline bool __test_and_change_bit(int nr, volatile unsigned long *addr) { return test_and_change_bit(nr, addr); } -static inline int __test_bit(int nr, const volatile unsigned long *addr) +static inline bool __test_bit(int nr, const volatile unsigned long *addr) { int retval; diff --git a/arch/ia64/include/asm/bitops.h b/arch/ia64/include/asm/bitops.h index 71e8145..38edf72 100644 --- a/arch/ia64/include/asm/bitops.h +++ b/arch/ia64/include/asm/bitops.h @@ -196,7 +196,7 @@ __change_bit (int nr, volatile void *addr) * This operation is atomic and cannot be reordered. * It also implies the acquisition side of the memory barrier. */ -static __inline__ int +static __inline__ bool test_and_set_bit (int nr, volatile void *addr) { __u32 bit, old, new; @@ -231,7 +231,7 @@ test_and_set_bit (int nr, volatile void *addr) * If two examples of this operation race, one can appear to succeed * but actually fail. You must protect multiple accesses with a lock. */ -static __inline__ int +static __inline__ bool __test_and_set_bit (int nr, volatile void *addr) { __u32 *p = (__u32 *) addr + (nr >> 5); @@ -250,7 +250,7 @@ __test_and_set_bit (int nr, volatile void *addr) * This operation is atomic and cannot be reordered. * It also implies the acquisition side of the memory barrier. */ -static __inline__ int +static __inline__ bool test_and_clear_bit (int nr, volatile void *addr) { __u32 mask, old, new; @@ -276,7 +276,7 @@ test_and_clear_bit (int nr, volatile void *addr) * If two examples of this operation race, one can appear to succeed * but actually fail. You must protect multiple accesses with a lock. */ -static __inline__ int +static __inline__ bool __test_and_clear_bit(int nr, volatile void * addr) { __u32 *p = (__u32 *) addr + (nr >> 5); @@ -295,7 +295,7 @@ __test_and_clear_bit(int nr, volatile void * addr) * This operation is atomic and cannot be reordered. * It also implies the acquisition side of the memory barrier. */ -static __inline__ int +static __inline__ bool test_and_change_bit (int nr, volatile void *addr) { __u32 bit, old, new; @@ -319,7 +319,7 @@ test_and_change_bit (int nr, volatile void *addr) * * This operation is non-atomic and can be reordered. */ -static __inline__ int +static __inline__ bool __test_and_change_bit (int nr, void *addr) { __u32 old, bit = (1 << (nr & 31)); @@ -330,7 +330,7 @@ __test_and_change_bit (int nr, void *addr) return (old & bit) != 0; } -static __inline__ int +static __inline__ bool test_bit (int nr, const volatile void *addr) { return 1 & (((const volatile __u32 *) addr)[nr >> 5] >> (nr & 31)); diff --git a/arch/m32r/include/asm/bitops.h b/arch/m32r/include/asm/bitops.h index 86ba2b4..5f12ceb 100644 --- a/arch/m32r/include/asm/bitops.h +++ b/arch/m32r/include/asm/bitops.h @@ -147,7 +147,7 @@ static __inline__ void change_bit(int nr, volatile void * addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static __inline__ int test_and_set_bit(int nr, volatile void * addr) +static __inline__ bool test_and_set_bit(int nr, volatile void * addr) { __u32 mask, oldbit; volatile __u32 *a = addr; @@ -182,7 +182,7 @@ static __inline__ int test_and_set_bit(int nr, volatile void * addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static __inline__ int test_and_clear_bit(int nr, volatile void * addr) +static __inline__ bool test_and_clear_bit(int nr, volatile void * addr) { __u32 mask, oldbit; volatile __u32 *a = addr; @@ -219,7 +219,7 @@ static __inline__ int test_and_clear_bit(int nr, volatile void * addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static __inline__ int test_and_change_bit(int nr, volatile void * addr) +static __inline__ bool test_and_change_bit(int nr, volatile void * addr) { __u32 mask, oldbit; volatile __u32 *a = addr; diff --git a/arch/m68k/include/asm/bitops.h b/arch/m68k/include/asm/bitops.h index b4a9b0d..bad8c18 100644 --- a/arch/m68k/include/asm/bitops.h +++ b/arch/m68k/include/asm/bitops.h @@ -13,6 +13,7 @@ #endif #include <linux/compiler.h> +#include <linux/types.h> #include <asm/barrier.h> /* @@ -148,13 +149,13 @@ static inline void bfchg_mem_change_bit(int nr, volatile unsigned long *vaddr) #define __change_bit(nr, vaddr) change_bit(nr, vaddr) -static inline int test_bit(int nr, const unsigned long *vaddr) +static inline bool test_bit(int nr, const unsigned long *vaddr) { return (vaddr[nr >> 5] & (1UL << (nr & 31))) != 0; } -static inline int bset_reg_test_and_set_bit(int nr, +static inline bool bset_reg_test_and_set_bit(int nr, volatile unsigned long *vaddr) { char *p = (char *)vaddr + (nr ^ 31) / 8; @@ -167,7 +168,7 @@ static inline int bset_reg_test_and_set_bit(int nr, return retval; } -static inline int bset_mem_test_and_set_bit(int nr, +static inline bool bset_mem_test_and_set_bit(int nr, volatile unsigned long *vaddr) { char *p = (char *)vaddr + (nr ^ 31) / 8; @@ -179,7 +180,7 @@ static inline int bset_mem_test_and_set_bit(int nr, return retval; } -static inline int bfset_mem_test_and_set_bit(int nr, +static inline bool bfset_mem_test_and_set_bit(int nr, volatile unsigned long *vaddr) { char retval; @@ -204,7 +205,7 @@ static inline int bfset_mem_test_and_set_bit(int nr, #define __test_and_set_bit(nr, vaddr) test_and_set_bit(nr, vaddr) -static inline int bclr_reg_test_and_clear_bit(int nr, +static inline bool bclr_reg_test_and_clear_bit(int nr, volatile unsigned long *vaddr) { char *p = (char *)vaddr + (nr ^ 31) / 8; @@ -217,7 +218,7 @@ static inline int bclr_reg_test_and_clear_bit(int nr, return retval; } -static inline int bclr_mem_test_and_clear_bit(int nr, +static inline bool bclr_mem_test_and_clear_bit(int nr, volatile unsigned long *vaddr) { char *p = (char *)vaddr + (nr ^ 31) / 8; @@ -229,7 +230,7 @@ static inline int bclr_mem_test_and_clear_bit(int nr, return retval; } -static inline int bfclr_mem_test_and_clear_bit(int nr, +static inline bool bfclr_mem_test_and_clear_bit(int nr, volatile unsigned long *vaddr) { char retval; @@ -254,7 +255,7 @@ static inline int bfclr_mem_test_and_clear_bit(int nr, #define __test_and_clear_bit(nr, vaddr) test_and_clear_bit(nr, vaddr) -static inline int bchg_reg_test_and_change_bit(int nr, +static inline bool bchg_reg_test_and_change_bit(int nr, volatile unsigned long *vaddr) { char *p = (char *)vaddr + (nr ^ 31) / 8; @@ -267,7 +268,7 @@ static inline int bchg_reg_test_and_change_bit(int nr, return retval; } -static inline int bchg_mem_test_and_change_bit(int nr, +static inline bool bchg_mem_test_and_change_bit(int nr, volatile unsigned long *vaddr) { char *p = (char *)vaddr + (nr ^ 31) / 8; @@ -279,7 +280,7 @@ static inline int bchg_mem_test_and_change_bit(int nr, return retval; } -static inline int bfchg_mem_test_and_change_bit(int nr, +static inline bool bfchg_mem_test_and_change_bit(int nr, volatile unsigned long *vaddr) { char retval; diff --git a/arch/metag/include/asm/bitops.h b/arch/metag/include/asm/bitops.h index 2671134..11df061 100644 --- a/arch/metag/include/asm/bitops.h +++ b/arch/metag/include/asm/bitops.h @@ -48,7 +48,7 @@ static inline void change_bit(unsigned int bit, volatile unsigned long *p) __global_unlock1(flags); } -static inline int test_and_set_bit(unsigned int bit, volatile unsigned long *p) +static inline bool test_and_set_bit(unsigned int bit, volatile unsigned long *p) { unsigned long flags; unsigned long old; @@ -67,7 +67,7 @@ static inline int test_and_set_bit(unsigned int bit, volatile unsigned long *p) return (old & mask) != 0; } -static inline int test_and_clear_bit(unsigned int bit, +static inline bool test_and_clear_bit(unsigned int bit, volatile unsigned long *p) { unsigned long flags; @@ -87,7 +87,7 @@ static inline int test_and_clear_bit(unsigned int bit, return (old & mask) != 0; } -static inline int test_and_change_bit(unsigned int bit, +static inline bool test_and_change_bit(unsigned int bit, volatile unsigned long *p) { unsigned long flags; diff --git a/arch/mips/include/asm/bitops.h b/arch/mips/include/asm/bitops.h index fa57cef..7e53c66 100644 --- a/arch/mips/include/asm/bitops.h +++ b/arch/mips/include/asm/bitops.h @@ -30,13 +30,13 @@ void __mips_set_bit(unsigned long nr, volatile unsigned long *addr); void __mips_clear_bit(unsigned long nr, volatile unsigned long *addr); void __mips_change_bit(unsigned long nr, volatile unsigned long *addr); -int __mips_test_and_set_bit(unsigned long nr, +bool __mips_test_and_set_bit(unsigned long nr, volatile unsigned long *addr); -int __mips_test_and_set_bit_lock(unsigned long nr, +bool __mips_test_and_set_bit_lock(unsigned long nr, volatile unsigned long *addr); -int __mips_test_and_clear_bit(unsigned long nr, +bool __mips_test_and_clear_bit(unsigned long nr, volatile unsigned long *addr); -int __mips_test_and_change_bit(unsigned long nr, +bool __mips_test_and_change_bit(unsigned long nr, volatile unsigned long *addr); @@ -210,7 +210,7 @@ static inline void change_bit(unsigned long nr, volatile unsigned long *addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_set_bit(unsigned long nr, +static inline bool test_and_set_bit(unsigned long nr, volatile unsigned long *addr) { int bit = nr & SZLONG_MASK; @@ -266,7 +266,7 @@ static inline int test_and_set_bit(unsigned long nr, * This operation is atomic and implies acquire ordering semantics * after the memory operation. */ -static inline int test_and_set_bit_lock(unsigned long nr, +static inline bool test_and_set_bit_lock(unsigned long nr, volatile unsigned long *addr) { int bit = nr & SZLONG_MASK; @@ -319,7 +319,7 @@ static inline int test_and_set_bit_lock(unsigned long nr, * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_clear_bit(unsigned long nr, +static inline bool test_and_clear_bit(unsigned long nr, volatile unsigned long *addr) { int bit = nr & SZLONG_MASK; @@ -393,7 +393,7 @@ static inline int test_and_clear_bit(unsigned long nr, * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_change_bit(unsigned long nr, +static inline bool test_and_change_bit(unsigned long nr, volatile unsigned long *addr) { int bit = nr & SZLONG_MASK; diff --git a/arch/mips/lib/bitops.c b/arch/mips/lib/bitops.c index 3b2a1e7..8f0ba2a 100644 --- a/arch/mips/lib/bitops.c +++ b/arch/mips/lib/bitops.c @@ -83,14 +83,14 @@ EXPORT_SYMBOL(__mips_change_bit); * @nr: Bit to set * @addr: Address to count from */ -int __mips_test_and_set_bit(unsigned long nr, +bool __mips_test_and_set_bit(unsigned long nr, volatile unsigned long *addr) { unsigned long *a = (unsigned long *)addr; unsigned bit = nr & SZLONG_MASK; unsigned long mask; unsigned long flags; - int res; + bool res; a += nr >> SZLONG_LOG; mask = 1UL << bit; @@ -109,14 +109,14 @@ EXPORT_SYMBOL(__mips_test_and_set_bit); * @nr: Bit to set * @addr: Address to count from */ -int __mips_test_and_set_bit_lock(unsigned long nr, +bool __mips_test_and_set_bit_lock(unsigned long nr, volatile unsigned long *addr) { unsigned long *a = (unsigned long *)addr; unsigned bit = nr & SZLONG_MASK; unsigned long mask; unsigned long flags; - int res; + bool res; a += nr >> SZLONG_LOG; mask = 1UL << bit; @@ -135,13 +135,13 @@ EXPORT_SYMBOL(__mips_test_and_set_bit_lock); * @nr: Bit to clear * @addr: Address to count from */ -int __mips_test_and_clear_bit(unsigned long nr, volatile unsigned long *addr) +bool __mips_test_and_clear_bit(unsigned long nr, volatile unsigned long *addr) { unsigned long *a = (unsigned long *)addr; unsigned bit = nr & SZLONG_MASK; unsigned long mask; unsigned long flags; - int res; + bool res; a += nr >> SZLONG_LOG; mask = 1UL << bit; @@ -160,13 +160,13 @@ EXPORT_SYMBOL(__mips_test_and_clear_bit); * @nr: Bit to change * @addr: Address to count from */ -int __mips_test_and_change_bit(unsigned long nr, volatile unsigned long *addr) +bool __mips_test_and_change_bit(unsigned long nr, volatile unsigned long *addr) { unsigned long *a = (unsigned long *)addr; unsigned bit = nr & SZLONG_MASK; unsigned long mask; unsigned long flags; - int res; + bool res; a += nr >> SZLONG_LOG; mask = 1UL << bit; diff --git a/arch/mn10300/include/asm/bitops.h b/arch/mn10300/include/asm/bitops.h index fe6f8e2..5b00e95 100644 --- a/arch/mn10300/include/asm/bitops.h +++ b/arch/mn10300/include/asm/bitops.h @@ -68,7 +68,7 @@ static inline void __clear_bit(unsigned long nr, volatile void *addr) /* * test bit */ -static inline int test_bit(unsigned long nr, const volatile void *addr) +static inline bool test_bit(unsigned long nr, const volatile void *addr) { return 1UL & (((const volatile unsigned int *) addr)[nr >> 5] >> (nr & 31)); } @@ -133,9 +133,10 @@ extern void change_bit(unsigned long nr, volatile void *addr); /* * test and change bit */ -static inline int __test_and_change_bit(unsigned long nr, volatile void *addr) +static inline bool __test_and_change_bit(unsigned long nr, volatile void *addr) { - int mask, retval; + int mask; + bool retval; unsigned int *a = (unsigned int *)addr; a += nr >> 5; diff --git a/arch/openrisc/include/asm/bitops.h b/arch/openrisc/include/asm/bitops.h index 3003cda..8b503de 100644 --- a/arch/openrisc/include/asm/bitops.h +++ b/arch/openrisc/include/asm/bitops.h @@ -27,6 +27,7 @@ #include <linux/irqflags.h> #include <linux/compiler.h> +#include <linux/types.h> #include <asm/barrier.h> #include <asm/bitops/__ffs.h> diff --git a/arch/parisc/include/asm/bitops.h b/arch/parisc/include/asm/bitops.h index 3f9406d..bac163d 100644 --- a/arch/parisc/include/asm/bitops.h +++ b/arch/parisc/include/asm/bitops.h @@ -59,17 +59,17 @@ static __inline__ void change_bit(int nr, volatile unsigned long * addr) _atomic_spin_unlock_irqrestore(addr, flags); } -static __inline__ int test_and_set_bit(int nr, volatile unsigned long * addr) +static __inline__ bool test_and_set_bit(int nr, volatile unsigned long * addr) { unsigned long mask = 1UL << CHOP_SHIFTCOUNT(nr); unsigned long old; unsigned long flags; - int set; + bool set; addr += (nr >> SHIFT_PER_LONG); _atomic_spin_lock_irqsave(addr, flags); old = *addr; - set = (old & mask) ? 1 : 0; + set = (old & mask) ? true : false; if (!set) *addr = old | mask; _atomic_spin_unlock_irqrestore(addr, flags); @@ -77,17 +77,17 @@ static __inline__ int test_and_set_bit(int nr, volatile unsigned long * addr) return set; } -static __inline__ int test_and_clear_bit(int nr, volatile unsigned long * addr) +static __inline__ bool test_and_clear_bit(int nr, volatile unsigned long * addr) { unsigned long mask = 1UL << CHOP_SHIFTCOUNT(nr); unsigned long old; unsigned long flags; - int set; + bool set; addr += (nr >> SHIFT_PER_LONG); _atomic_spin_lock_irqsave(addr, flags); old = *addr; - set = (old & mask) ? 1 : 0; + set = (old & mask) ? true : false; if (set) *addr = old & ~mask; _atomic_spin_unlock_irqrestore(addr, flags); @@ -95,7 +95,7 @@ static __inline__ int test_and_clear_bit(int nr, volatile unsigned long * addr) return set; } -static __inline__ int test_and_change_bit(int nr, volatile unsigned long * addr) +static __inline__ bool test_and_change_bit(int nr, volatile unsigned long * addr) { unsigned long mask = 1UL << CHOP_SHIFTCOUNT(nr); unsigned long oldbit; @@ -107,7 +107,7 @@ static __inline__ int test_and_change_bit(int nr, volatile unsigned long * addr) *addr = oldbit ^ mask; _atomic_spin_unlock_irqrestore(addr, flags); - return (oldbit & mask) ? 1 : 0; + return (oldbit & mask) ? true : false; } #include <asm-generic/bitops/non-atomic.h> diff --git a/arch/powerpc/include/asm/bitops.h b/arch/powerpc/include/asm/bitops.h index 59abc62..7838138 100644 --- a/arch/powerpc/include/asm/bitops.h +++ b/arch/powerpc/include/asm/bitops.h @@ -100,7 +100,7 @@ static __inline__ void change_bit(int nr, volatile unsigned long *addr) /* Like DEFINE_BITOP(), with changes to the arguments to 'op' and the output * operands. */ #define DEFINE_TESTOP(fn, op, prefix, postfix, eh) \ -static __inline__ unsigned long fn( \ +static __inline__ bool fn( \ unsigned long mask, \ volatile unsigned long *_p) \ { \ @@ -129,26 +129,26 @@ DEFINE_TESTOP(test_and_clear_bits, andc, PPC_ATOMIC_ENTRY_BARRIER, DEFINE_TESTOP(test_and_change_bits, xor, PPC_ATOMIC_ENTRY_BARRIER, PPC_ATOMIC_EXIT_BARRIER, 0) -static __inline__ int test_and_set_bit(unsigned long nr, +static __inline__ bool test_and_set_bit(unsigned long nr, volatile unsigned long *addr) { return test_and_set_bits(BIT_MASK(nr), addr + BIT_WORD(nr)) != 0; } -static __inline__ int test_and_set_bit_lock(unsigned long nr, +static __inline__ bool test_and_set_bit_lock(unsigned long nr, volatile unsigned long *addr) { return test_and_set_bits_lock(BIT_MASK(nr), addr + BIT_WORD(nr)) != 0; } -static __inline__ int test_and_clear_bit(unsigned long nr, +static __inline__ bool test_and_clear_bit(unsigned long nr, volatile unsigned long *addr) { return test_and_clear_bits(BIT_MASK(nr), addr + BIT_WORD(nr)) != 0; } -static __inline__ int test_and_change_bit(unsigned long nr, +static __inline__ bool test_and_change_bit(unsigned long nr, volatile unsigned long *addr) { return test_and_change_bits(BIT_MASK(nr), addr + BIT_WORD(nr)) != 0; diff --git a/arch/s390/include/asm/bitops.h b/arch/s390/include/asm/bitops.h index 8043f10..71e6202 100644 --- a/arch/s390/include/asm/bitops.h +++ b/arch/s390/include/asm/bitops.h @@ -173,7 +173,7 @@ static inline void change_bit(unsigned long nr, volatile unsigned long *ptr) __BITOPS_LOOP(addr, mask, __BITOPS_XOR, __BITOPS_NO_BARRIER); } -static inline int +static inline bool test_and_set_bit(unsigned long nr, volatile unsigned long *ptr) { unsigned long *addr = __bitops_word(nr, ptr); @@ -184,7 +184,7 @@ test_and_set_bit(unsigned long nr, volatile unsigned long *ptr) return (old & mask) != 0; } -static inline int +static inline bool test_and_clear_bit(unsigned long nr, volatile unsigned long *ptr) { unsigned long *addr = __bitops_word(nr, ptr); @@ -195,7 +195,7 @@ test_and_clear_bit(unsigned long nr, volatile unsigned long *ptr) return (old & ~mask) != 0; } -static inline int +static inline bool test_and_change_bit(unsigned long nr, volatile unsigned long *ptr) { unsigned long *addr = __bitops_word(nr, ptr); @@ -228,7 +228,7 @@ static inline void __change_bit(unsigned long nr, volatile unsigned long *ptr) *addr ^= 1 << (nr & 7); } -static inline int +static inline bool __test_and_set_bit(unsigned long nr, volatile unsigned long *ptr) { unsigned char *addr = __bitops_byte(nr, ptr); @@ -239,7 +239,7 @@ __test_and_set_bit(unsigned long nr, volatile unsigned long *ptr) return (ch >> (nr & 7)) & 1; } -static inline int +static inline bool __test_and_clear_bit(unsigned long nr, volatile unsigned long *ptr) { unsigned char *addr = __bitops_byte(nr, ptr); @@ -250,7 +250,7 @@ __test_and_clear_bit(unsigned long nr, volatile unsigned long *ptr) return (ch >> (nr & 7)) & 1; } -static inline int +static inline bool __test_and_change_bit(unsigned long nr, volatile unsigned long *ptr) { unsigned char *addr = __bitops_byte(nr, ptr); @@ -261,7 +261,7 @@ __test_and_change_bit(unsigned long nr, volatile unsigned long *ptr) return (ch >> (nr & 7)) & 1; } -static inline int test_bit(unsigned long nr, const volatile unsigned long *ptr) +static inline bool test_bit(unsigned long nr, const volatile unsigned long *ptr) { const volatile unsigned char *addr; @@ -270,7 +270,7 @@ static inline int test_bit(unsigned long nr, const volatile unsigned long *ptr) return (*addr >> (nr & 7)) & 1; } -static inline int test_and_set_bit_lock(unsigned long nr, +static inline bool test_and_set_bit_lock(unsigned long nr, volatile unsigned long *ptr) { if (test_bit(nr, ptr)) @@ -321,7 +321,7 @@ static inline void __clear_bit_inv(unsigned long nr, volatile unsigned long *ptr return __clear_bit(nr ^ (BITS_PER_LONG - 1), ptr); } -static inline int test_bit_inv(unsigned long nr, +static inline bool test_bit_inv(unsigned long nr, const volatile unsigned long *ptr) { return test_bit(nr ^ (BITS_PER_LONG - 1), ptr); diff --git a/arch/sh/include/asm/bitops-cas.h b/arch/sh/include/asm/bitops-cas.h index 88f793c..c4fde9c 100644 --- a/arch/sh/include/asm/bitops-cas.h +++ b/arch/sh/include/asm/bitops-cas.h @@ -46,7 +46,7 @@ static inline void change_bit(int nr, volatile void *addr) while (__bo_cas(a, old, old^mask) != old); } -static inline int test_and_set_bit(int nr, volatile void *addr) +static inline bool test_and_set_bit(int nr, volatile void *addr) { unsigned mask, old; volatile unsigned *a = addr; @@ -60,7 +60,7 @@ static inline int test_and_set_bit(int nr, volatile void *addr) return !!(old & mask); } -static inline int test_and_clear_bit(int nr, volatile void *addr) +static inline bool test_and_clear_bit(int nr, volatile void *addr) { unsigned mask, old; volatile unsigned *a = addr; @@ -74,7 +74,7 @@ static inline int test_and_clear_bit(int nr, volatile void *addr) return !!(old & mask); } -static inline int test_and_change_bit(int nr, volatile void *addr) +static inline bool test_and_change_bit(int nr, volatile void *addr) { unsigned mask, old; volatile unsigned *a = addr; diff --git a/arch/sh/include/asm/bitops-grb.h b/arch/sh/include/asm/bitops-grb.h index e73af33..866f26a 100644 --- a/arch/sh/include/asm/bitops-grb.h +++ b/arch/sh/include/asm/bitops-grb.h @@ -71,7 +71,7 @@ static inline void change_bit(int nr, volatile void * addr) : "memory" , "r0", "r1"); } -static inline int test_and_set_bit(int nr, volatile void * addr) +static inline bool test_and_set_bit(int nr, volatile void * addr) { int mask, retval; volatile unsigned int *a = addr; @@ -102,7 +102,7 @@ static inline int test_and_set_bit(int nr, volatile void * addr) return retval; } -static inline int test_and_clear_bit(int nr, volatile void * addr) +static inline bool test_and_clear_bit(int nr, volatile void * addr) { int mask, retval,not_mask; volatile unsigned int *a = addr; @@ -136,7 +136,7 @@ static inline int test_and_clear_bit(int nr, volatile void * addr) return retval; } -static inline int test_and_change_bit(int nr, volatile void * addr) +static inline bool test_and_change_bit(int nr, volatile void * addr) { int mask, retval; volatile unsigned int *a = addr; diff --git a/arch/sh/include/asm/bitops-llsc.h b/arch/sh/include/asm/bitops-llsc.h index d8328be..7dcf5ea 100644 --- a/arch/sh/include/asm/bitops-llsc.h +++ b/arch/sh/include/asm/bitops-llsc.h @@ -64,7 +64,7 @@ static inline void change_bit(int nr, volatile void *addr) ); } -static inline int test_and_set_bit(int nr, volatile void *addr) +static inline bool test_and_set_bit(int nr, volatile void *addr) { int mask, retval; volatile unsigned int *a = addr; @@ -89,7 +89,7 @@ static inline int test_and_set_bit(int nr, volatile void *addr) return retval != 0; } -static inline int test_and_clear_bit(int nr, volatile void *addr) +static inline bool test_and_clear_bit(int nr, volatile void *addr) { int mask, retval; volatile unsigned int *a = addr; @@ -115,7 +115,7 @@ static inline int test_and_clear_bit(int nr, volatile void *addr) return retval != 0; } -static inline int test_and_change_bit(int nr, volatile void *addr) +static inline bool test_and_change_bit(int nr, volatile void *addr) { int mask, retval; volatile unsigned int *a = addr; diff --git a/arch/sh/include/asm/bitops-op32.h b/arch/sh/include/asm/bitops-op32.h index f0ae7e9..f677a4e 100644 --- a/arch/sh/include/asm/bitops-op32.h +++ b/arch/sh/include/asm/bitops-op32.h @@ -88,7 +88,7 @@ static inline void __change_bit(int nr, volatile unsigned long *addr) * If two examples of this operation race, one can appear to succeed * but actually fail. You must protect multiple accesses with a lock. */ -static inline int __test_and_set_bit(int nr, volatile unsigned long *addr) +static inline bool __test_and_set_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr); @@ -107,7 +107,7 @@ static inline int __test_and_set_bit(int nr, volatile unsigned long *addr) * If two examples of this operation race, one can appear to succeed * but actually fail. You must protect multiple accesses with a lock. */ -static inline int __test_and_clear_bit(int nr, volatile unsigned long *addr) +static inline bool __test_and_clear_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr); @@ -118,7 +118,7 @@ static inline int __test_and_clear_bit(int nr, volatile unsigned long *addr) } /* WARNING: non atomic and it can be reordered! */ -static inline int __test_and_change_bit(int nr, +static inline bool __test_and_change_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); @@ -134,7 +134,7 @@ static inline int __test_and_change_bit(int nr, * @nr: bit number to test * @addr: Address to start counting from */ -static inline int test_bit(int nr, const volatile unsigned long *addr) +static inline bool test_bit(int nr, const volatile unsigned long *addr) { return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1))); } diff --git a/arch/sparc/include/asm/bitops_32.h b/arch/sparc/include/asm/bitops_32.h index 600ed1d..afe275a 100644 --- a/arch/sparc/include/asm/bitops_32.h +++ b/arch/sparc/include/asm/bitops_32.h @@ -28,7 +28,7 @@ unsigned long ___change_bit(unsigned long *addr, unsigned long mask); * within the first byte. Sparc is BIG-Endian. Unless noted otherwise * all bit-ops return 0 if bit was previously clear and != 0 otherwise. */ -static inline int test_and_set_bit(unsigned long nr, volatile unsigned long *addr) +static inline bool test_and_set_bit(unsigned long nr, volatile unsigned long *addr) { unsigned long *ADDR, mask; @@ -48,7 +48,7 @@ static inline void set_bit(unsigned long nr, volatile unsigned long *addr) (void) ___set_bit(ADDR, mask); } -static inline int test_and_clear_bit(unsigned long nr, volatile unsigned long *addr) +static inline bool test_and_clear_bit(unsigned long nr, volatile unsigned long *addr) { unsigned long *ADDR, mask; @@ -68,7 +68,7 @@ static inline void clear_bit(unsigned long nr, volatile unsigned long *addr) (void) ___clear_bit(ADDR, mask); } -static inline int test_and_change_bit(unsigned long nr, volatile unsigned long *addr) +static inline bool test_and_change_bit(unsigned long nr, volatile unsigned long *addr) { unsigned long *ADDR, mask; diff --git a/arch/sparc/include/asm/bitops_64.h b/arch/sparc/include/asm/bitops_64.h index 2d52240..8cbd032 100644 --- a/arch/sparc/include/asm/bitops_64.h +++ b/arch/sparc/include/asm/bitops_64.h @@ -15,9 +15,9 @@ #include <asm/byteorder.h> #include <asm/barrier.h> -int test_and_set_bit(unsigned long nr, volatile unsigned long *addr); -int test_and_clear_bit(unsigned long nr, volatile unsigned long *addr); -int test_and_change_bit(unsigned long nr, volatile unsigned long *addr); +bool test_and_set_bit(unsigned long nr, volatile unsigned long *addr); +bool test_and_clear_bit(unsigned long nr, volatile unsigned long *addr); +bool test_and_change_bit(unsigned long nr, volatile unsigned long *addr); void set_bit(unsigned long nr, volatile unsigned long *addr); void clear_bit(unsigned long nr, volatile unsigned long *addr); void change_bit(unsigned long nr, volatile unsigned long *addr); diff --git a/arch/tile/include/asm/bitops_32.h b/arch/tile/include/asm/bitops_32.h index d1406a9..9ef0ba4 100644 --- a/arch/tile/include/asm/bitops_32.h +++ b/arch/tile/include/asm/bitops_32.h @@ -80,7 +80,7 @@ static inline void change_bit(unsigned nr, volatile unsigned long *addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_set_bit(unsigned nr, volatile unsigned long *addr) +static inline bool test_and_set_bit(unsigned nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); addr += BIT_WORD(nr); @@ -96,7 +96,7 @@ static inline int test_and_set_bit(unsigned nr, volatile unsigned long *addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_clear_bit(unsigned nr, volatile unsigned long *addr) +static inline bool test_and_clear_bit(unsigned nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); addr += BIT_WORD(nr); @@ -112,7 +112,7 @@ static inline int test_and_clear_bit(unsigned nr, volatile unsigned long *addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_change_bit(unsigned nr, +static inline bool test_and_change_bit(unsigned nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); diff --git a/arch/tile/include/asm/bitops_64.h b/arch/tile/include/asm/bitops_64.h index bb1a292..d970306 100644 --- a/arch/tile/include/asm/bitops_64.h +++ b/arch/tile/include/asm/bitops_64.h @@ -52,9 +52,9 @@ static inline void change_bit(unsigned nr, volatile unsigned long *addr) * barrier(), to block until the atomic op is complete. */ -static inline int test_and_set_bit(unsigned nr, volatile unsigned long *addr) +static inline bool test_and_set_bit(unsigned nr, volatile unsigned long *addr) { - int val; + bool val; unsigned long mask = (1UL << (nr % BITS_PER_LONG)); smp_mb(); /* barrier for proper semantics */ val = (__insn_fetchor((void *)(addr + nr / BITS_PER_LONG), mask) @@ -64,9 +64,9 @@ static inline int test_and_set_bit(unsigned nr, volatile unsigned long *addr) } -static inline int test_and_clear_bit(unsigned nr, volatile unsigned long *addr) +static inline bool test_and_clear_bit(unsigned nr, volatile unsigned long *addr) { - int val; + bool val; unsigned long mask = (1UL << (nr % BITS_PER_LONG)); smp_mb(); /* barrier for proper semantics */ val = (__insn_fetchand((void *)(addr + nr / BITS_PER_LONG), ~mask) @@ -76,7 +76,7 @@ static inline int test_and_clear_bit(unsigned nr, volatile unsigned long *addr) } -static inline int test_and_change_bit(unsigned nr, +static inline bool test_and_change_bit(unsigned nr, volatile unsigned long *addr) { unsigned long mask = (1UL << (nr % BITS_PER_LONG)); diff --git a/arch/xtensa/include/asm/bitops.h b/arch/xtensa/include/asm/bitops.h index d349018..485d95d 100644 --- a/arch/xtensa/include/asm/bitops.h +++ b/arch/xtensa/include/asm/bitops.h @@ -154,7 +154,7 @@ static inline void change_bit(unsigned int bit, volatile unsigned long *p) : "memory"); } -static inline int +static inline bool test_and_set_bit(unsigned int bit, volatile unsigned long *p) { unsigned long tmp, value; @@ -175,7 +175,7 @@ test_and_set_bit(unsigned int bit, volatile unsigned long *p) return tmp & mask; } -static inline int +static inline bool test_and_clear_bit(unsigned int bit, volatile unsigned long *p) { unsigned long tmp, value; @@ -196,7 +196,7 @@ test_and_clear_bit(unsigned int bit, volatile unsigned long *p) return tmp & mask; } -static inline int +static inline bool test_and_change_bit(unsigned int bit, volatile unsigned long *p) { unsigned long tmp, value; diff --git a/include/asm-generic/bitops/atomic.h b/include/asm-generic/bitops/atomic.h index 4967351..eb68d8d 100644 --- a/include/asm-generic/bitops/atomic.h +++ b/include/asm-generic/bitops/atomic.h @@ -124,7 +124,7 @@ static inline void change_bit(int nr, volatile unsigned long *addr) * It may be reordered on other architectures than x86. * It also implies a memory barrier. */ -static inline int test_and_set_bit(int nr, volatile unsigned long *addr) +static inline bool test_and_set_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr); @@ -148,7 +148,7 @@ static inline int test_and_set_bit(int nr, volatile unsigned long *addr) * It can be reorderdered on other architectures other than x86. * It also implies a memory barrier. */ -static inline int test_and_clear_bit(int nr, volatile unsigned long *addr) +static inline bool test_and_clear_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr); @@ -171,7 +171,7 @@ static inline int test_and_clear_bit(int nr, volatile unsigned long *addr) * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_change_bit(int nr, volatile unsigned long *addr) +static inline bool test_and_change_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr); diff --git a/include/asm-generic/bitops/le.h b/include/asm-generic/bitops/le.h index 6173154..c610b99 100644 --- a/include/asm-generic/bitops/le.h +++ b/include/asm-generic/bitops/le.h @@ -49,7 +49,7 @@ extern unsigned long find_next_bit_le(const void *addr, #error "Please fix <asm/byteorder.h>" #endif -static inline int test_bit_le(int nr, const void *addr) +static inline bool test_bit_le(int nr, const void *addr) { return test_bit(nr ^ BITOP_LE_SWIZZLE, addr); } @@ -74,22 +74,22 @@ static inline void __clear_bit_le(int nr, void *addr) __clear_bit(nr ^ BITOP_LE_SWIZZLE, addr); } -static inline int test_and_set_bit_le(int nr, void *addr) +static inline bool test_and_set_bit_le(int nr, void *addr) { return test_and_set_bit(nr ^ BITOP_LE_SWIZZLE, addr); } -static inline int test_and_clear_bit_le(int nr, void *addr) +static inline bool test_and_clear_bit_le(int nr, void *addr) { return test_and_clear_bit(nr ^ BITOP_LE_SWIZZLE, addr); } -static inline int __test_and_set_bit_le(int nr, void *addr) +static inline bool __test_and_set_bit_le(int nr, void *addr) { return __test_and_set_bit(nr ^ BITOP_LE_SWIZZLE, addr); } -static inline int __test_and_clear_bit_le(int nr, void *addr) +static inline bool __test_and_clear_bit_le(int nr, void *addr) { return __test_and_clear_bit(nr ^ BITOP_LE_SWIZZLE, addr); } diff --git a/include/asm-generic/bitops/non-atomic.h b/include/asm-generic/bitops/non-atomic.h index 697cc2b..fea2b40 100644 --- a/include/asm-generic/bitops/non-atomic.h +++ b/include/asm-generic/bitops/non-atomic.h @@ -54,7 +54,7 @@ static inline void __change_bit(int nr, volatile unsigned long *addr) * If two examples of this operation race, one can appear to succeed * but actually fail. You must protect multiple accesses with a lock. */ -static inline int __test_and_set_bit(int nr, volatile unsigned long *addr) +static inline bool __test_and_set_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr); @@ -73,7 +73,7 @@ static inline int __test_and_set_bit(int nr, volatile unsigned long *addr) * If two examples of this operation race, one can appear to succeed * but actually fail. You must protect multiple accesses with a lock. */ -static inline int __test_and_clear_bit(int nr, volatile unsigned long *addr) +static inline bool __test_and_clear_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr); @@ -84,7 +84,7 @@ static inline int __test_and_clear_bit(int nr, volatile unsigned long *addr) } /* WARNING: non atomic and it can be reordered! */ -static inline int __test_and_change_bit(int nr, +static inline bool __test_and_change_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); @@ -100,7 +100,7 @@ static inline int __test_and_change_bit(int nr, * @nr: bit number to test * @addr: Address to start counting from */ -static inline int test_bit(int nr, const volatile unsigned long *addr) +static inline bool test_bit(int nr, const volatile unsigned long *addr) { return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1))); } -- 1.9.3 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions 2016-08-28 14:55 ` chengang @ 2016-08-28 20:21 ` kbuild test robot -1 siblings, 0 replies; 16+ messages in thread From: kbuild test robot @ 2016-08-28 20:21 UTC (permalink / raw) To: chengang Cc: kbuild-all, akpm, minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias, davem, cmetcalf, chris, jcmvbkbc, arnd, noamc, brueckner, mingo, peterz, linux-arch, Chen Gang [-- Attachment #1: Type: text/plain, Size: 23135 bytes --] Hi Chen, [auto build test WARNING on linus/master] [also build test WARNING on v4.8-rc3 next-20160825] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/chengang-emindsoft-com-cn/arch-all-include-asm-bitops-Use-bool-instead-of-int-for-all-bit-test-functions/20160828-230301 config: m68k-allmodconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 4.9.0 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m68k All warnings (new ones prefixed by >>): In file included from include/linux/bitops.h:36:0, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/module.h:9, from drivers/isdn/hardware/mISDN/hfcsusb.c:33: drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'hfcusb_l2l1D': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> drivers/isdn/hardware/mISDN/hfcsusb.c:324:5: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L2_ACTIVATED, ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ >> drivers/isdn/hardware/mISDN/hfcsusb.c:337:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L2_ACTIVATED, &dch->Flags); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:352:4: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_TX_BUSY, &dch->Flags); ^ drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'hfc_l1callback': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:401:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_TX_BUSY, &dch->Flags); ^ arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:404:3: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_ACTIVE, &dch->Flags); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:409:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_ACTIVE, &dch->Flags); ^ drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'open_dchannel': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:436:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_ACTIVE, &hw->dch.Flags); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:437:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_ACTIVE, &hw->ech.Flags); ^ drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'ph_state_nt': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:641:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_ACTIVE, &dch->Flags); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:642:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L2_ACTIVATED, &dch->Flags); ^ arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:663:3: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_ACTIVE, &dch->Flags); ^ drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'rx_iso_complete': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> include/linux/mISDNhw.h:83:6: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(ev, &((s)->Flags)); \ ^ >> drivers/isdn/hardware/mISDN/hfcsusb.c:1068:4: note: in expansion of macro 'schedule_event' schedule_event(&hw->dch, FLG_PHCHANGE); ^ drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'rx_int_complete': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> include/linux/mISDNhw.h:83:6: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(ev, &((s)->Flags)); \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:1139:4: note: in expansion of macro 'schedule_event' schedule_event(&hw->dch, FLG_PHCHANGE); ^ drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'tx_iso_complete': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> include/linux/mISDNhw.h:83:6: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(ev, &((s)->Flags)); \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:1368:5: note: in expansion of macro 'schedule_event' schedule_event(&hw->dch, FLG_PHCHANGE); ^ drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'hfc_bctrl': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:1814:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_OPEN, &bch->Flags); ^ -- In file included from include/linux/bitops.h:36:0, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/timer.h:4, from drivers/isdn/hisax/config.c:19: drivers/isdn/hisax/config.c: In function 'hisax_cs_new': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> drivers/isdn/hisax/config.c:1051:3: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_TWO_DCHAN, &cs->HW_Flags); ^ drivers/isdn/hisax/config.c: In function 'hisax_b_l1l2': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> drivers/isdn/hisax/hisax.h:972:36: note: in expansion of macro 'test_and_set_bit' #define schedule_event(s, ev) do { test_and_set_bit(ev, &s->event); schedule_work(&s->tqueue); } while (0) ^ >> drivers/isdn/hisax/config.c:1764:4: note: in expansion of macro 'schedule_event' schedule_event(bcs, B_ACKPENDING); ^ drivers/isdn/hisax/config.c: In function 'hisax_b_l2l1': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ >> drivers/isdn/hisax/config.c:1844:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(BC_FLG_BUSY, &bcs->Flag); ^ -- In file included from include/linux/bitops.h:36:0, from include/linux/kernel.h:10, from include/asm-generic/bug.h:13, from arch/m68k/include/asm/bug.h:28, from include/linux/bug.h:4, from include/linux/mmdebug.h:4, from include/linux/gfp.h:4, from drivers/isdn/hisax/isdnl1.c:22: drivers/isdn/hisax/isdnl1.c: In function 'L1deactivated': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ >> drivers/isdn/hisax/isdnl1.c:182:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L1_DBUSY, &cs->HW_Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'l1_deact_req_s': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> drivers/isdn/hisax/isdnl1.c:480:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L1_DEACTTIMER, &st->l1.Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'l1_power_up_s': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:492:3: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L1_T3RUN, &st->l1.Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'l1_info4_ind': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:541:3: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L1_ACTTIMER, &st->l1.Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'l1_timer3': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:550:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L1_T3RUN, &st->l1.Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'l1_timer_act': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:568:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L1_ACTTIMER, &st->l1.Flags); ^ arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:569:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L1_ACTIVATED, &st->l1.Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'l1_timer_deact': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:578:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L1_DEACTTIMER, &st->l1.Flags); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:579:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L1_ACTIVATED, &st->l1.Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'l1_activate_no': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:598:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L1_ACTIVATING, &st->l1.Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'dch_l2l1': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:818:4: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L1_ACTIVATING, &st->l1.Flags); ^ -- In file included from include/linux/bitops.h:36:0, from include/linux/kernel.h:10, from include/asm-generic/bug.h:13, from arch/m68k/include/asm/bug.h:28, from include/linux/bug.h:4, from include/linux/mmdebug.h:4, from include/linux/gfp.h:4, from drivers/isdn/hisax/isdnl2.c:19: drivers/isdn/hisax/isdnl2.c: In function 'set_peer_busy': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> drivers/isdn/hisax/isdnl2.c:111:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_PEER_BUSY, &l2->flag); ^ arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:114:3: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L2BLOCK, &l2->flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'clear_peer_busy': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ >> drivers/isdn/hisax/isdnl2.c:120:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L2BLOCK, &l2->flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'clear_exception': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:177:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_ACK_PEND, &l2->flag); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:178:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_REJEXC, &l2->flag); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:179:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_OWN_BUSY, &l2->flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'start_t200': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:460:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_T200_RUN, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'restart_t200': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:467:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_T200_RUN, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'establishlink': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:510:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_PEND_REL, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'l2_mdl_error_dm': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:538:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L3_INIT, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'l2_st8_mdl_error_dm': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:554:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L3_INIT, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'l2_establish': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:638:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L3_INIT, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'l2_discard_i_setl3': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:647:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L3_INIT, &st->l2.flag); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:648:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_PEND_REL, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'l2_l3_reestablish': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:658:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L3_INIT, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'l2_pend_rel': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:674:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_PEND_REL, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'l2_reestablish': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:844:3: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L3_INIT, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'enquiry_response': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ .. vim +/test_and_set_bit +324 drivers/isdn/hardware/mISDN/hfcsusb.c 69f52adb Karsten Keil 2009-01-09 318 _queue_data(&dch->dev.D, 69f52adb Karsten Keil 2009-01-09 319 PH_ACTIVATE_IND, MISDN_ID_ANY, 0, 69f52adb Karsten Keil 2009-01-09 320 NULL, GFP_ATOMIC); 69f52adb Karsten Keil 2009-01-09 321 } else { 69f52adb Karsten Keil 2009-01-09 322 hfcsusb_ph_command(hw, 69f52adb Karsten Keil 2009-01-09 323 HFC_L1_ACTIVATE_NT); 69f52adb Karsten Keil 2009-01-09 @324 test_and_set_bit(FLG_L2_ACTIVATED, 69f52adb Karsten Keil 2009-01-09 325 &dch->Flags); 69f52adb Karsten Keil 2009-01-09 326 } 69f52adb Karsten Keil 2009-01-09 327 } else { 69f52adb Karsten Keil 2009-01-09 328 hfcsusb_ph_command(hw, HFC_L1_ACTIVATE_TE); 69f52adb Karsten Keil 2009-01-09 329 ret = l1_event(dch->l1, hh->prim); 69f52adb Karsten Keil 2009-01-09 330 } 69f52adb Karsten Keil 2009-01-09 331 break; 69f52adb Karsten Keil 2009-01-09 332 69f52adb Karsten Keil 2009-01-09 333 case PH_DEACTIVATE_REQ: 69f52adb Karsten Keil 2009-01-09 334 if (debug & DBG_HFC_CALL_TRACE) 69f52adb Karsten Keil 2009-01-09 335 printk(KERN_DEBUG "%s: %s: PH_DEACTIVATE_REQ\n", 69f52adb Karsten Keil 2009-01-09 336 hw->name, __func__); 69f52adb Karsten Keil 2009-01-09 @337 test_and_clear_bit(FLG_L2_ACTIVATED, &dch->Flags); 69f52adb Karsten Keil 2009-01-09 338 69f52adb Karsten Keil 2009-01-09 339 if (hw->protocol == ISDN_P_NT_S0) { 69f52adb Karsten Keil 2009-01-09 340 hfcsusb_ph_command(hw, HFC_L1_DEACTIVATE_NT); :::::: The code at line 324 was first introduced by commit :::::: 69f52adb2d534afc41fcc658f155e01f0b322f9e mISDN: Add HFC USB driver :::::: TO: Karsten Keil <kkeil@suse.de> :::::: CC: Karsten Keil <kkeil@suse.de> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [-- Attachment #2: .config.gz --] [-- Type: application/octet-stream, Size: 37476 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions @ 2016-08-28 20:21 ` kbuild test robot 0 siblings, 0 replies; 16+ messages in thread From: kbuild test robot @ 2016-08-28 20:21 UTC (permalink / raw) To: chengang Cc: kbuild-all, akpm, minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias [-- Attachment #1: Type: text/plain, Size: 23135 bytes --] Hi Chen, [auto build test WARNING on linus/master] [also build test WARNING on v4.8-rc3 next-20160825] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/chengang-emindsoft-com-cn/arch-all-include-asm-bitops-Use-bool-instead-of-int-for-all-bit-test-functions/20160828-230301 config: m68k-allmodconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 4.9.0 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m68k All warnings (new ones prefixed by >>): In file included from include/linux/bitops.h:36:0, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/module.h:9, from drivers/isdn/hardware/mISDN/hfcsusb.c:33: drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'hfcusb_l2l1D': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> drivers/isdn/hardware/mISDN/hfcsusb.c:324:5: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L2_ACTIVATED, ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ >> drivers/isdn/hardware/mISDN/hfcsusb.c:337:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L2_ACTIVATED, &dch->Flags); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:352:4: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_TX_BUSY, &dch->Flags); ^ drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'hfc_l1callback': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:401:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_TX_BUSY, &dch->Flags); ^ arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:404:3: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_ACTIVE, &dch->Flags); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:409:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_ACTIVE, &dch->Flags); ^ drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'open_dchannel': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:436:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_ACTIVE, &hw->dch.Flags); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:437:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_ACTIVE, &hw->ech.Flags); ^ drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'ph_state_nt': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:641:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_ACTIVE, &dch->Flags); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:642:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L2_ACTIVATED, &dch->Flags); ^ arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:663:3: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_ACTIVE, &dch->Flags); ^ drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'rx_iso_complete': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> include/linux/mISDNhw.h:83:6: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(ev, &((s)->Flags)); \ ^ >> drivers/isdn/hardware/mISDN/hfcsusb.c:1068:4: note: in expansion of macro 'schedule_event' schedule_event(&hw->dch, FLG_PHCHANGE); ^ drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'rx_int_complete': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> include/linux/mISDNhw.h:83:6: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(ev, &((s)->Flags)); \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:1139:4: note: in expansion of macro 'schedule_event' schedule_event(&hw->dch, FLG_PHCHANGE); ^ drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'tx_iso_complete': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> include/linux/mISDNhw.h:83:6: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(ev, &((s)->Flags)); \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:1368:5: note: in expansion of macro 'schedule_event' schedule_event(&hw->dch, FLG_PHCHANGE); ^ drivers/isdn/hardware/mISDN/hfcsusb.c: In function 'hfc_bctrl': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hardware/mISDN/hfcsusb.c:1814:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_OPEN, &bch->Flags); ^ -- In file included from include/linux/bitops.h:36:0, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/timer.h:4, from drivers/isdn/hisax/config.c:19: drivers/isdn/hisax/config.c: In function 'hisax_cs_new': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> drivers/isdn/hisax/config.c:1051:3: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_TWO_DCHAN, &cs->HW_Flags); ^ drivers/isdn/hisax/config.c: In function 'hisax_b_l1l2': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> drivers/isdn/hisax/hisax.h:972:36: note: in expansion of macro 'test_and_set_bit' #define schedule_event(s, ev) do { test_and_set_bit(ev, &s->event); schedule_work(&s->tqueue); } while (0) ^ >> drivers/isdn/hisax/config.c:1764:4: note: in expansion of macro 'schedule_event' schedule_event(bcs, B_ACKPENDING); ^ drivers/isdn/hisax/config.c: In function 'hisax_b_l2l1': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ >> drivers/isdn/hisax/config.c:1844:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(BC_FLG_BUSY, &bcs->Flag); ^ -- In file included from include/linux/bitops.h:36:0, from include/linux/kernel.h:10, from include/asm-generic/bug.h:13, from arch/m68k/include/asm/bug.h:28, from include/linux/bug.h:4, from include/linux/mmdebug.h:4, from include/linux/gfp.h:4, from drivers/isdn/hisax/isdnl1.c:22: drivers/isdn/hisax/isdnl1.c: In function 'L1deactivated': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ >> drivers/isdn/hisax/isdnl1.c:182:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L1_DBUSY, &cs->HW_Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'l1_deact_req_s': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> drivers/isdn/hisax/isdnl1.c:480:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L1_DEACTTIMER, &st->l1.Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'l1_power_up_s': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:492:3: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L1_T3RUN, &st->l1.Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'l1_info4_ind': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:541:3: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L1_ACTTIMER, &st->l1.Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'l1_timer3': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:550:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L1_T3RUN, &st->l1.Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'l1_timer_act': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:568:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L1_ACTTIMER, &st->l1.Flags); ^ arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:569:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L1_ACTIVATED, &st->l1.Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'l1_timer_deact': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:578:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L1_DEACTTIMER, &st->l1.Flags); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:579:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L1_ACTIVATED, &st->l1.Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'l1_activate_no': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:598:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L1_ACTIVATING, &st->l1.Flags); ^ drivers/isdn/hisax/isdnl1.c: In function 'dch_l2l1': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl1.c:818:4: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L1_ACTIVATING, &st->l1.Flags); ^ -- In file included from include/linux/bitops.h:36:0, from include/linux/kernel.h:10, from include/asm-generic/bug.h:13, from arch/m68k/include/asm/bug.h:28, from include/linux/bug.h:4, from include/linux/mmdebug.h:4, from include/linux/gfp.h:4, from drivers/isdn/hisax/isdnl2.c:19: drivers/isdn/hisax/isdnl2.c: In function 'set_peer_busy': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ >> drivers/isdn/hisax/isdnl2.c:111:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_PEER_BUSY, &l2->flag); ^ arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:114:3: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L2BLOCK, &l2->flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'clear_peer_busy': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ >> drivers/isdn/hisax/isdnl2.c:120:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L2BLOCK, &l2->flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'clear_exception': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:177:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_ACK_PEND, &l2->flag); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:178:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_REJEXC, &l2->flag); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:179:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_OWN_BUSY, &l2->flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'start_t200': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:460:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_T200_RUN, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'restart_t200': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:467:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_T200_RUN, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'establishlink': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:510:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_PEND_REL, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'l2_mdl_error_dm': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:538:3: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L3_INIT, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'l2_st8_mdl_error_dm': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:554:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_L3_INIT, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'l2_establish': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:638:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L3_INIT, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'l2_discard_i_setl3': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:647:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L3_INIT, &st->l2.flag); ^ arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:648:2: note: in expansion of macro 'test_and_clear_bit' test_and_clear_bit(FLG_PEND_REL, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'l2_l3_reestablish': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:658:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L3_INIT, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'l2_pend_rel': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:674:2: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_PEND_REL, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'l2_reestablish': arch/m68k/include/asm/bitops.h:201:43: warning: value computed is not used [-Wunused-value] bset_mem_test_and_set_bit(nr, vaddr) : \ ^ drivers/isdn/hisax/isdnl2.c:844:3: note: in expansion of macro 'test_and_set_bit' test_and_set_bit(FLG_L3_INIT, &st->l2.flag); ^ drivers/isdn/hisax/isdnl2.c: In function 'enquiry_response': arch/m68k/include/asm/bitops.h:251:45: warning: value computed is not used [-Wunused-value] bclr_mem_test_and_clear_bit(nr, vaddr) : \ .. vim +/test_and_set_bit +324 drivers/isdn/hardware/mISDN/hfcsusb.c 69f52adb Karsten Keil 2009-01-09 318 _queue_data(&dch->dev.D, 69f52adb Karsten Keil 2009-01-09 319 PH_ACTIVATE_IND, MISDN_ID_ANY, 0, 69f52adb Karsten Keil 2009-01-09 320 NULL, GFP_ATOMIC); 69f52adb Karsten Keil 2009-01-09 321 } else { 69f52adb Karsten Keil 2009-01-09 322 hfcsusb_ph_command(hw, 69f52adb Karsten Keil 2009-01-09 323 HFC_L1_ACTIVATE_NT); 69f52adb Karsten Keil 2009-01-09 @324 test_and_set_bit(FLG_L2_ACTIVATED, 69f52adb Karsten Keil 2009-01-09 325 &dch->Flags); 69f52adb Karsten Keil 2009-01-09 326 } 69f52adb Karsten Keil 2009-01-09 327 } else { 69f52adb Karsten Keil 2009-01-09 328 hfcsusb_ph_command(hw, HFC_L1_ACTIVATE_TE); 69f52adb Karsten Keil 2009-01-09 329 ret = l1_event(dch->l1, hh->prim); 69f52adb Karsten Keil 2009-01-09 330 } 69f52adb Karsten Keil 2009-01-09 331 break; 69f52adb Karsten Keil 2009-01-09 332 69f52adb Karsten Keil 2009-01-09 333 case PH_DEACTIVATE_REQ: 69f52adb Karsten Keil 2009-01-09 334 if (debug & DBG_HFC_CALL_TRACE) 69f52adb Karsten Keil 2009-01-09 335 printk(KERN_DEBUG "%s: %s: PH_DEACTIVATE_REQ\n", 69f52adb Karsten Keil 2009-01-09 336 hw->name, __func__); 69f52adb Karsten Keil 2009-01-09 @337 test_and_clear_bit(FLG_L2_ACTIVATED, &dch->Flags); 69f52adb Karsten Keil 2009-01-09 338 69f52adb Karsten Keil 2009-01-09 339 if (hw->protocol == ISDN_P_NT_S0) { 69f52adb Karsten Keil 2009-01-09 340 hfcsusb_ph_command(hw, HFC_L1_DEACTIVATE_NT); :::::: The code at line 324 was first introduced by commit :::::: 69f52adb2d534afc41fcc658f155e01f0b322f9e mISDN: Add HFC USB driver :::::: TO: Karsten Keil <kkeil@suse.de> :::::: CC: Karsten Keil <kkeil@suse.de> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [-- Attachment #2: .config.gz --] [-- Type: application/octet-stream, Size: 37476 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions 2016-08-28 14:55 ` chengang @ 2016-09-04 0:07 ` kbuild test robot -1 siblings, 0 replies; 16+ messages in thread From: kbuild test robot @ 2016-09-04 0:07 UTC (permalink / raw) To: chengang Cc: kbuild-all, akpm, minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias, davem, cmetcalf, chris, jcmvbkbc, arnd, noamc, brueckner, mingo, peterz, linux-arch, Chen Gang [-- Attachment #1: Type: text/plain, Size: 4523 bytes --] Hi Chen, [auto build test ERROR on linus/master] [also build test ERROR on v4.8-rc4 next-20160825] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/chengang-emindsoft-com-cn/arch-all-include-asm-bitops-Use-bool-instead-of-int-for-all-bit-test-functions/20160828-230301 config: powerpc-makalu_defconfig (attached as .config) compiler: powerpc-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=powerpc All errors (new ones prefixed by >>): In file included from include/linux/bitops.h:36:0, from include/linux/radix-tree.h:24, from kernel/memremap.c:13: >> arch/powerpc/include/asm/bitops.h:103:19: error: unknown type name 'bool' static __inline__ bool fn( \ ^ arch/powerpc/include/asm/bitops.h:123:1: note: in expansion of macro 'DEFINE_TESTOP' DEFINE_TESTOP(test_and_set_bits, or, PPC_ATOMIC_ENTRY_BARRIER, ^ >> arch/powerpc/include/asm/bitops.h:103:19: error: unknown type name 'bool' static __inline__ bool fn( \ ^ arch/powerpc/include/asm/bitops.h:125:1: note: in expansion of macro 'DEFINE_TESTOP' DEFINE_TESTOP(test_and_set_bits_lock, or, "", ^ >> arch/powerpc/include/asm/bitops.h:103:19: error: unknown type name 'bool' static __inline__ bool fn( \ ^ arch/powerpc/include/asm/bitops.h:127:1: note: in expansion of macro 'DEFINE_TESTOP' DEFINE_TESTOP(test_and_clear_bits, andc, PPC_ATOMIC_ENTRY_BARRIER, ^ >> arch/powerpc/include/asm/bitops.h:103:19: error: unknown type name 'bool' static __inline__ bool fn( \ ^ arch/powerpc/include/asm/bitops.h:129:1: note: in expansion of macro 'DEFINE_TESTOP' DEFINE_TESTOP(test_and_change_bits, xor, PPC_ATOMIC_ENTRY_BARRIER, ^ arch/powerpc/include/asm/bitops.h:132:19: error: unknown type name 'bool' static __inline__ bool test_and_set_bit(unsigned long nr, ^ arch/powerpc/include/asm/bitops.h:138:19: error: unknown type name 'bool' static __inline__ bool test_and_set_bit_lock(unsigned long nr, ^ arch/powerpc/include/asm/bitops.h:145:19: error: unknown type name 'bool' static __inline__ bool test_and_clear_bit(unsigned long nr, ^ arch/powerpc/include/asm/bitops.h:151:19: error: unknown type name 'bool' static __inline__ bool test_and_change_bit(unsigned long nr, ^ In file included from arch/powerpc/include/asm/bitops.h:157:0, from include/linux/bitops.h:36, from include/linux/radix-tree.h:24, from kernel/memremap.c:13: >> include/asm-generic/bitops/non-atomic.h:57:15: error: unknown type name 'bool' static inline bool __test_and_set_bit(int nr, volatile unsigned long *addr) ^ include/asm-generic/bitops/non-atomic.h:76:15: error: unknown type name 'bool' static inline bool __test_and_clear_bit(int nr, volatile unsigned long *addr) ^ include/asm-generic/bitops/non-atomic.h:87:15: error: unknown type name 'bool' static inline bool __test_and_change_bit(int nr, ^ include/asm-generic/bitops/non-atomic.h:103:15: error: unknown type name 'bool' static inline bool test_bit(int nr, const volatile unsigned long *addr) ^ vim +/bool +103 arch/powerpc/include/asm/bitops.h 97 change_bits(BIT_MASK(nr), addr + BIT_WORD(nr)); 98 } 99 100 /* Like DEFINE_BITOP(), with changes to the arguments to 'op' and the output 101 * operands. */ 102 #define DEFINE_TESTOP(fn, op, prefix, postfix, eh) \ > 103 static __inline__ bool fn( \ 104 unsigned long mask, \ 105 volatile unsigned long *_p) \ 106 { \ --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [-- Attachment #2: .config.gz --] [-- Type: application/octet-stream, Size: 11123 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions @ 2016-09-04 0:07 ` kbuild test robot 0 siblings, 0 replies; 16+ messages in thread From: kbuild test robot @ 2016-09-04 0:07 UTC (permalink / raw) To: chengang Cc: kbuild-all, akpm, minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias [-- Attachment #1: Type: text/plain, Size: 4523 bytes --] Hi Chen, [auto build test ERROR on linus/master] [also build test ERROR on v4.8-rc4 next-20160825] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/chengang-emindsoft-com-cn/arch-all-include-asm-bitops-Use-bool-instead-of-int-for-all-bit-test-functions/20160828-230301 config: powerpc-makalu_defconfig (attached as .config) compiler: powerpc-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=powerpc All errors (new ones prefixed by >>): In file included from include/linux/bitops.h:36:0, from include/linux/radix-tree.h:24, from kernel/memremap.c:13: >> arch/powerpc/include/asm/bitops.h:103:19: error: unknown type name 'bool' static __inline__ bool fn( \ ^ arch/powerpc/include/asm/bitops.h:123:1: note: in expansion of macro 'DEFINE_TESTOP' DEFINE_TESTOP(test_and_set_bits, or, PPC_ATOMIC_ENTRY_BARRIER, ^ >> arch/powerpc/include/asm/bitops.h:103:19: error: unknown type name 'bool' static __inline__ bool fn( \ ^ arch/powerpc/include/asm/bitops.h:125:1: note: in expansion of macro 'DEFINE_TESTOP' DEFINE_TESTOP(test_and_set_bits_lock, or, "", ^ >> arch/powerpc/include/asm/bitops.h:103:19: error: unknown type name 'bool' static __inline__ bool fn( \ ^ arch/powerpc/include/asm/bitops.h:127:1: note: in expansion of macro 'DEFINE_TESTOP' DEFINE_TESTOP(test_and_clear_bits, andc, PPC_ATOMIC_ENTRY_BARRIER, ^ >> arch/powerpc/include/asm/bitops.h:103:19: error: unknown type name 'bool' static __inline__ bool fn( \ ^ arch/powerpc/include/asm/bitops.h:129:1: note: in expansion of macro 'DEFINE_TESTOP' DEFINE_TESTOP(test_and_change_bits, xor, PPC_ATOMIC_ENTRY_BARRIER, ^ arch/powerpc/include/asm/bitops.h:132:19: error: unknown type name 'bool' static __inline__ bool test_and_set_bit(unsigned long nr, ^ arch/powerpc/include/asm/bitops.h:138:19: error: unknown type name 'bool' static __inline__ bool test_and_set_bit_lock(unsigned long nr, ^ arch/powerpc/include/asm/bitops.h:145:19: error: unknown type name 'bool' static __inline__ bool test_and_clear_bit(unsigned long nr, ^ arch/powerpc/include/asm/bitops.h:151:19: error: unknown type name 'bool' static __inline__ bool test_and_change_bit(unsigned long nr, ^ In file included from arch/powerpc/include/asm/bitops.h:157:0, from include/linux/bitops.h:36, from include/linux/radix-tree.h:24, from kernel/memremap.c:13: >> include/asm-generic/bitops/non-atomic.h:57:15: error: unknown type name 'bool' static inline bool __test_and_set_bit(int nr, volatile unsigned long *addr) ^ include/asm-generic/bitops/non-atomic.h:76:15: error: unknown type name 'bool' static inline bool __test_and_clear_bit(int nr, volatile unsigned long *addr) ^ include/asm-generic/bitops/non-atomic.h:87:15: error: unknown type name 'bool' static inline bool __test_and_change_bit(int nr, ^ include/asm-generic/bitops/non-atomic.h:103:15: error: unknown type name 'bool' static inline bool test_bit(int nr, const volatile unsigned long *addr) ^ vim +/bool +103 arch/powerpc/include/asm/bitops.h 97 change_bits(BIT_MASK(nr), addr + BIT_WORD(nr)); 98 } 99 100 /* Like DEFINE_BITOP(), with changes to the arguments to 'op' and the output 101 * operands. */ 102 #define DEFINE_TESTOP(fn, op, prefix, postfix, eh) \ > 103 static __inline__ bool fn( \ 104 unsigned long mask, \ 105 volatile unsigned long *_p) \ 106 { \ --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [-- Attachment #2: .config.gz --] [-- Type: application/octet-stream, Size: 11123 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions 2016-08-28 14:55 ` chengang @ 2016-09-04 0:27 ` kbuild test robot -1 siblings, 0 replies; 16+ messages in thread From: kbuild test robot @ 2016-09-04 0:27 UTC (permalink / raw) To: chengang Cc: kbuild-all, akpm, minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias, davem, cmetcalf, chris, jcmvbkbc, arnd, noamc, brueckner, mingo, peterz, linux-arch, Chen Gang [-- Attachment #1: Type: text/plain, Size: 2831 bytes --] Hi Chen, [auto build test ERROR on linus/master] [also build test ERROR on v4.8-rc4 next-20160825] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/chengang-emindsoft-com-cn/arch-all-include-asm-bitops-Use-bool-instead-of-int-for-all-bit-test-functions/20160828-230301 config: s390-default_defconfig (attached as .config) compiler: s390x-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=s390 All errors (new ones prefixed by >>): In file included from include/linux/bitops.h:36:0, from fs/btrfs/extent_io.c:1: >> arch/s390/include/asm/bitops.h:176:15: error: unknown type name 'bool' static inline bool ^ arch/s390/include/asm/bitops.h:187:15: error: unknown type name 'bool' static inline bool ^ arch/s390/include/asm/bitops.h:198:15: error: unknown type name 'bool' static inline bool ^ arch/s390/include/asm/bitops.h:231:15: error: unknown type name 'bool' static inline bool ^ arch/s390/include/asm/bitops.h:242:15: error: unknown type name 'bool' static inline bool ^ arch/s390/include/asm/bitops.h:253:15: error: unknown type name 'bool' static inline bool ^ arch/s390/include/asm/bitops.h:264:15: error: unknown type name 'bool' static inline bool test_bit(unsigned long nr, const volatile unsigned long *ptr) ^ arch/s390/include/asm/bitops.h:273:15: error: unknown type name 'bool' static inline bool test_and_set_bit_lock(unsigned long nr, ^ arch/s390/include/asm/bitops.h:324:15: error: unknown type name 'bool' static inline bool test_bit_inv(unsigned long nr, ^ vim +/bool +176 arch/s390/include/asm/bitops.h 170 } 171 #endif 172 mask = 1UL << (nr & (BITS_PER_LONG - 1)); 173 __BITOPS_LOOP(addr, mask, __BITOPS_XOR, __BITOPS_NO_BARRIER); 174 } 175 > 176 static inline bool 177 test_and_set_bit(unsigned long nr, volatile unsigned long *ptr) 178 { 179 unsigned long *addr = __bitops_word(nr, ptr); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [-- Attachment #2: .config.gz --] [-- Type: application/octet-stream, Size: 16248 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions @ 2016-09-04 0:27 ` kbuild test robot 0 siblings, 0 replies; 16+ messages in thread From: kbuild test robot @ 2016-09-04 0:27 UTC (permalink / raw) To: chengang Cc: kbuild-all, akpm, minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias [-- Attachment #1: Type: text/plain, Size: 2831 bytes --] Hi Chen, [auto build test ERROR on linus/master] [also build test ERROR on v4.8-rc4 next-20160825] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/chengang-emindsoft-com-cn/arch-all-include-asm-bitops-Use-bool-instead-of-int-for-all-bit-test-functions/20160828-230301 config: s390-default_defconfig (attached as .config) compiler: s390x-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=s390 All errors (new ones prefixed by >>): In file included from include/linux/bitops.h:36:0, from fs/btrfs/extent_io.c:1: >> arch/s390/include/asm/bitops.h:176:15: error: unknown type name 'bool' static inline bool ^ arch/s390/include/asm/bitops.h:187:15: error: unknown type name 'bool' static inline bool ^ arch/s390/include/asm/bitops.h:198:15: error: unknown type name 'bool' static inline bool ^ arch/s390/include/asm/bitops.h:231:15: error: unknown type name 'bool' static inline bool ^ arch/s390/include/asm/bitops.h:242:15: error: unknown type name 'bool' static inline bool ^ arch/s390/include/asm/bitops.h:253:15: error: unknown type name 'bool' static inline bool ^ arch/s390/include/asm/bitops.h:264:15: error: unknown type name 'bool' static inline bool test_bit(unsigned long nr, const volatile unsigned long *ptr) ^ arch/s390/include/asm/bitops.h:273:15: error: unknown type name 'bool' static inline bool test_and_set_bit_lock(unsigned long nr, ^ arch/s390/include/asm/bitops.h:324:15: error: unknown type name 'bool' static inline bool test_bit_inv(unsigned long nr, ^ vim +/bool +176 arch/s390/include/asm/bitops.h 170 } 171 #endif 172 mask = 1UL << (nr & (BITS_PER_LONG - 1)); 173 __BITOPS_LOOP(addr, mask, __BITOPS_XOR, __BITOPS_NO_BARRIER); 174 } 175 > 176 static inline bool 177 test_and_set_bit(unsigned long nr, volatile unsigned long *ptr) 178 { 179 unsigned long *addr = __bitops_word(nr, ptr); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [-- Attachment #2: .config.gz --] [-- Type: application/octet-stream, Size: 16248 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions 2016-09-04 0:27 ` kbuild test robot @ 2016-09-06 19:27 ` Andrew Morton -1 siblings, 0 replies; 16+ messages in thread From: Andrew Morton @ 2016-09-06 19:27 UTC (permalink / raw) To: kbuild test robot Cc: chengang, kbuild-all, minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias, davem, cmetcalf, chris, jcmvbkbc, arnd, noamc, brueckner, mingo, peterz, linux-arch, Chen Gang On Sun, 4 Sep 2016 08:27:36 +0800 kbuild test robot <lkp@intel.com> wrote: > [auto build test ERROR on linus/master] > [also build test ERROR on v4.8-rc4 next-20160825] > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] > [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] > [Check https://git-scm.com/docs/git-format-patch for more information] > > url: https://github.com/0day-ci/linux/commits/chengang-emindsoft-com-cn/arch-all-include-asm-bitops-Use-bool-instead-of-int-for-all-bit-test-functions/20160828-230301 > config: s390-default_defconfig (attached as .config) > compiler: s390x-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 > reproduce: > wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # save the attached .config to linux build tree > make.cross ARCH=s390 > > All errors (new ones prefixed by >>): > > In file included from include/linux/bitops.h:36:0, > from fs/btrfs/extent_io.c:1: > >> arch/s390/include/asm/bitops.h:176:15: error: unknown type name 'bool' > static inline bool > ^ > arch/s390/include/asm/bitops.h:187:15: error: unknown type name 'bool' > static inline bool My s390 cross compiler doesn't like that config. Can someone test this? --- a/arch/s390/include/asm/bitops.h~a +++ a/arch/s390/include/asm/bitops.h @@ -40,6 +40,7 @@ #error only <linux/bitops.h> can be included directly #endif +#include <linux/types.h> #include <linux/typecheck.h> #include <linux/compiler.h> #include <asm/barrier.h> _ ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions @ 2016-09-06 19:27 ` Andrew Morton 0 siblings, 0 replies; 16+ messages in thread From: Andrew Morton @ 2016-09-06 19:27 UTC (permalink / raw) To: kbuild test robot Cc: chengang, kbuild-all, minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias On Sun, 4 Sep 2016 08:27:36 +0800 kbuild test robot <lkp@intel.com> wrote: > [auto build test ERROR on linus/master] > [also build test ERROR on v4.8-rc4 next-20160825] > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] > [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] > [Check https://git-scm.com/docs/git-format-patch for more information] > > url: https://github.com/0day-ci/linux/commits/chengang-emindsoft-com-cn/arch-all-include-asm-bitops-Use-bool-instead-of-int-for-all-bit-test-functions/20160828-230301 > config: s390-default_defconfig (attached as .config) > compiler: s390x-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 > reproduce: > wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # save the attached .config to linux build tree > make.cross ARCH=s390 > > All errors (new ones prefixed by >>): > > In file included from include/linux/bitops.h:36:0, > from fs/btrfs/extent_io.c:1: > >> arch/s390/include/asm/bitops.h:176:15: error: unknown type name 'bool' > static inline bool > ^ > arch/s390/include/asm/bitops.h:187:15: error: unknown type name 'bool' > static inline bool My s390 cross compiler doesn't like that config. Can someone test this? --- a/arch/s390/include/asm/bitops.h~a +++ a/arch/s390/include/asm/bitops.h @@ -40,6 +40,7 @@ #error only <linux/bitops.h> can be included directly #endif +#include <linux/types.h> #include <linux/typecheck.h> #include <linux/compiler.h> #include <asm/barrier.h> _ ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions 2016-09-06 19:27 ` Andrew Morton @ 2016-09-07 1:52 ` Fengguang Wu -1 siblings, 0 replies; 16+ messages in thread From: Fengguang Wu @ 2016-09-07 1:52 UTC (permalink / raw) To: Andrew Morton Cc: chengang, kbuild-all, minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias, davem, cmetcalf, chris, jcmvbkbc, arnd, noamc, brueckner, mingo, peterz, linux-arch, Chen Gang Hi Andrew, On Tue, Sep 06, 2016 at 12:27:32PM -0700, Andrew Morton wrote: >On Sun, 4 Sep 2016 08:27:36 +0800 kbuild test robot <lkp@intel.com> wrote: > >> [auto build test ERROR on linus/master] >> [also build test ERROR on v4.8-rc4 next-20160825] >> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] >> [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] >> [Check https://git-scm.com/docs/git-format-patch for more information] >> >> url: https://github.com/0day-ci/linux/commits/chengang-emindsoft-com-cn/arch-all-include-asm-bitops-Use-bool-instead-of-int-for-all-bit-test-functions/20160828-230301 >> config: s390-default_defconfig (attached as .config) >> compiler: s390x-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 >> reproduce: >> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross >> chmod +x ~/bin/make.cross >> # save the attached .config to linux build tree >> make.cross ARCH=s390 >> >> All errors (new ones prefixed by >>): >> >> In file included from include/linux/bitops.h:36:0, >> from fs/btrfs/extent_io.c:1: >> >> arch/s390/include/asm/bitops.h:176:15: error: unknown type name 'bool' >> static inline bool >> ^ >> arch/s390/include/asm/bitops.h:187:15: error: unknown type name 'bool' >> static inline bool > >My s390 cross compiler doesn't like that config. Can someone test this? Tested-by: Fengguang Wu <fengguang.wu@intel.com> It works fine with Debian's gcc-6-s390x-linux-gnu and crosstool gcc: https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/x86_64-gcc-4.9.0-nolibc_s390x-linux.tar.xz >--- a/arch/s390/include/asm/bitops.h~a >+++ a/arch/s390/include/asm/bitops.h >@@ -40,6 +40,7 @@ > #error only <linux/bitops.h> can be included directly > #endif > >+#include <linux/types.h> > #include <linux/typecheck.h> > #include <linux/compiler.h> > #include <asm/barrier.h> Regards, Fengguang ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions @ 2016-09-07 1:52 ` Fengguang Wu 0 siblings, 0 replies; 16+ messages in thread From: Fengguang Wu @ 2016-09-07 1:52 UTC (permalink / raw) To: Andrew Morton Cc: chengang, kbuild-all, minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias Hi Andrew, On Tue, Sep 06, 2016 at 12:27:32PM -0700, Andrew Morton wrote: >On Sun, 4 Sep 2016 08:27:36 +0800 kbuild test robot <lkp@intel.com> wrote: > >> [auto build test ERROR on linus/master] >> [also build test ERROR on v4.8-rc4 next-20160825] >> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] >> [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] >> [Check https://git-scm.com/docs/git-format-patch for more information] >> >> url: https://github.com/0day-ci/linux/commits/chengang-emindsoft-com-cn/arch-all-include-asm-bitops-Use-bool-instead-of-int-for-all-bit-test-functions/20160828-230301 >> config: s390-default_defconfig (attached as .config) >> compiler: s390x-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 >> reproduce: >> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross >> chmod +x ~/bin/make.cross >> # save the attached .config to linux build tree >> make.cross ARCH=s390 >> >> All errors (new ones prefixed by >>): >> >> In file included from include/linux/bitops.h:36:0, >> from fs/btrfs/extent_io.c:1: >> >> arch/s390/include/asm/bitops.h:176:15: error: unknown type name 'bool' >> static inline bool >> ^ >> arch/s390/include/asm/bitops.h:187:15: error: unknown type name 'bool' >> static inline bool > >My s390 cross compiler doesn't like that config. Can someone test this? Tested-by: Fengguang Wu <fengguang.wu@intel.com> It works fine with Debian's gcc-6-s390x-linux-gnu and crosstool gcc: https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/x86_64-gcc-4.9.0-nolibc_s390x-linux.tar.xz >--- a/arch/s390/include/asm/bitops.h~a >+++ a/arch/s390/include/asm/bitops.h >@@ -40,6 +40,7 @@ > #error only <linux/bitops.h> can be included directly > #endif > >+#include <linux/types.h> > #include <linux/typecheck.h> > #include <linux/compiler.h> > #include <asm/barrier.h> Regards, Fengguang ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions 2016-09-07 1:52 ` Fengguang Wu @ 2016-09-07 15:39 ` Chen Gang -1 siblings, 0 replies; 16+ messages in thread From: Chen Gang @ 2016-09-07 15:39 UTC (permalink / raw) To: Fengguang Wu, Andrew Morton Cc: chengang, kbuild-all, minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias, davem, cmetcalf, chris, jcmvbkbc, arnd, noamc, brueckner, mingo, peterz, linux-arch Thank you all for your work. Commonly, I should send patch v3 for it. And very sorry for replying too late. During these days I have no enough time on it (working, buying house, and catching a cold, but I am lucky enough that my father's health is OK). Thanks. On 9/7/16 09:52, Fengguang Wu wrote: > Hi Andrew, > > On Tue, Sep 06, 2016 at 12:27:32PM -0700, Andrew Morton wrote: >> On Sun, 4 Sep 2016 08:27:36 +0800 kbuild test robot <lkp@intel.com> wrote: >> >>> [auto build test ERROR on linus/master] >>> [also build test ERROR on v4.8-rc4 next-20160825] >>> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] >>> [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] >>> [Check https://git-scm.com/docs/git-format-patch for more information] >>> >>> url: https://github.com/0day-ci/linux/commits/chengang-emindsoft-com-cn/arch-all-include-asm-bitops-Use-bool-instead-of-int-for-all-bit-test-functions/20160828-230301 >>> config: s390-default_defconfig (attached as .config) >>> compiler: s390x-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 >>> reproduce: >>> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross >>> chmod +x ~/bin/make.cross >>> # save the attached .config to linux build tree >>> make.cross ARCH=s390 >>> >>> All errors (new ones prefixed by >>): >>> >>> In file included from include/linux/bitops.h:36:0, >>> from fs/btrfs/extent_io.c:1: >>> >> arch/s390/include/asm/bitops.h:176:15: error: unknown type name 'bool' >>> static inline bool >>> ^ >>> arch/s390/include/asm/bitops.h:187:15: error: unknown type name 'bool' >>> static inline bool >> >> My s390 cross compiler doesn't like that config. Can someone test this? > > Tested-by: Fengguang Wu <fengguang.wu@intel.com> > > It works fine with Debian's gcc-6-s390x-linux-gnu and crosstool gcc: > > https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/x86_64-gcc-4.9.0-nolibc_s390x-linux.tar.xz > >> --- a/arch/s390/include/asm/bitops.h~a >> +++ a/arch/s390/include/asm/bitops.h >> @@ -40,6 +40,7 @@ >> #error only <linux/bitops.h> can be included directly >> #endif >> >> +#include <linux/types.h> >> #include <linux/typecheck.h> >> #include <linux/compiler.h> >> #include <asm/barrier.h> > > Regards, > Fengguang -- Chen Gang (陈刚) Managing Natural Environments is the Duty of Human Beings. -- Chen Gang (陈刚) Managing Natural Environments is the Duty of Human Beings. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions @ 2016-09-07 15:39 ` Chen Gang 0 siblings, 0 replies; 16+ messages in thread From: Chen Gang @ 2016-09-07 15:39 UTC (permalink / raw) To: Fengguang Wu, Andrew Morton Cc: chengang, kbuild-all, minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias Thank you all for your work. Commonly, I should send patch v3 for it. And very sorry for replying too late. During these days I have no enough time on it (working, buying house, and catching a cold, but I am lucky enough that my father's health is OK). Thanks. On 9/7/16 09:52, Fengguang Wu wrote: > Hi Andrew, > > On Tue, Sep 06, 2016 at 12:27:32PM -0700, Andrew Morton wrote: >> On Sun, 4 Sep 2016 08:27:36 +0800 kbuild test robot <lkp@intel.com> wrote: >> >>> [auto build test ERROR on linus/master] >>> [also build test ERROR on v4.8-rc4 next-20160825] >>> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] >>> [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] >>> [Check https://git-scm.com/docs/git-format-patch for more information] >>> >>> url: https://github.com/0day-ci/linux/commits/chengang-emindsoft-com-cn/arch-all-include-asm-bitops-Use-bool-instead-of-int-for-all-bit-test-functions/20160828-230301 >>> config: s390-default_defconfig (attached as .config) >>> compiler: s390x-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 >>> reproduce: >>> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross >>> chmod +x ~/bin/make.cross >>> # save the attached .config to linux build tree >>> make.cross ARCH=s390 >>> >>> All errors (new ones prefixed by >>): >>> >>> In file included from include/linux/bitops.h:36:0, >>> from fs/btrfs/extent_io.c:1: >>> >> arch/s390/include/asm/bitops.h:176:15: error: unknown type name 'bool' >>> static inline bool >>> ^ >>> arch/s390/include/asm/bitops.h:187:15: error: unknown type name 'bool' >>> static inline bool >> >> My s390 cross compiler doesn't like that config. Can someone test this? > > Tested-by: Fengguang Wu <fengguang.wu@intel.com> > > It works fine with Debian's gcc-6-s390x-linux-gnu and crosstool gcc: > > https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/x86_64-gcc-4.9.0-nolibc_s390x-linux.tar.xz > >> --- a/arch/s390/include/asm/bitops.h~a >> +++ a/arch/s390/include/asm/bitops.h >> @@ -40,6 +40,7 @@ >> #error only <linux/bitops.h> can be included directly >> #endif >> >> +#include <linux/types.h> >> #include <linux/typecheck.h> >> #include <linux/compiler.h> >> #include <asm/barrier.h> > > Regards, > Fengguang -- Chen Gang (陈刚) Managing Natural Environments is the Duty of Human Beings. -- Chen Gang (陈刚) Managing Natural Environments is the Duty of Human Beings. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions 2016-09-07 15:39 ` Chen Gang @ 2016-09-17 6:33 ` Chen Gang -1 siblings, 0 replies; 16+ messages in thread From: Chen Gang @ 2016-09-17 6:33 UTC (permalink / raw) To: Fengguang Wu, Andrew Morton Cc: kbuild-all, minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias, davem, cmetcalf, chris, jcmvbkbc, arnd, noamc, brueckner, mingo, peterz, linux-arch If necessary to send patch v3 for it, please let me know (I guess not). Next, I shall try to find and make another patches for our kernel. Thanks. On 9/7/16 23:39, Chen Gang wrote: > > Thank you all for your work. Commonly, I should send patch v3 for it. > > And very sorry for replying too late. During these days I have no > enough time on it (working, buying house, and catching a cold, but I am > lucky enough that my father's health is OK). > > Thanks. > > On 9/7/16 09:52, Fengguang Wu wrote: >> Hi Andrew, >> >> On Tue, Sep 06, 2016 at 12:27:32PM -0700, Andrew Morton wrote: >>> On Sun, 4 Sep 2016 08:27:36 +0800 kbuild test robot <lkp@intel.com> wrote: >>> >>>> [auto build test ERROR on linus/master] >>>> [also build test ERROR on v4.8-rc4 next-20160825] >>>> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] >>>> [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] >>>> [Check https://git-scm.com/docs/git-format-patch for more information] >>>> >>>> url: https://github.com/0day-ci/linux/commits/chengang-emindsoft-com-cn/arch-all-include-asm-bitops-Use-bool-instead-of-int-for-all-bit-test-functions/20160828-230301 >>>> config: s390-default_defconfig (attached as .config) >>>> compiler: s390x-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 >>>> reproduce: >>>> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross >>>> chmod +x ~/bin/make.cross >>>> # save the attached .config to linux build tree >>>> make.cross ARCH=s390 >>>> >>>> All errors (new ones prefixed by >>): >>>> >>>> In file included from include/linux/bitops.h:36:0, >>>> from fs/btrfs/extent_io.c:1: >>>>>> arch/s390/include/asm/bitops.h:176:15: error: unknown type name 'bool' >>>> static inline bool >>>> ^ >>>> arch/s390/include/asm/bitops.h:187:15: error: unknown type name 'bool' >>>> static inline bool >>> >>> My s390 cross compiler doesn't like that config. Can someone test this? >> >> Tested-by: Fengguang Wu <fengguang.wu@intel.com> >> >> It works fine with Debian's gcc-6-s390x-linux-gnu and crosstool gcc: >> >> https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/x86_64-gcc-4.9.0-nolibc_s390x-linux.tar.xz >> >>> --- a/arch/s390/include/asm/bitops.h~a >>> +++ a/arch/s390/include/asm/bitops.h >>> @@ -40,6 +40,7 @@ >>> #error only <linux/bitops.h> can be included directly >>> #endif >>> >>> +#include <linux/types.h> >>> #include <linux/typecheck.h> >>> #include <linux/compiler.h> >>> #include <asm/barrier.h> >> >> Regards, >> Fengguang > -- Chen Gang (陈刚) Managing Natural Environments is the Duty of Human Beings. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions @ 2016-09-17 6:33 ` Chen Gang 0 siblings, 0 replies; 16+ messages in thread From: Chen Gang @ 2016-09-17 6:33 UTC (permalink / raw) To: Fengguang Wu, Andrew Morton Cc: kbuild-all, minchan, vbabka, gi-oh.kim, iamjoonsoo.kim, hillf.zj, mgorman, mhocko, rientjes, linux-kernel, rth, ink, mattst88, vgupta, linux, catalin.marinas, will.deacon, hskinnemoen, egtvedt, realmz6, ysato, rkuo, tony.luck, fenghua.yu, geert, james.hogan, ralf, dhowells, deller, benh, paulus, mpe, schwidefsky, heiko.carstens, dalias, davem If necessary to send patch v3 for it, please let me know (I guess not). Next, I shall try to find and make another patches for our kernel. Thanks. On 9/7/16 23:39, Chen Gang wrote: > > Thank you all for your work. Commonly, I should send patch v3 for it. > > And very sorry for replying too late. During these days I have no > enough time on it (working, buying house, and catching a cold, but I am > lucky enough that my father's health is OK). > > Thanks. > > On 9/7/16 09:52, Fengguang Wu wrote: >> Hi Andrew, >> >> On Tue, Sep 06, 2016 at 12:27:32PM -0700, Andrew Morton wrote: >>> On Sun, 4 Sep 2016 08:27:36 +0800 kbuild test robot <lkp@intel.com> wrote: >>> >>>> [auto build test ERROR on linus/master] >>>> [also build test ERROR on v4.8-rc4 next-20160825] >>>> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] >>>> [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] >>>> [Check https://git-scm.com/docs/git-format-patch for more information] >>>> >>>> url: https://github.com/0day-ci/linux/commits/chengang-emindsoft-com-cn/arch-all-include-asm-bitops-Use-bool-instead-of-int-for-all-bit-test-functions/20160828-230301 >>>> config: s390-default_defconfig (attached as .config) >>>> compiler: s390x-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 >>>> reproduce: >>>> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross >>>> chmod +x ~/bin/make.cross >>>> # save the attached .config to linux build tree >>>> make.cross ARCH=s390 >>>> >>>> All errors (new ones prefixed by >>): >>>> >>>> In file included from include/linux/bitops.h:36:0, >>>> from fs/btrfs/extent_io.c:1: >>>>>> arch/s390/include/asm/bitops.h:176:15: error: unknown type name 'bool' >>>> static inline bool >>>> ^ >>>> arch/s390/include/asm/bitops.h:187:15: error: unknown type name 'bool' >>>> static inline bool >>> >>> My s390 cross compiler doesn't like that config. Can someone test this? >> >> Tested-by: Fengguang Wu <fengguang.wu@intel.com> >> >> It works fine with Debian's gcc-6-s390x-linux-gnu and crosstool gcc: >> >> https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/x86_64-gcc-4.9.0-nolibc_s390x-linux.tar.xz >> >>> --- a/arch/s390/include/asm/bitops.h~a >>> +++ a/arch/s390/include/asm/bitops.h >>> @@ -40,6 +40,7 @@ >>> #error only <linux/bitops.h> can be included directly >>> #endif >>> >>> +#include <linux/types.h> >>> #include <linux/typecheck.h> >>> #include <linux/compiler.h> >>> #include <asm/barrier.h> >> >> Regards, >> Fengguang > -- Chen Gang (陈刚) Managing Natural Environments is the Duty of Human Beings. ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2016-09-17 6:32 UTC | newest] Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-08-28 14:55 [PATCH v2] arch: all: include: asm: bitops: Use bool instead of int for all bit test functions chengang 2016-08-28 14:55 ` chengang 2016-08-28 20:21 ` kbuild test robot 2016-08-28 20:21 ` kbuild test robot 2016-09-04 0:07 ` kbuild test robot 2016-09-04 0:07 ` kbuild test robot 2016-09-04 0:27 ` kbuild test robot 2016-09-04 0:27 ` kbuild test robot 2016-09-06 19:27 ` Andrew Morton 2016-09-06 19:27 ` Andrew Morton 2016-09-07 1:52 ` Fengguang Wu 2016-09-07 1:52 ` Fengguang Wu 2016-09-07 15:39 ` Chen Gang 2016-09-07 15:39 ` Chen Gang 2016-09-17 6:33 ` Chen Gang 2016-09-17 6:33 ` Chen Gang
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.