Commit 6579a03e authored by Damon Ding's avatar Damon Ding Committed by Dmitry Baryshkov
Browse files

drm/bridge: analogix_dp: Remove the unnecessary calls to clk_disable_unprepare() during probing



With the commit f3795233 ("drm/bridge: analogix_dp: handle clock via
runtime PM"), the PM operations can help enable/disable the clock. The
err_disable_clk label and clk_disable_unprepare() operations are no
longer necessary because the analogix_dp_resume() will not be called
during probing.

Fixes: f3795233 ("drm/bridge: analogix_dp: handle clock via runtime PM")
Suggested-by: default avatarDouglas Anderson <dianders@chromium.org>
Reviewed-by: default avatarDouglas Anderson <dianders@chromium.org>
Signed-off-by: default avatarDamon Ding <damon.ding@rock-chips.com>
Reviewed-by: default avatarHeiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20250302083043.3197235-1-damon.ding@rock-chips.com


Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
parent be9b3f9a
Loading
Loading
Loading
Loading
+5 −13
Original line number Diff line number Diff line
@@ -1531,10 +1531,8 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data)
	}

	dp->reg_base = devm_platform_ioremap_resource(pdev, 0);
	if (IS_ERR(dp->reg_base)) {
		ret = PTR_ERR(dp->reg_base);
		goto err_disable_clk;
	}
	if (IS_ERR(dp->reg_base))
		return ERR_CAST(dp->reg_base);

	dp->force_hpd = of_property_read_bool(dev->of_node, "force-hpd");

@@ -1546,8 +1544,7 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data)
	if (IS_ERR(dp->hpd_gpiod)) {
		dev_err(dev, "error getting HDP GPIO: %ld\n",
			PTR_ERR(dp->hpd_gpiod));
		ret = PTR_ERR(dp->hpd_gpiod);
		goto err_disable_clk;
		return ERR_CAST(dp->hpd_gpiod);
	}

	if (dp->hpd_gpiod) {
@@ -1567,8 +1564,7 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data)

	if (dp->irq == -ENXIO) {
		dev_err(&pdev->dev, "failed to get irq\n");
		ret = -ENODEV;
		goto err_disable_clk;
		return ERR_PTR(-ENODEV);
	}

	ret = devm_request_threaded_irq(&pdev->dev, dp->irq,
@@ -1577,7 +1573,7 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data)
					irq_flags, "analogix-dp", dp);
	if (ret) {
		dev_err(&pdev->dev, "failed to request irq\n");
		goto err_disable_clk;
		return ERR_PTR(ret);
	}

	dp->aux.name = "DP-AUX";
@@ -1593,10 +1589,6 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data)
		goto err_disable_clk;

	return dp;

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