Message ID | 20230721093342.1532531-1-victor.liu@nxp.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | [v4] backlight: gpio_backlight: Drop output GPIO direction check for initial power state | expand |
On Fri, Jul 21, 2023 at 09:29:03AM +0000, Ying Liu wrote: > If GPIO pin is in input state but backlight is currently off due to > default pull downs, then initial power state is set to FB_BLANK_UNBLANK > in DT boot mode with phandle link and the backlight is effectively > turned on in gpio_backlight_probe(), which is undesirable according to > patch description of commit ec665b756e6f ("backlight: gpio-backlight: > Correct initial power state handling"). > > Quote: > ---8<--- > If in DT boot we have phandle link then leave the GPIO in a state which the > bootloader left it and let the user of the backlight to configure it further. > ---8<--- > > So, let's drop output GPIO direction check and only check GPIO value to set > the initial power state. LGTM, Reviewed-by: Andy Shevchenko <andy@kernel.org>
On Fri, Jul 21, 2023 at 11:29 AM Ying Liu <victor.liu@nxp.com> wrote: > > If GPIO pin is in input state but backlight is currently off due to > default pull downs, then initial power state is set to FB_BLANK_UNBLANK > in DT boot mode with phandle link and the backlight is effectively > turned on in gpio_backlight_probe(), which is undesirable according to > patch description of commit ec665b756e6f ("backlight: gpio-backlight: > Correct initial power state handling"). > > Quote: > ---8<--- > If in DT boot we have phandle link then leave the GPIO in a state which the > bootloader left it and let the user of the backlight to configure it further. > ---8<--- > > So, let's drop output GPIO direction check and only check GPIO value to set > the initial power state. > > Fixes: 706dc68102bc ("backlight: gpio: Explicitly set the direction of the GPIO") > Signed-off-by: Liu Ying <victor.liu@nxp.com> > --- > v3->v4: > * Capitalize words 'gpio' in patch description. (Andy) > * Capitalize word 'gpio' in patch title. > * Quote appropriately in patch description. (Andy) > > v2->v3: > * Add Fixes tag. (Daniel) > > v1->v2: > * Improve patch description. (Daniel, Bartosz, Andy) > > drivers/video/backlight/gpio_backlight.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/video/backlight/gpio_backlight.c b/drivers/video/backlight/gpio_backlight.c > index 6f78d928f054..38c46936fdcd 100644 > --- a/drivers/video/backlight/gpio_backlight.c > +++ b/drivers/video/backlight/gpio_backlight.c > @@ -87,8 +87,7 @@ static int gpio_backlight_probe(struct platform_device *pdev) > /* Not booted with device tree or no phandle link to the node */ > bl->props.power = def_value ? FB_BLANK_UNBLANK > : FB_BLANK_POWERDOWN; > - else if (gpiod_get_direction(gbl->gpiod) == 0 && > - gpiod_get_value_cansleep(gbl->gpiod) == 0) > + else if (gpiod_get_value_cansleep(gbl->gpiod) == 0) > bl->props.power = FB_BLANK_POWERDOWN; > else > bl->props.power = FB_BLANK_UNBLANK; > -- > 2.37.1 > Acked-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
On Fri, Jul 21, 2023 at 11:29 AM Ying Liu <victor.liu@nxp.com> wrote: > If GPIO pin is in input state but backlight is currently off due to > default pull downs, Oh what an interesting corner case! > then initial power state is set to FB_BLANK_UNBLANK > in DT boot mode with phandle link and the backlight is effectively > turned on in gpio_backlight_probe(), which is undesirable according to > patch description of commit ec665b756e6f ("backlight: gpio-backlight: > Correct initial power state handling"). > > Quote: > ---8<--- > If in DT boot we have phandle link then leave the GPIO in a state which the > bootloader left it and let the user of the backlight to configure it further. > ---8<--- > > So, let's drop output GPIO direction check and only check GPIO value to set > the initial power state. > > Fixes: 706dc68102bc ("backlight: gpio: Explicitly set the direction of the GPIO") > Signed-off-by: Liu Ying <victor.liu@nxp.com> The solutions seems fine. Acked-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
On Fri, 21 Jul 2023 09:29:03 +0000, Ying Liu wrote: > So, let's drop output GPIO direction check and only check GPIO value to set > the initial power state. > > Applied, thanks! [1/1] backlight: gpio_backlight: Drop output GPIO direction check for initial power state commit: fe1328b5b2a087221e31da77e617f4c2b70f3b7f -- Lee Jones [李琼斯]
diff --git a/drivers/video/backlight/gpio_backlight.c b/drivers/video/backlight/gpio_backlight.c index 6f78d928f054..38c46936fdcd 100644 --- a/drivers/video/backlight/gpio_backlight.c +++ b/drivers/video/backlight/gpio_backlight.c @@ -87,8 +87,7 @@ static int gpio_backlight_probe(struct platform_device *pdev) /* Not booted with device tree or no phandle link to the node */ bl->props.power = def_value ? FB_BLANK_UNBLANK : FB_BLANK_POWERDOWN; - else if (gpiod_get_direction(gbl->gpiod) == 0 && - gpiod_get_value_cansleep(gbl->gpiod) == 0) + else if (gpiod_get_value_cansleep(gbl->gpiod) == 0) bl->props.power = FB_BLANK_POWERDOWN; else bl->props.power = FB_BLANK_UNBLANK;
If GPIO pin is in input state but backlight is currently off due to default pull downs, then initial power state is set to FB_BLANK_UNBLANK in DT boot mode with phandle link and the backlight is effectively turned on in gpio_backlight_probe(), which is undesirable according to patch description of commit ec665b756e6f ("backlight: gpio-backlight: Correct initial power state handling"). Quote: ---8<--- If in DT boot we have phandle link then leave the GPIO in a state which the bootloader left it and let the user of the backlight to configure it further. ---8<--- So, let's drop output GPIO direction check and only check GPIO value to set the initial power state. Fixes: 706dc68102bc ("backlight: gpio: Explicitly set the direction of the GPIO") Signed-off-by: Liu Ying <victor.liu@nxp.com> --- v3->v4: * Capitalize words 'gpio' in patch description. (Andy) * Capitalize word 'gpio' in patch title. * Quote appropriately in patch description. (Andy) v2->v3: * Add Fixes tag. (Daniel) v1->v2: * Improve patch description. (Daniel, Bartosz, Andy) drivers/video/backlight/gpio_backlight.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)