Re: [PATCH 4/6] staging/fbtft: Stop using BL_CORE_DRIVER1

From: Lee Jones
Date: Mon Apr 30 2018 - 05:54:28 EST


Greg, Thomas,

On Wed, 25 Apr 2018, Daniel Vetter wrote:
> Leaking driver internal tracking into the already massively confusing
> backlight power tracking is really confusing.
>
> Luckily we have already a drvdata structure, so fixing this is really
> easy.
>
> Cc: Lee Jones <lee.jones@xxxxxxxxxx>
> Cc: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
> Cc: Jingoo Han <jingoohan1@xxxxxxxxx>
> Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
> Acked-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>
> ---
> drivers/staging/fbtft/fbtft-core.c | 4 ++--
> drivers/staging/fbtft/fbtft.h | 1 +
> 2 files changed, 3 insertions(+), 2 deletions(-)

Do you want a pull-request for this patch or can I just take it?

> diff --git a/drivers/staging/fbtft/fbtft-core.c b/drivers/staging/fbtft/fbtft-core.c
> index 0e36b66ae5f7..731e47149af8 100644
> --- a/drivers/staging/fbtft/fbtft-core.c
> +++ b/drivers/staging/fbtft/fbtft-core.c
> @@ -246,7 +246,7 @@ static int fbtft_request_gpios_dt(struct fbtft_par *par)
> static int fbtft_backlight_update_status(struct backlight_device *bd)
> {
> struct fbtft_par *par = bl_get_data(bd);
> - bool polarity = !!(bd->props.state & BL_CORE_DRIVER1);
> + bool polarity = par->polarity;
>
> fbtft_par_dbg(DEBUG_BACKLIGHT, par,
> "%s: polarity=%d, power=%d, fb_blank=%d\n",
> @@ -296,7 +296,7 @@ void fbtft_register_backlight(struct fbtft_par *par)
> /* Assume backlight is off, get polarity from current state of pin */
> bl_props.power = FB_BLANK_POWERDOWN;
> if (!gpio_get_value(par->gpio.led[0]))
> - bl_props.state |= BL_CORE_DRIVER1;
> + par->polarity = true;
>
> bd = backlight_device_register(dev_driver_string(par->info->device),
> par->info->device, par,
> diff --git a/drivers/staging/fbtft/fbtft.h b/drivers/staging/fbtft/fbtft.h
> index e19e64e0d094..c7cb4a7896f4 100644
> --- a/drivers/staging/fbtft/fbtft.h
> +++ b/drivers/staging/fbtft/fbtft.h
> @@ -229,6 +229,7 @@ struct fbtft_par {
> ktime_t update_time;
> bool bgr;
> void *extra;
> + bool polarity;
> };
>
> #define NUMARGS(...) (sizeof((int[]){__VA_ARGS__})/sizeof(int))

--
Lee Jones [æçæ]
Linaro Services Technical Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog