staging: fbtft: Stop using BL_CORE_DRIVER1
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 25 Apr 2018 17:42:51 +0000 (19:42 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Oct 2019 20:42:44 +0000 (13:42 -0700)
[ Upstream commit 9adfe5c89be497bb8761a9f788297c258d535334 ]

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.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Acked-by: Daniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/staging/fbtft/fbtft-core.c
drivers/staging/fbtft/fbtft.h

index 587f68aa466c2ee41c32e7d2822874eaaae91986..f4682ba44cd74c5b0a6d66de7254ddd50339b328 100644 (file)
@@ -247,7 +247,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, &fbtft_bl_ops, &bl_props);
index 89c4b5b76ce69d78c11051868958eaf6c0b0e084..0275319906748074fe6cf922719482610a8fd52e 100644 (file)
@@ -241,6 +241,7 @@ struct fbtft_par {
        ktime_t update_time;
        bool bgr;
        void *extra;
+       bool polarity;
 };
 
 #define NUMARGS(...)  (sizeof((int[]){__VA_ARGS__})/sizeof(int))