On Wed, Jun 24, 2020 at 3:16 PM Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> wrote: > > wt., 23 cze 2020 o 16:57 Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > napisał(a): > > > > Replace the custom code to parse GPIO offsets and/or GPIO offset ranges > > by a call to bitmap_parselist(), and an iteration over the returned bit > > mask. > > > > This should have no impact on the format of the configuration parameters > > written to the "new_device" virtual file in sysfs. > > > > Suggested-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > > --- > > I'm not super happy with the mask[] array, which is on the stack. > > But there is no real limit on the number of GPIO lines provided by a > > single gpiochip, except for the global ARCH_NR_GPIOS. > > Why not allocate it with bitmap_zalloc() then? I haven't got the original messages yet, so my thought is to actually extract a helper from gpiod_get_array_value_complex() or gpiod_set_array_value_complex() for bitmap allocation. But I didn't check if it's suitable here. So, bitmap_zalloc() would be helpful. -- With Best Regards, Andy Shevchenko