On Tue, Jan 31, 2017 at 2:11 PM, Tejun Heo <tj@xxxxxxxxxx> wrote: > > We have a similar mess with bitops too. x86 is cleaned up to have > bool returns but the generic implementation and a lot of other archs > return the tested bit instead of 1/0. It'd be great to make all the > boolean functions actually return bool. If they really do return the tested bit, then those architectures absolutely _will_ contain known bugs. Because there definitely have been users of the bitop routines that assign the result to an "int", and I have some dim memory of us also having had things like drivers that made their own "bool" variables and use "char" for them. But I'm not seeing it. The generic bitop pattern seems to be static inline int test_and_change_bit(int nr, volatile unsigned long *addr) ... return (old & mask) != 0; which is fine. Just exactly what code did you look at? Linus -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html