Re: [PATCH v3 4/4] gpio: xilinx: Utilize for_each_set_clump macro

From: Syed Nayyar Waris
Date: Thu Apr 30 2020 - 12:15:32 EST


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
>
>