dev: gcdb: Add return status for gcdb init

Add error codes and success return status
for gcdb initialization function

Change-Id: I5613a712ddae8a180301d4e1f8ad7d628d7b3922
diff --git a/dev/gcdb/display/gcdb_display.c b/dev/gcdb/display/gcdb_display.c
index 948025e..1308f29 100755
--- a/dev/gcdb/display/gcdb_display.c
+++ b/dev/gcdb/display/gcdb_display.c
@@ -192,20 +192,22 @@
 	memcpy(dsi_video_mode_phy_db.laneCfg, panel_lane_config, LANE_SIZE);
 }
 
-void gcdb_display_init(uint32_t rev, void *base)
+int gcdb_display_init(uint32_t rev, void *base)
 {
+	int ret = NO_ERROR;
 
 	if (!oem_panel_select(&panelstruct, &(panel.panel_info),
 				 &dsi_video_mode_phy_db)) {
 		dprintf(CRITICAL, "Target panel init not found!\n");
-		return;
+		ret = ERR_NOT_SUPPORTED;
+		goto error_gcdb_display_init;
 	}
-
 	init_platform_data();
 
 	if (dsi_panel_init(&(panel.panel_info), &panelstruct)) {
 		dprintf(CRITICAL, "DSI panel init failed!\n");
-		return;
+		ret = ERROR;
+		goto error_gcdb_display_init;
 	}
 
 	panel.panel_info.mipi.mdss_dsi_phy_db = &dsi_video_mode_phy_db;
@@ -220,12 +222,11 @@
 	panel.fb.format = panel.panel_info.mipi.dst_format;
 	panel.mdp_rev = rev;
 
-	if (msm_display_init(&panel)) {
-		dprintf(CRITICAL, "Display init failed!\n");
-		return;
-	}
+	ret = msm_display_init(&panel);
 
-	display_enable = 1;
+error_gcdb_display_init:
+	display_enable = ret ? 0 : 1;
+	return ret;
 }
 
 void gcdb_display_shutdown(void)
diff --git a/dev/gcdb/display/gcdb_display.h b/dev/gcdb/display/gcdb_display.h
index d7249e5..1de05fb 100755
--- a/dev/gcdb/display/gcdb_display.h
+++ b/dev/gcdb/display/gcdb_display.h
@@ -57,7 +57,7 @@
 						struct msm_panel_info *pinfo);
 int target_ldo_ctrl(uint8_t enable);
 
-void gcdb_display_init(unsigned int rev, void *base);
+int gcdb_display_init(uint32_t rev, void *base);
 void gcdb_display_shutdown();
 
 #endif /*_GCDB_DISPLAY_H_ */