[RFC PATCH 2/7] gpio: gpiolib: split the gpiod_configure_flags function
Ludovic Desroches
ludovic.desroches at microchip.com
Sun Dec 17 23:02:18 PST 2017
On Fri, Dec 15, 2017 at 09:26:27AM +0000, Julien Thierry wrote:
> Hi Ludovic,
>
> On 14/12/17 14:21, Ludovic Desroches wrote:
> > The gpiod_configure_flags function doesn't only configure flags, it
> > also performs some processing. It implies that it should be called
> > after having requested the GPIO. Split configuration and processing
> > to allow flags configuration before requesting the GPIO. It is
> > needed if we want to set the pin configuration.
> >
> > Signed-off-by: Ludovic Desroches <ludovic.desroches at microchip.com>
> > ---
> > drivers/gpio/gpiolib.c | 49 +++++++++++++++++++++++++++++++------------------
> > drivers/gpio/gpiolib.h | 7 ++++++-
> > 2 files changed, 37 insertions(+), 19 deletions(-)
> >
> > diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
> > index 0621baddfddc..c887602ca0ff 100644
> > --- a/drivers/gpio/gpiolib.c
> > +++ b/drivers/gpio/gpiolib.c
> > @@ -3564,23 +3564,9 @@ struct gpio_desc *__must_check gpiod_get_optional(struct device *dev,
> > EXPORT_SYMBOL_GPL(gpiod_get_optional);
> > -/**
> > - * gpiod_configure_flags - helper function to configure a given GPIO
> > - * @desc: gpio whose value will be assigned
> > - * @con_id: function within the GPIO consumer
> > - * @lflags: gpio_lookup_flags - returned from of_find_gpio() or
> > - * of_get_gpio_hog()
> > - * @dflags: gpiod_flags - optional GPIO initialization flags
> > - *
> > - * Return 0 on success, -ENOENT if no GPIO has been assigned to the
> > - * requested function and/or index, or another IS_ERR() code if an error
> > - * occurred while trying to acquire the GPIO.
> > - */
> > -int gpiod_configure_flags(struct gpio_desc *desc, const char *con_id,
> > +void gpiod_configure_flags(struct gpio_desc *desc, const char *con_id,
> > unsigned long lflags, enum gpiod_flags dflags)
> > {
> > - int status;
> > -
> > if (lflags & GPIO_ACTIVE_LOW)
> > set_bit(FLAG_ACTIVE_LOW, &desc->flags);
> > @@ -3601,6 +3587,11 @@ int gpiod_configure_flags(struct gpio_desc *desc, const char *con_id,
> > if (lflags & GPIO_OPEN_SOURCE)
> > set_bit(FLAG_OPEN_SOURCE, &desc->flags);
>
> Small issue, I believe the patch is missing a '}' here to properly split the
> function.
Thanks, I'll fix it, this ligne was unstaged.
Regards
Ludovic
>
> Otherwise:
>
> Reviewed-by: Julien Thierry <julien.thierry at arm.com>
>
> Cheers,
>
> --
> Julien Thierry
More information about the linux-arm-kernel
mailing list