On Mon, 2018-03-12 at 18:00 +0530, Harish Jenny K N wrote: > > > > > > + for_each_set_bit(bit, (const unsigned long *)&caps, > > > > > > BITS_PER_LONG) > > > > > > + for_each_set_bit(bit, (const unsigned long > > > > > > *)&caps2, > > > > > > BITS_PER_LONG) > > > > > > > > > > Explicit casting is not needed anymore in both cases. > > > > > > > > Also maybe use sizeof(mmc_host_capabilities) instead of > > > > BITS_PER_LONG? > > > > > > You mean sizeof(caps) and not sizeof(mmc_host_capabilities) . > > > Right ? > > > > meant ARRAY_SIZE(mmc_host_capabilities) > ARRAY_SIZE(mmc_host_capabilities) will be 32 and this will be my old > change for which I got a comment from Andy Shevchenko asking me to > replace u32 with unsigned long. > > This is the old comment: > > > > + int size = sizeof(u32) * BITS_PER_BYTE; > > > > This is redundant. Use BITS_PER_LONG (why's that, see below) in the There is nothing about ARRAY_SIZE(). ARRAY_SIZE() will work quite good as well. > for_each_set_bit(). > > > > + for_each_set_bit(bit, (const unsigned long *)&caps, size) > > > + for_each_set_bit(bit, (const unsigned long *)&caps2, size) > > > > These are UB cases. > > Fix is simple, replace u32 by unsigned long in (1) above. > > Note: Without typecasting &caps to(const unsigned long *) will give > compilation error in this case. What kind of? -- Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Intel Finland Oy -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html