From 097ba84eac92b6e1c82b6b1614852eeee2792003 Mon Sep 17 00:00:00 2001 From: Konstantin Makariev Date: Fri, 1 Mar 2019 11:59:46 -0600 Subject: [PATCH] synaptics_mmi: fix handling of splash screen mode Flag splash screen mode was introduced to to work around deficiencies in DRM framework found on early stages of development. Once DRM matured, flag becomes unnecessary. Removing this flag revealed a bug in the logic. This commit is fixing it. Change-Id: I0f8310f79732e675e6be7f5e373e6b2f07765e0c Signed-off-by: Konstantin Makariev Reviewed-on: https://gerrit.mot.com/1316335 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Konstantin Makariev Submit-Approved: Jira Key --- .../synaptics_mmi/synaptics_dsx_i2c.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/drivers/input/touchscreen/synaptics_mmi/synaptics_dsx_i2c.c b/drivers/input/touchscreen/synaptics_mmi/synaptics_dsx_i2c.c index a9d1db2042f6..e02b66a5127b 100644 --- a/drivers/input/touchscreen/synaptics_mmi/synaptics_dsx_i2c.c +++ b/drivers/input/touchscreen/synaptics_mmi/synaptics_dsx_i2c.c @@ -6581,14 +6581,17 @@ static void synaptics_rmi4_detection_work(struct work_struct *work) char *pname = NULL; #if defined(CONFIG_DRM) - /* DRM status of primary panel */ - panel_ready = dsi_display_is_panel_enable(rmi4_data->ctrl_dsi, &probe_status, &pname); - dev_dbg(dev, "%s: drm: probe=%d, enable=%d, panel'%s'\n", - __func__, probe_status, panel_ready, pname); - /* check if primary panel is not a dummy one */ - if (pname && strstr(pname, "dummy")) { - dev_info(dev, "%s: dummy panel detected; terminating...\n", __func__); - terminate = true; + if (rmi4_data->splash_screen_mode) { + /* DRM status of primary panel */ + panel_ready = dsi_display_is_panel_enable(rmi4_data->ctrl_dsi, + &probe_status, &pname); + dev_dbg(dev, "%s: drm: probe=%d, enable=%d, panel'%s'\n", + __func__, probe_status, panel_ready, pname); + /* check if primary panel is not a dummy one */ + if (pname && strstr(pname, "dummy")) { + dev_info(dev, "%s: dummy panel detected; terminating...\n", __func__); + terminate = true; + } } #endif /* pname only gets initialized by DRM */