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: 489d7a8cc2 ("soc: qcom: use devm_clk_get_enabled() in gsbi_probe()")
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
Reviewed-by: Konrad 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: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
committed by
Bjorn Andersson
parent
dcbce2c23e
commit
2286e18e39
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user