[PATCH] drm/bridge: analogix_dp: Fix clk-disable removal

Heiko Stuebner posted 1 patch 6 months, 3 weeks ago
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] drm/bridge: analogix_dp: Fix clk-disable removal
Posted by Heiko Stuebner 6 months, 3 weeks ago
Commit 6579a03e68ff ("drm/bridge: analogix_dp: Remove the unnecessary
calls to clk_disable_unprepare() during probing") removed the mismatched
clock_disable calls from analogix_dp_probe.

But that patch was created and sent before
commit e5e9fa9f7aad ("drm/bridge: analogix_dp: Add support to get panel
from the DP AUX bus") was merged, so couldn't know about this change.

So in the original patch the last change is
    if (ret) {
	dev_err(&pdev->dev, "failed to request irq\n");
-		goto err_disable_clk;
+		return ERR_PTR(ret);
    }
    disable_irq(dp->irq);

    return dp;
-
-err_disable_clk:
-	clk_disable_unprepare(dp->clock);
-	return ERR_PTR(ret);
 }
 EXPORT_SYMBOL_GPL(analogix_dp_probe);

the analogix_dp_core.c actually now has the runtime-pm handling between
disable_irq() and return do introducing another goto err_clk_disable there.

So remove that one too and return an error pointer, to not create build
breakage.

Fixes: 6579a03e68ff ("drm/bridge: analogix_dp: Remove the unnecessary calls to clk_disable_unprepare() during probing")
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
When I reviewed the original patch, I failed to see that difference :-(
But I do wonder how dim was able to apply the original patch.

 drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 01201fff59a6..505eec6b819b 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -1586,7 +1586,7 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data)
 	pm_runtime_set_autosuspend_delay(dp->dev, 100);
 	ret = devm_pm_runtime_enable(dp->dev);
 	if (ret)
-		goto err_disable_clk;
+		return ERR_PTR(ret);
 
 	return dp;
 }
-- 
2.47.2
Re: [PATCH] drm/bridge: analogix_dp: Fix clk-disable removal
Posted by Dmitry Baryshkov 6 months, 3 weeks ago
On Wed, 28 May 2025 00:51:19 +0200, Heiko Stuebner wrote:
> Commit 6579a03e68ff ("drm/bridge: analogix_dp: Remove the unnecessary
> calls to clk_disable_unprepare() during probing") removed the mismatched
> clock_disable calls from analogix_dp_probe.
> 
> But that patch was created and sent before
> commit e5e9fa9f7aad ("drm/bridge: analogix_dp: Add support to get panel
> from the DP AUX bus") was merged, so couldn't know about this change.
> 
> [...]

Applied to drm-misc-next-fixes, thanks!

[1/1] drm/bridge: analogix_dp: Fix clk-disable removal
      commit: fd03f82a026cc03cb8051a8c6487c99f96c9029f

Best regards,
-- 
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Re: [PATCH] drm/bridge: analogix_dp: Fix clk-disable removal
Posted by Lucas De Marchi 6 months, 3 weeks ago
On Wed, May 28, 2025 at 12:51:19AM +0200, Heiko Stuebner wrote:
>Commit 6579a03e68ff ("drm/bridge: analogix_dp: Remove the unnecessary
>calls to clk_disable_unprepare() during probing") removed the mismatched
>clock_disable calls from analogix_dp_probe.
>
>But that patch was created and sent before
>commit e5e9fa9f7aad ("drm/bridge: analogix_dp: Add support to get panel
>from the DP AUX bus") was merged, so couldn't know about this change.
>
>So in the original patch the last change is
>    if (ret) {
>	dev_err(&pdev->dev, "failed to request irq\n");
>-		goto err_disable_clk;
>+		return ERR_PTR(ret);
>    }
>    disable_irq(dp->irq);
>
>    return dp;
>-
>-err_disable_clk:
>-	clk_disable_unprepare(dp->clock);
>-	return ERR_PTR(ret);
> }
> EXPORT_SYMBOL_GPL(analogix_dp_probe);
>
>the analogix_dp_core.c actually now has the runtime-pm handling between
>disable_irq() and return do introducing another goto err_clk_disable there.
>
>So remove that one too and return an error pointer, to not create build
>breakage.
>
>Fixes: 6579a03e68ff ("drm/bridge: analogix_dp: Remove the unnecessary calls to clk_disable_unprepare() during probing")
>Signed-off-by: Heiko Stuebner <heiko@sntech.de>

Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>

Dmitry, maybe you have to enable a config in your build tests so we
don't have broken builds?

Lucas De Marchi
Re: [PATCH] drm/bridge: analogix_dp: Fix clk-disable removal
Posted by Dmitry Baryshkov 6 months, 3 weeks ago
On Wed, May 28, 2025 at 12:51:19AM +0200, Heiko Stuebner wrote:
> Commit 6579a03e68ff ("drm/bridge: analogix_dp: Remove the unnecessary
> calls to clk_disable_unprepare() during probing") removed the mismatched
> clock_disable calls from analogix_dp_probe.
> 
> But that patch was created and sent before
> commit e5e9fa9f7aad ("drm/bridge: analogix_dp: Add support to get panel
> from the DP AUX bus") was merged, so couldn't know about this change.
> 
> So in the original patch the last change is
>     if (ret) {
> 	dev_err(&pdev->dev, "failed to request irq\n");
> -		goto err_disable_clk;
> +		return ERR_PTR(ret);
>     }
>     disable_irq(dp->irq);
> 
>     return dp;
> -
> -err_disable_clk:
> -	clk_disable_unprepare(dp->clock);
> -	return ERR_PTR(ret);
>  }
>  EXPORT_SYMBOL_GPL(analogix_dp_probe);
> 
> the analogix_dp_core.c actually now has the runtime-pm handling between
> disable_irq() and return do introducing another goto err_clk_disable there.
> 
> So remove that one too and return an error pointer, to not create build
> breakage.
> 
> Fixes: 6579a03e68ff ("drm/bridge: analogix_dp: Remove the unnecessary calls to clk_disable_unprepare() during probing")
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---
> When I reviewed the original patch, I failed to see that difference :-(
> But I do wonder how dim was able to apply the original patch.
> 

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>

-- 
With best wishes
Dmitry