diff mbox

[v2,3/3] drm/bridge/synopsys: dsi: explicitly request exclusive reset control

Message ID 1500553185-30077-4-git-send-email-philippe.cornu@st.com (mailing list archive)
State New, archived
Headers show

Commit Message

Philippe CORNU July 20, 2017, 12:19 p.m. UTC
Based on patch "Convert drivers to explicit reset API" from Philipp Zabel

Commit a53e35db70d1 ("reset: Ensure drivers are explicit when requesting
reset lines") started to transition the reset control request API calls
to explicitly state whether the driver needs exclusive or shared reset
control behavior. Convert all drivers requesting exclusive resets to the
explicit API call so the temporary transition helpers can be removed.

No functional changes.

Cc: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Philippe CORNU <philippe.cornu@st.com>
---
 drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Philipp Zabel July 20, 2017, 12:46 p.m. UTC | #1
Hi Philippe,

On Thu, 2017-07-20 at 14:19 +0200, Philippe CORNU wrote:
> Based on patch "Convert drivers to explicit reset API" from Philipp Zabel
> 
> Commit a53e35db70d1 ("reset: Ensure drivers are explicit when requesting
> reset lines") started to transition the reset control request API calls
> to explicitly state whether the driver needs exclusive or shared reset
> control behavior. Convert all drivers requesting exclusive resets to the
> explicit API call so the temporary transition helpers can be removed.
> 
> No functional changes.
> 
> Cc: Philipp Zabel <p.zabel@pengutronix.de>
> Signed-off-by: Philippe CORNU <philippe.cornu@st.com>

This reset control indeed has to be exclusive, as the driver depends on
the reset assertion to have an effect.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>

Again, the reset seems to be optional, though. I would suggest to change
this as follows:

> ---
>  drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> index 781340d..bb0bfa8 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> @@ -885,7 +885,7 @@ static int dw_mipi_dsi_bridge_attach(struct drm_bridge *bridge)
>  	 * Note that the reset was not defined in the initial device tree, so
>  	 * we have to be prepared for it not being found.
>  	 */
> -	apb_rst = devm_reset_control_get(dev, "apb");
> +	apb_rst = devm_reset_control_get_exclusive(dev, "apb");
>  	if (IS_ERR(apb_rst)) {
>  		ret = PTR_ERR(apb_rst);
>  		if (ret == -ENOENT) {

-	apb_rst = devm_reset_control_get(dev, "apb");
+	apb_rst = devm_reset_control_get_optional_exclusive(dev, "apb");
 	if (IS_ERR(apb_rst)) {
 		ret = PTR_ERR(apb_rst);
-		if (ret == -ENOENT) {
-			apb_rst = NULL;
-		} else {
-			dev_err(dev, "Unable to get reset control: %d\n", ret);
-			return ERR_PTR(ret);
-		}
+		dev_err(dev, "Unable to get reset control: %d\n", ret);
+		return ERR_PTR(ret);
 	}

regards
Philipp
diff mbox

Patch

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
index 781340d..bb0bfa8 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
@@ -885,7 +885,7 @@  static int dw_mipi_dsi_bridge_attach(struct drm_bridge *bridge)
 	 * Note that the reset was not defined in the initial device tree, so
 	 * we have to be prepared for it not being found.
 	 */
-	apb_rst = devm_reset_control_get(dev, "apb");
+	apb_rst = devm_reset_control_get_exclusive(dev, "apb");
 	if (IS_ERR(apb_rst)) {
 		ret = PTR_ERR(apb_rst);
 		if (ret == -ENOENT) {