[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