Struct gpio_backlight_platform_data refers to a platform device within
the Linux device hierarchy. The test in gpio_backlight_check_fb()
compares it against the fbdev device in struct fb_info.dev, which
is different. Fix the test by comparing to struct fb_info.device.

Fixes a bug in the backlight driver and prepares fbdev for making
struct fb_info.dev optional.

v2:
        * move renames into separate patch (Javier, Sam, Michael)

Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
Fixes: 8b770e3c9824 ("backlight: Add GPIO-based backlight driver")
Cc: Laurent Pinchart <laurent.pinchart+rene...@ideasonboard.com>
Cc: Rich Felker <dal...@libc.org>
Cc: John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de>
Cc: Lee Jones <l...@kernel.org>
Cc: Daniel Thompson <daniel.thomp...@linaro.org>
Cc: Jingoo Han <jingooh...@gmail.com>
Cc: linux...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: <sta...@vger.kernel.org> # v3.12+
---
 drivers/video/backlight/gpio_backlight.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/video/backlight/gpio_backlight.c 
b/drivers/video/backlight/gpio_backlight.c
index 6f78d928f054a..5c5c99f7979e3 100644
--- a/drivers/video/backlight/gpio_backlight.c
+++ b/drivers/video/backlight/gpio_backlight.c
@@ -35,7 +35,7 @@ static int gpio_backlight_check_fb(struct backlight_device 
*bl,
 {
        struct gpio_backlight *gbl = bl_get_data(bl);
 
-       return gbl->fbdev == NULL || gbl->fbdev == info->dev;
+       return gbl->fbdev == NULL || gbl->fbdev == info->device;
 }
 
 static const struct backlight_ops gpio_backlight_ops = {
-- 
2.41.0

Reply via email to