Message ID | 20250131-gpio-set-array-helper-v1-1-991c8ccb4d6e@baylibre.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | gpiolib: add gpiods_set_array_value_cansleep | expand |
On Fri, Jan 31, 2025 at 10:24 PM David Lechner <dlechner@baylibre.com> wrote: > > Add a new gpiods_set_array_value_cansleep() helper function with fewer > parameters than gpiod_set_array_value_cansleep(). > > Calling gpiod_set_array_value_cansleep() can get quite verbose. In many > cases, the first arguments all come from the same struct gpio_descs, so > having a separate function where we can just pass that cuts down on the > boilerplate. ... > +static inline int gpiods_set_array_value_cansleep(struct gpio_descs *descs, > + unsigned long *value_bitmap) My proposal was to make this gpiod_set_many_value_cansleep(), but I'm not pretending it's the best choice. > +{ > + return gpiod_set_array_value_cansleep(descs->ndescs, descs->desc, > + descs->info, value_bitmap); > +} I don't remember seeing the _bitmap suffix in other GPIO APIs, perhaps just drop it?
diff --git a/include/linux/gpio/consumer.h b/include/linux/gpio/consumer.h index db2dfbae8edbd12059826183b1c0f73c7a58ff40..1c9bb3cb1ee80fe52aabf5bd24b1d128eff2bc99 100644 --- a/include/linux/gpio/consumer.h +++ b/include/linux/gpio/consumer.h @@ -655,4 +655,11 @@ static inline void gpiod_unexport(struct gpio_desc *desc) #endif /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */ +static inline int gpiods_set_array_value_cansleep(struct gpio_descs *descs, + unsigned long *value_bitmap) +{ + return gpiod_set_array_value_cansleep(descs->ndescs, descs->desc, + descs->info, value_bitmap); +} + #endif
Add a new gpiods_set_array_value_cansleep() helper function with fewer parameters than gpiod_set_array_value_cansleep(). Calling gpiod_set_array_value_cansleep() can get quite verbose. In many cases, the first arguments all come from the same struct gpio_descs, so having a separate function where we can just pass that cuts down on the boilerplate. Signed-off-by: David Lechner <dlechner@baylibre.com> --- include/linux/gpio/consumer.h | 7 +++++++ 1 file changed, 7 insertions(+)