From a6872b25f18fe46ef9979f9d4a3635a9c3966afd Mon Sep 17 00:00:00 2001 From: eng33 Date: Mon, 11 Dec 2023 15:06:45 +0800 Subject: [PATCH] drivers/gpu/drm/panel:fix waveshare panel software restart/shutdown display is abnormal Fixed the screen stays white when the user restarts or shuts down Signed-off-by: eng33 --- drivers/gpu/drm/panel/panel-waveshare-dsi.c | 10 ++++++++++ 1 file changed, 10 insertions(+) --- a/drivers/gpu/drm/panel/panel-waveshare-dsi.c +++ b/drivers/gpu/drm/panel/panel-waveshare-dsi.c @@ -362,9 +362,18 @@ static void ws_panel_remove(struct i2c_c { struct ws_panel *ts = i2c_get_clientdata(i2c); + ws_panel_disable(&ts->base); + drm_panel_remove(&ts->base); } +static void ws_panel_shutdown(struct i2c_client *i2c) +{ + struct ws_panel *ts = i2c_get_clientdata(i2c); + + ws_panel_disable(&ts->base); +} + static const struct of_device_id ws_panel_of_ids[] = { { .compatible = "waveshare,2.8inch-panel", @@ -403,6 +412,7 @@ static struct i2c_driver ws_panel_driver }, .probe = ws_panel_probe, .remove = ws_panel_remove, + .shutdown = ws_panel_shutdown, }; module_i2c_driver(ws_panel_driver);