Skip to content

Commit 489d7a8

Browse files
AnnYugawaandersson
authored andcommitted
soc: qcom: use devm_clk_get_enabled() in gsbi_probe()
in gsbi_probe(), the return value of function clk_prepare_enable() should be checked, since it may fail. using devm_clk_get_enabled() instead of devm_clk_get() and clk_prepare_enable() can avoid this problem. Signed-off-by: Yuanjun Gong <ruc_gongyuanjun@163.com> Link: https://lore.kernel.org/r/20230720140834.33557-1-ruc_gongyuanjun@163.com [bjorn: Dropped unnecessary "ret" variable] Signed-off-by: Bjorn Andersson <andersson@kernel.org>
1 parent de3acb7 commit 489d7a8

1 file changed

Lines changed: 3 additions & 8 deletions

File tree

drivers/soc/qcom/qcom_gsbi.c

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ static int gsbi_probe(struct platform_device *pdev)
129129
const struct of_device_id *match;
130130
void __iomem *base;
131131
struct gsbi_info *gsbi;
132-
int i, ret;
132+
int i;
133133
u32 mask, gsbi_num;
134134
const struct crci_config *config = NULL;
135135

@@ -178,12 +178,10 @@ static int gsbi_probe(struct platform_device *pdev)
178178

179179
dev_info(&pdev->dev, "GSBI port protocol: %d crci: %d\n",
180180
gsbi->mode, gsbi->crci);
181-
gsbi->hclk = devm_clk_get(&pdev->dev, "iface");
181+
gsbi->hclk = devm_clk_get_enabled(&pdev->dev, "iface");
182182
if (IS_ERR(gsbi->hclk))
183183
return PTR_ERR(gsbi->hclk);
184184

185-
clk_prepare_enable(gsbi->hclk);
186-
187185
writel_relaxed((gsbi->mode << GSBI_PROTOCOL_SHIFT) | gsbi->crci,
188186
base + GSBI_CTRL_REG);
189187

@@ -211,10 +209,7 @@ static int gsbi_probe(struct platform_device *pdev)
211209

212210
platform_set_drvdata(pdev, gsbi);
213211

214-
ret = of_platform_populate(node, NULL, NULL, &pdev->dev);
215-
if (ret)
216-
clk_disable_unprepare(gsbi->hclk);
217-
return ret;
212+
return of_platform_populate(node, NULL, NULL, &pdev->dev);
218213
}
219214

220215
static int gsbi_remove(struct platform_device *pdev)

0 commit comments

Comments
 (0)