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:
parent
ca787fd395
commit
ba2e394129
1 changed files with 7 additions and 8 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue