From: eng33 Date: Mon, 11 Dec 2023 07:06:45 +0000 (+0800) Subject: drivers/gpu/drm/panel:fix waveshare panel software restart/shutdown display is abnormal X-Git-Tag: accepted/tizen/unified/20240422.153132~188 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=749a94a9aac3730f97257bbe4efae8415c3bf667;p=platform%2Fkernel%2Flinux-rpi.git 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 --- diff --git a/drivers/gpu/drm/panel/panel-waveshare-dsi.c b/drivers/gpu/drm/panel/panel-waveshare-dsi.c index 2e0947a..1f07d65 100644 --- a/drivers/gpu/drm/panel/panel-waveshare-dsi.c +++ b/drivers/gpu/drm/panel/panel-waveshare-dsi.c @@ -361,9 +361,18 @@ static void ws_panel_remove(struct i2c_client *i2c) { 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", @@ -402,6 +411,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);