Commit 2286e18e authored by Haotian Zhang's avatar Haotian Zhang Committed by Bjorn Andersson
Browse files

soc: qcom: gsbi: fix double disable caused by devm



In the commit referenced by the Fixes tag, devm_clk_get_enabled() was
introduced to replace devm_clk_get() and clk_prepare_enable(). While
the clk_disable_unprepare() call in the error path was correctly
removed, the one in the remove function was overlooked, leading to a
double disable issue.

Remove the redundant clk_disable_unprepare() call from gsbi_remove()
to fix this issue. Since all resources are now managed by devres
and will be automatically released, the remove function serves no purpose
and can be deleted entirely.

Fixes: 489d7a8c ("soc: qcom: use devm_clk_get_enabled() in gsbi_probe()")
Signed-off-by: default avatarHaotian Zhang <vulab@iscas.ac.cn>
Reviewed-by: default avatarKonrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/stable/20251020160215.523-1-vulab%40iscas.ac.cn
Link: https://lore.kernel.org/r/20251020160215.523-1-vulab@iscas.ac.cn


Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent dcbce2c2
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -212,13 +212,6 @@ static int gsbi_probe(struct platform_device *pdev)
	return of_platform_populate(node, NULL, NULL, &pdev->dev);
}

static void gsbi_remove(struct platform_device *pdev)
{
	struct gsbi_info *gsbi = platform_get_drvdata(pdev);

	clk_disable_unprepare(gsbi->hclk);
}

static const struct of_device_id gsbi_dt_match[] = {
	{ .compatible = "qcom,gsbi-v1.0.0", },
	{ },
@@ -232,7 +225,6 @@ static struct platform_driver gsbi_driver = {
		.of_match_table	= gsbi_dt_match,
	},
	.probe = gsbi_probe,
	.remove = gsbi_remove,
};

module_platform_driver(gsbi_driver);