Re: [PATCH v6 3/9] backlight: gpio: explicitly set the direction of the GPIO

From: Daniel Thompson
Date: Mon Oct 21 2019 - 06:45:16 EST


On Sat, Oct 19, 2019 at 10:35:50AM +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
>
> The GPIO backlight driver currently requests the line 'as is', without
> acively setting its direction. This can lead to problems: if the line
> is in input mode by default, we won't be able to drive it later when
> updating the status and also reading its initial value doesn't make
> sense for backlight setting.
>
> Request the line 'as is' initially, so that we can read its value
> without affecting it but then change the direction to output explicitly
> when setting the initial brightness.
>
> Also: check the current direction and only read the value if it's output.
>
> Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>

Intent looks good to me but...

> ---
> drivers/video/backlight/gpio_backlight.c | 23 ++++++++++++++++++-----
> 1 file changed, 18 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/video/backlight/gpio_backlight.c b/drivers/video/backlight/gpio_backlight.c
> index 3955b513f2f8..a36ac3a45b81 100644
> --- a/drivers/video/backlight/gpio_backlight.c
> +++ b/drivers/video/backlight/gpio_backlight.c
> @@ -25,9 +25,8 @@ struct gpio_backlight {
> int def_value;
> };
>
> -static int gpio_backlight_update_status(struct backlight_device *bl)
> +static int gpio_backlight_get_curr_brightness(struct backlight_device *bl)

This function does not get the current brightness (e.g. what the
hardware is currently doing). Given we've just nuked the function that
*did* get the current brightness from the hardware this isn't an
acceptable name.

Would like something like calc_brightness() or get_next_brightness().


Daniel.