Re: [PATCH 9/9] backlight: atmel-pwm-bl: use gpio_request_one

From: Johan Hovold
Date: Tue Oct 29 2013 - 09:20:32 EST


On Fri, Oct 25, 2013 at 01:15:43PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 11:55 Wed 23 Oct , Johan Hovold wrote:
> > Use devm_gpio_request_one rather than requesting and setting direction
> > in two calls.
>
> this is the same I do not see any advantage

It removes one error path.

> and as I said for ather backligth It's wrong to enable or disable it at probe
> as the bootloader might have already enable it for splash screen

I agree with you on that, and it's actually the reason for the below
clean up. I use a second patch:

if (gpio_is_valid(pwmbl->gpio_on)) {
- /* Turn display off by default. */
- if (pdata->on_active_low)
+ /* Turn display off unless already enabled. */
+ if (pdata->gpio_on_enabled ^ pdata->on_active_low)
flags = GPIOF_OUT_INIT_HIGH;
else
flags = GPIOF_OUT_INIT_LOW;

to make sure the driver does not temporarily disable the backlight at
probe.

Decided not to submit it as part of this series when I realised that
several other backlight drivers did the same, but perhaps I should?

Thanks,
Johan

> >
> > Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx>:w
> > Signed-off-by: Johan Hovold <jhovold@xxxxxxxxx>
> > ---
> > drivers/video/backlight/atmel-pwm-bl.c | 15 ++++++++-------
> > 1 file changed, 8 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/video/backlight/atmel-pwm-bl.c b/drivers/video/backlight/atmel-pwm-bl.c
> > index 1277e0c..5ea2517 100644
> > --- a/drivers/video/backlight/atmel-pwm-bl.c
> > +++ b/drivers/video/backlight/atmel-pwm-bl.c
> > @@ -124,6 +124,7 @@ static int atmel_pwm_bl_probe(struct platform_device *pdev)
> > const struct atmel_pwm_bl_platform_data *pdata;
> > struct backlight_device *bldev;
> > struct atmel_pwm_bl *pwmbl;
> > + int flags;
> > int retval;
> >
> > pdata = dev_get_platdata(&pdev->dev);
> > @@ -149,14 +150,14 @@ static int atmel_pwm_bl_probe(struct platform_device *pdev)
> > return retval;
> >
> > if (gpio_is_valid(pwmbl->gpio_on)) {
> > - retval = devm_gpio_request(&pdev->dev, pwmbl->gpio_on,
> > - "gpio_atmel_pwm_bl");
> > - if (retval)
> > - goto err_free_pwm;
> > -
> > /* Turn display off by default. */
> > - retval = gpio_direction_output(pwmbl->gpio_on,
> > - 0 ^ pdata->on_active_low);
> > + if (pdata->on_active_low)
> > + flags = GPIOF_OUT_INIT_HIGH;
> > + else
> > + flags = GPIOF_OUT_INIT_LOW;
> > +
> > + retval = devm_gpio_request_one(&pdev->dev, pwmbl->gpio_on,
> > + flags, "gpio_atmel_pwm_bl");
> > if (retval)
> > goto err_free_pwm;
> > }
> > --
> > 1.8.4
> >
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/