On Wed, Apr 29, 2020 at 01:21:14PM +0300, Andy Shevchenko wrote: > On Wed, Apr 29, 2020 at 04:39:47AM +0530, Syed Nayyar Waris wrote: > > This patch reimplements the xgpio_set_multiple function in > > drivers/gpio/gpio-xilinx.c to use the new for_each_set_clump macro. > > Instead of looping for each bit in xgpio_set_multiple > > function, now we can check each channel at a time and save cycles. > > > + const unsigned long state_size = BITS_PER_TYPE(*state); > > This '*state' is unneeded complication, use BITS_PER_U32. > > > +#define TOTAL_BITS BITS_PER_TYPE(chip->gpio_state) > > This macro makes code uglier, besides the fact of absence of #undef. > And also see above. Thank you for your review comments. Just want to clarify, you want a new macro to be created - 'BITS_PER_U32' ? Also, don't you think that with BITS_PER_TYPE(), in case later the type of 'state' changes, it will be reflected in this code without any code change? Let me know if I have misunderstood something. > > > + DECLARE_BITMAP(old, TOTAL_BITS); > > + DECLARE_BITMAP(new, TOTAL_BITS); > > + DECLARE_BITMAP(changed, TOTAL_BITS); > > -- > With Best Regards, > Andy Shevchenko > >