drm/sde: don't return error when fail to set panel pin ctrl

Panel pin control is not mandatory for all of the DSI panels.
If the panel is using bridge chips, such as ADV7533, it doesn't
have to configure the panel pin controls.

Change-Id: I48d862a9c67d52c0ed8c3c0309b0ff56d13e97f4
Signed-off-by: Jin Li <jinl@codeaurora.org>
Signed-off-by: Yunyun Cao <yunyunc@codeaurora.org>
This commit is contained in:
Jin Li 2016-11-03 16:03:02 -04:00 committed by Gerrit - the friendly Code Review server
parent ca787fd395
commit ba2e394129

View file

@ -172,10 +172,12 @@ static int dsi_panel_set_pinctrl_state(struct dsi_panel *panel, bool enable)
else
state = panel->pinctrl.suspend;
rc = pinctrl_select_state(panel->pinctrl.pinctrl, state);
if (rc)
pr_err("[%s] failed to set pin state, rc=%d\n", panel->name,
rc);
if (panel->pinctrl.pinctrl && state) {
rc = pinctrl_select_state(panel->pinctrl.pinctrl, state);
if (rc)
pr_err("[%s] failed to set pin state, rc=%d\n",
panel->name, rc);
}
return rc;
}
@ -1656,10 +1658,8 @@ int dsi_panel_drv_init(struct dsi_panel *panel,
}
rc = dsi_panel_pinctrl_init(panel);
if (rc) {
if (rc)
pr_err("[%s] failed to init pinctrl, rc=%d\n", panel->name, rc);
goto error_vreg_put;
}
rc = dsi_panel_gpio_request(panel);
if (rc) {
@ -1682,7 +1682,6 @@ error_gpio_release:
(void)dsi_panel_gpio_release(panel);
error_pinctrl_deinit:
(void)dsi_panel_pinctrl_deinit(panel);
error_vreg_put:
(void)dsi_panel_vreg_put(panel);
exit:
mutex_unlock(&panel->panel_lock);