#include <drm/drm_panel.h>
 #include <drm/drm_print.h>
 
-#include <linux/backlight.h>
 #include <linux/gpio/consumer.h>
 #include <linux/delay.h>
 #include <linux/module.h>
        struct mipi_dsi_device *dsi;
        const struct st7701_panel_desc *desc;
 
-       struct backlight_device *backlight;
        struct regulator_bulk_data *supplies;
        struct gpio_desc *reset;
        unsigned int sleep_delay;
        struct st7701 *st7701 = panel_to_st7701(panel);
 
        ST7701_DSI(st7701, MIPI_DCS_SET_DISPLAY_ON, 0x00);
-       backlight_enable(st7701->backlight);
 
        return 0;
 }
 {
        struct st7701 *st7701 = panel_to_st7701(panel);
 
-       backlight_disable(st7701->backlight);
        ST7701_DSI(st7701, MIPI_DCS_SET_DISPLAY_OFF, 0x00);
 
        return 0;
                return PTR_ERR(st7701->reset);
        }
 
-       st7701->backlight = devm_of_find_backlight(&dsi->dev);
-       if (IS_ERR(st7701->backlight))
-               return PTR_ERR(st7701->backlight);
-
        drm_panel_init(&st7701->panel, &dsi->dev, &st7701_funcs,
                       DRM_MODE_CONNECTOR_DSI);
 
         */
        st7701->sleep_delay = 120 + desc->panel_sleep_delay;
 
+       ret = drm_panel_of_backlight(&st7701->panel);
+       if (ret)
+               return ret;
+
        ret = drm_panel_add(&st7701->panel);
        if (ret < 0)
                return ret;