summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorVeera Sundaram Sankaran <veeras@codeaurora.org>2015-09-16 10:41:00 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:45:51 -0700
commitebfddf9b2ae2d2635c6bccf8548de2083a000514 (patch)
tree66a72bbc76109a6d35d31461c093b77dba28415e /drivers/video
parent306dcde24e6e95000817ba3876a17d2ced3f19fa (diff)
msm: mdss: fix dsi hw config string parsing
The dsi hw config is parsed from the string passed from bootloader. It is parsed based on the delimiter ':', but when a panel is booted in simulator mode, an additional override parameter prefixed with '#' is passed from bootloader. Fix the parsing to account for the override parameter when simulator panels are used. Change-Id: Id9d7419179048d8b564efbbb8ea238d987d6a83c Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/fbdev/msm/mdss_dsi.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss_dsi.c b/drivers/video/fbdev/msm/mdss_dsi.c
index fc37782a4366..b577bf071074 100644
--- a/drivers/video/fbdev/msm/mdss_dsi.c
+++ b/drivers/video/fbdev/msm/mdss_dsi.c
@@ -2804,7 +2804,7 @@ static int mdss_dsi_parse_hw_cfg(struct platform_device *pdev, char *pan_cfg)
struct mdss_dsi_data *dsi_res = platform_get_drvdata(pdev);
struct dsi_shared_data *sdata;
char dsi_cfg[20];
- char *cfg_prim = NULL, *cfg_sec = NULL;
+ char *cfg_prim = NULL, *cfg_sec = NULL, *ch = NULL;
int i = 0;
if (!dsi_res) {
@@ -2837,6 +2837,13 @@ static int mdss_dsi_parse_hw_cfg(struct platform_device *pdev, char *pan_cfg)
}
if (data) {
+ /*
+ * To handle the override parameter (#override:sim)
+ * passed for simulator panels
+ */
+ ch = strnstr(data, "#", strlen(data));
+ ch ? *ch = '\0' : false;
+
if (!strcmp(data, "dual_dsi"))
sdata->hw_config = DUAL_DSI;
else if (!strcmp(data, "split_dsi"))