once upon a time, the kernel source code was replete with conditional constructs of the form: if ((n & (n-1)) == 0) as a way of testing whether something was a power of two. mercifully, include/linux/log2.h was created which introduced, among other things: static inline __attribute__((const)) bool is_power_of_2(unsigned long n) { return (n != 0 && ((n & (n - 1)) == 0)); } so we could simply ask whether "is_power_of_2(n)", which is convenient when we're testing things like, oh, blocksize. similarly, there are bunches of places which need to test whether an integer value has only a single set bit (for instance, to make sure only one flag bit out of a number of mutually exclusive bits are set). mathematically, that would be the same test, of course, but semantically, it would be ugly and inappropriate. is there, somewhere, a corresponding macro/function that asks: single_bit_set(n) if not, that would be handy, could be plopped into include/linux/bitops.h and could be defined exactly the same way, and would allow piles of code to be simplified. thoughts? rday -- ======================================================================== Robert P. J. Day Waterloo, Ontario, CANADA Linux Consulting, Training and Annoying Kernel Pedantry. Web page: http://crashcourse.ca Linked In: http://www.linkedin.com/in/rpjday Twitter: http://twitter.com/rpjday ======================================================================== -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html