Skip to content

Commit 64640f6

Browse files
Jinjie Ruanbroonie
authored andcommitted
spi: zynqmp-gqspi: Use devm_spi_alloc_host()
Use devm_spi_alloc_host() so that there's no need to call spi_controller_put() in the error path. Signed-off-by: Jinjie Ruan <[email protected]> Acked-by: Michal Simek <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent e3de1d8 commit 64640f6

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

drivers/spi/spi-zynqmp-gqspi.c

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1224,7 +1224,7 @@ static int zynqmp_qspi_probe(struct platform_device *pdev)
12241224
u32 num_cs;
12251225
const struct qspi_platform_data *p_data;
12261226

1227-
ctlr = spi_alloc_host(&pdev->dev, sizeof(*xqspi));
1227+
ctlr = devm_spi_alloc_host(&pdev->dev, sizeof(*xqspi));
12281228
if (!ctlr)
12291229
return -ENOMEM;
12301230

@@ -1238,29 +1238,25 @@ static int zynqmp_qspi_probe(struct platform_device *pdev)
12381238
xqspi->has_tapdelay = true;
12391239

12401240
xqspi->regs = devm_platform_ioremap_resource(pdev, 0);
1241-
if (IS_ERR(xqspi->regs)) {
1242-
ret = PTR_ERR(xqspi->regs);
1243-
goto remove_ctlr;
1244-
}
1241+
if (IS_ERR(xqspi->regs))
1242+
return PTR_ERR(xqspi->regs);
12451243

12461244
xqspi->pclk = devm_clk_get(&pdev->dev, "pclk");
12471245
if (IS_ERR(xqspi->pclk)) {
12481246
dev_err(dev, "pclk clock not found.\n");
1249-
ret = PTR_ERR(xqspi->pclk);
1250-
goto remove_ctlr;
1247+
return PTR_ERR(xqspi->pclk);
12511248
}
12521249

12531250
xqspi->refclk = devm_clk_get(&pdev->dev, "ref_clk");
12541251
if (IS_ERR(xqspi->refclk)) {
12551252
dev_err(dev, "ref_clk clock not found.\n");
1256-
ret = PTR_ERR(xqspi->refclk);
1257-
goto remove_ctlr;
1253+
return PTR_ERR(xqspi->refclk);
12581254
}
12591255

12601256
ret = clk_prepare_enable(xqspi->pclk);
12611257
if (ret) {
12621258
dev_err(dev, "Unable to enable APB clock.\n");
1263-
goto remove_ctlr;
1259+
return ret;
12641260
}
12651261

12661262
ret = clk_prepare_enable(xqspi->refclk);
@@ -1346,8 +1342,6 @@ static int zynqmp_qspi_probe(struct platform_device *pdev)
13461342
clk_disable_unprepare(xqspi->refclk);
13471343
clk_dis_pclk:
13481344
clk_disable_unprepare(xqspi->pclk);
1349-
remove_ctlr:
1350-
spi_controller_put(ctlr);
13511345

13521346
return ret;
13531347
}

0 commit comments

Comments
 (0)