dev: gcdb: add support for specifying panel name during init

Display initialization now takes a panel name as input. Add support
in GCDB to propagate the panel name to the oem panel selection code.

Change-Id: I634507f870c752ee4a55cfdd148788c6c4b1070e
diff --git a/dev/gcdb/display/gcdb_display.c b/dev/gcdb/display/gcdb_display.c
index 52a6ae7..4a15406 100755
--- a/dev/gcdb/display/gcdb_display.c
+++ b/dev/gcdb/display/gcdb_display.c
@@ -257,11 +257,11 @@
 	memcpy(dsi_video_mode_phy_db.laneCfg, panel_lane_config, LANE_SIZE);
 }
 
-int gcdb_display_init(uint32_t rev, void *base)
+int gcdb_display_init(const char *panel_name, uint32_t rev, void *base)
 {
 	int ret = NO_ERROR;
 
-	if (!oem_panel_select(&panelstruct, &(panel.panel_info),
+	if (!oem_panel_select(panel_name, &panelstruct, &(panel.panel_info),
 				 &dsi_video_mode_phy_db)) {
 		dprintf(CRITICAL, "Target panel init not found!\n");
 		ret = ERR_NOT_SUPPORTED;
diff --git a/dev/gcdb/display/gcdb_display.h b/dev/gcdb/display/gcdb_display.h
index 6259896..b2fb974 100755
--- a/dev/gcdb/display/gcdb_display.h
+++ b/dev/gcdb/display/gcdb_display.h
@@ -58,7 +58,7 @@
 						struct msm_panel_info *pinfo);
 int target_ldo_ctrl(uint8_t enable);
 
-int gcdb_display_init(uint32_t rev, void *base);
+int gcdb_display_init(const char *panel_name, uint32_t rev, void *base);
 void gcdb_display_shutdown();
 
 #endif /*_GCDB_DISPLAY_H_ */
diff --git a/target/apq8084/oem_panel.c b/target/apq8084/oem_panel.c
index eeae271..3b487c6 100644
--- a/target/apq8084/oem_panel.c
+++ b/target/apq8084/oem_panel.c
@@ -153,7 +153,7 @@
 	return ret;
 }
 
-bool oem_panel_select(struct panel_struct *panelstruct,
+bool oem_panel_select(const char *panel_name, struct panel_struct *panelstruct,
 			struct msm_panel_info *pinfo,
 			struct mdss_dsi_phy_ctrl *phy_db)
 {
diff --git a/target/apq8084/target_display.c b/target/apq8084/target_display.c
index 1441324..fd6f766 100755
--- a/target/apq8084/target_display.c
+++ b/target/apq8084/target_display.c
@@ -245,7 +245,7 @@
 void target_display_init(const char *panel_name)
 {
 	uint32_t ret = 0;
-	ret = gcdb_display_init(MDP_REV_50, MIPI_FB_ADDR);
+	ret = gcdb_display_init(panel_name, MDP_REV_50, MIPI_FB_ADDR);
 	if (ret) {
 		msm_display_off();
 	}
diff --git a/target/msm8226/oem_panel.c b/target/msm8226/oem_panel.c
index f23aded..5b5cc21 100755
--- a/target/msm8226/oem_panel.c
+++ b/target/msm8226/oem_panel.c
@@ -306,7 +306,7 @@
 
 static uint32_t auto_pan_loop = 0;
 
-bool oem_panel_select(struct panel_struct *panelstruct,
+bool oem_panel_select(const char *panel_name, struct panel_struct *panelstruct,
 			struct msm_panel_info *pinfo,
 			struct mdss_dsi_phy_ctrl *phy_db)
 {
diff --git a/target/msm8226/target_display.c b/target/msm8226/target_display.c
index 60ad23b..2e608c8 100755
--- a/target/msm8226/target_display.c
+++ b/target/msm8226/target_display.c
@@ -347,7 +347,7 @@
         uint32_t ret = 0;
 
 	do {
-		ret = gcdb_display_init(MDP_REV_50, MIPI_FB_ADDR);
+		ret = gcdb_display_init(panel_name, MDP_REV_50, MIPI_FB_ADDR);
 		if (!ret || ret == ERR_NOT_SUPPORTED) {
 			break;
 		} else {
diff --git a/target/msm8610/oem_panel.c b/target/msm8610/oem_panel.c
index 8ea0a5e..e1fad7c 100644
--- a/target/msm8610/oem_panel.c
+++ b/target/msm8610/oem_panel.c
@@ -221,7 +221,7 @@
 	return true;
 }
 
-bool oem_panel_select(struct panel_struct *panelstruct,
+bool oem_panel_select(const char *panel_name, struct panel_struct *panelstruct,
 			struct msm_panel_info *pinfo,
 			struct mdss_dsi_phy_ctrl *phy_db)
 {
diff --git a/target/msm8610/target_display.c b/target/msm8610/target_display.c
index ffd7c4f..4b963b8 100755
--- a/target/msm8610/target_display.c
+++ b/target/msm8610/target_display.c
@@ -164,7 +164,7 @@
 
 void target_display_init(const char *panel_name)
 {
-	gcdb_display_init(MDP_REV_304, MIPI_FB_ADDR);
+	gcdb_display_init(panel_name, MDP_REV_304, MIPI_FB_ADDR);
 }
 
 void target_display_shutdown(void)
diff --git a/target/msm8974/oem_panel.c b/target/msm8974/oem_panel.c
index 0bda609..1634cd4 100755
--- a/target/msm8974/oem_panel.c
+++ b/target/msm8974/oem_panel.c
@@ -232,7 +232,7 @@
 
 static uint32_t auto_pan_loop = 0;
 
-bool oem_panel_select(struct panel_struct *panelstruct,
+bool oem_panel_select(const char *panel_name, struct panel_struct *panelstruct,
 			struct msm_panel_info *pinfo,
 			struct mdss_dsi_phy_ctrl *phy_db)
 {
diff --git a/target/msm8974/target_display.c b/target/msm8974/target_display.c
index 8a21e98..270a300 100755
--- a/target/msm8974/target_display.c
+++ b/target/msm8974/target_display.c
@@ -353,7 +353,8 @@
 		break;
 	default:
 		do {
-			ret = gcdb_display_init(MDP_REV_50, MIPI_FB_ADDR);
+			ret = gcdb_display_init(panel_name, MDP_REV_50,
+				MIPI_FB_ADDR);
 			if (!ret || ret == ERR_NOT_SUPPORTED) {
 				break;
 			} else {