]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
soc: qcom: gsbi: fix double disable caused by devm
authorHaotian Zhang <vulab@iscas.ac.cn>
Mon, 20 Oct 2025 16:02:15 +0000 (00:02 +0800)
committerBjorn Andersson <andersson@kernel.org>
Wed, 22 Oct 2025 22:24:52 +0000 (17:24 -0500)
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: 489d7a8cc286 ("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>
drivers/soc/qcom/qcom_gsbi.c

index 8f1158e0c6313a5c46ecd95952807d332e0ff3fb..a25d1de592f060bbf6e084bd412e3a1ef47558f4 100644 (file)
@@ -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);