]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
fbdev: clps711x-fb: Replace check_fb in favor of struct fb_info.lcd_dev
authorThomas Zimmermann <tzimmermann@suse.de>
Fri, 6 Sep 2024 07:52:34 +0000 (09:52 +0200)
committerLee Jones <lee@kernel.org>
Mon, 30 Sep 2024 15:49:42 +0000 (16:49 +0100)
Store the lcd device in struct fb_info.lcd_dev. The lcd subsystem can
now detect the lcd's fbdev device from this field.

This makes the implementation of check_fb in clps711x_lcd_ops obsolete.
Remove it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-21-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/video/fbdev/clps711x-fb.c

index 6171a98a48fd5f3a5da01e28b51ee97d2657c2ea..4340ea3b9660a5c4c38f0e27120bf7e661859aed 100644 (file)
@@ -162,13 +162,6 @@ static const struct fb_ops clps711x_fb_ops = {
        .fb_blank       = clps711x_fb_blank,
 };
 
-static int clps711x_lcd_check_fb(struct lcd_device *lcddev, struct fb_info *fi)
-{
-       struct clps711x_fb_info *cfb = dev_get_drvdata(&lcddev->dev);
-
-       return (!fi || fi->par == cfb) ? 1 : 0;
-}
-
 static int clps711x_lcd_get_power(struct lcd_device *lcddev)
 {
        struct clps711x_fb_info *cfb = dev_get_drvdata(&lcddev->dev);
@@ -198,7 +191,6 @@ static int clps711x_lcd_set_power(struct lcd_device *lcddev, int blank)
 }
 
 static const struct lcd_ops clps711x_lcd_ops = {
-       .check_fb       = clps711x_lcd_check_fb,
        .get_power      = clps711x_lcd_get_power,
        .set_power      = clps711x_lcd_set_power,
 };
@@ -325,16 +317,21 @@ static int clps711x_fb_probe(struct platform_device *pdev)
        if (ret)
                goto out_fb_dealloc_cmap;
 
+       lcd = devm_lcd_device_register(dev, "clps711x-lcd", dev, cfb,
+                                      &clps711x_lcd_ops);
+       if (IS_ERR(lcd)) {
+               ret = PTR_ERR(lcd);
+               goto out_fb_dealloc_cmap;
+       }
+
+       info->lcd_dev = lcd;
+
        ret = register_framebuffer(info);
        if (ret)
                goto out_fb_dealloc_cmap;
 
-       lcd = devm_lcd_device_register(dev, "clps711x-lcd", dev, cfb,
-                                      &clps711x_lcd_ops);
-       if (!IS_ERR(lcd))
-               return 0;
+       return 0;
 
-       ret = PTR_ERR(lcd);
        unregister_framebuffer(info);
 
 out_fb_dealloc_cmap: