mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 01:28:59 +00:00
42 lines
1.2 KiB
Diff
42 lines
1.2 KiB
Diff
|
From a6872b25f18fe46ef9979f9d4a3635a9c3966afd Mon Sep 17 00:00:00 2001
|
||
|
From: eng33 <eng33@waveshare.com>
|
||
|
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 <eng33@waveshare.com>
|
||
|
---
|
||
|
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);
|
||
|
|