Messages in this thread | | | From | Geert Uytterhoeven <> | Subject | [PATCH 0/2] gpio: aggregator: Misc parsing improvements | Date | Tue, 23 Jun 2020 16:57:46 +0200 |
| |
Hi Linus, Bartosz, Andy,
This patch series contains two improvements for the parsing code in the GPIO Aggregator.
The second one converts the driver to use bitmap_parselist() for parsing GPIO offsets and/or ranges, as suggested by Andy[1]. Note that I'm not super happy with the mask[] array 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.
I also considered getting rid of the custom isrange() function. However, the check for "!isrange(offsets)" cannot be replaced by a check for bitmap_parselist() returning -EINVAL, as bitmap_parselist() happily accepts an empty list. Hence I'm afraid isrange() has to stay.
Andy also suggested to use strstrip() in get_arg(). However, I see no point in that, as get_arg() has to find the end of the actual parameter anyway.
Thanks for your comments!
[1] https://lore.kernel.org/r/20200520121420.GA1867563@smile.fi.intel.com
Geert Uytterhoeven (2): gpio: aggregator: Drop pre-initialization in get_arg() gpio: aggregator: Use bitmap_parselist() for parsing GPIO offsets
drivers/gpio/gpio-aggregator.c | 46 ++++++++++++---------------------- 1 file changed, 16 insertions(+), 30 deletions(-)
-- 2.17.1
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
| |