OSDN Git Service

drm/panel: ronbo-rb070d30: use drm_panel backlight support
authorSam Ravnborg <sam@ravnborg.org>
Sat, 7 Dec 2019 14:03:46 +0000 (15:03 +0100)
committerSam Ravnborg <sam@ravnborg.org>
Mon, 9 Dec 2019 21:57:27 +0000 (22:57 +0100)
Use the backlight support in drm_panel to simplify the driver

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20191207140353.23967-19-sam@ravnborg.org
drivers/gpu/drm/panel/panel-ronbo-rb070d30.c

index 746a3a2..ef18559 100644 (file)
@@ -7,7 +7,6 @@
  * This file based on panel-ilitek-ili9881c.c
  */
 
-#include <linux/backlight.h>
 #include <linux/delay.h>
 #include <linux/device.h>
 #include <linux/err.h>
@@ -29,7 +28,6 @@
 struct rb070d30_panel {
        struct drm_panel panel;
        struct mipi_dsi_device *dsi;
-       struct backlight_device *backlight;
        struct regulator *supply;
 
        struct {
@@ -84,22 +82,13 @@ static int rb070d30_panel_enable(struct drm_panel *panel)
        if (ret)
                return ret;
 
-       ret = backlight_enable(ctx->backlight);
-       if (ret)
-               goto out;
-
        return 0;
-
-out:
-       mipi_dsi_dcs_enter_sleep_mode(ctx->dsi);
-       return ret;
 }
 
 static int rb070d30_panel_disable(struct drm_panel *panel)
 {
        struct rb070d30_panel *ctx = panel_to_rb070d30_panel(panel);
 
-       backlight_disable(ctx->backlight);
        return mipi_dsi_dcs_enter_sleep_mode(ctx->dsi);
 }
 
@@ -208,11 +197,9 @@ static int rb070d30_panel_dsi_probe(struct mipi_dsi_device *dsi)
                return PTR_ERR(ctx->gpios.shlr);
        }
 
-       ctx->backlight = devm_of_find_backlight(&dsi->dev);
-       if (IS_ERR(ctx->backlight)) {
-               DRM_DEV_ERROR(&dsi->dev, "Couldn't get our backlight\n");
-               return PTR_ERR(ctx->backlight);
-       }
+       ret = drm_panel_of_backlight(&ctx->panel);
+       if (ret)
+               return ret;
 
        ret = drm_panel_add(&ctx->panel);
        if (ret < 0)