Skip to content

Commit 9351339

Browse files
Li Zetaobroonie
authored andcommitted
spi: spl022: Use helper function devm_clk_get_enabled()
Since commit 7ef9651 ("clk: Provide new devm_clk helpers for prepared and enabled clocks"), devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables (and possibly prepares) the clocks for the whole lifetime of the device. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Moreover, the label "err_no_clk_en" is no used, drop it for clean code. Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Li Zetao <[email protected]> Reviewed-by: Jonathan Cameron <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent 6b6cc88 commit 9351339

File tree

1 file changed

+1
-10
lines changed

1 file changed

+1
-10
lines changed

drivers/spi/spi-pl022.c

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2168,19 +2168,13 @@ static int pl022_probe(struct amba_device *adev, const struct amba_id *id)
21682168
dev_info(&adev->dev, "mapped registers from %pa to %p\n",
21692169
&adev->res.start, pl022->virtbase);
21702170

2171-
pl022->clk = devm_clk_get(&adev->dev, NULL);
2171+
pl022->clk = devm_clk_get_enabled(&adev->dev, NULL);
21722172
if (IS_ERR(pl022->clk)) {
21732173
status = PTR_ERR(pl022->clk);
21742174
dev_err(&adev->dev, "could not retrieve SSP/SPI bus clock\n");
21752175
goto err_no_clk;
21762176
}
21772177

2178-
status = clk_prepare_enable(pl022->clk);
2179-
if (status) {
2180-
dev_err(&adev->dev, "could not enable SSP/SPI bus clock\n");
2181-
goto err_no_clk_en;
2182-
}
2183-
21842178
/* Initialize transfer pump */
21852179
tasklet_init(&pl022->pump_transfers, pump_transfers,
21862180
(unsigned long)pl022);
@@ -2240,8 +2234,6 @@ static int pl022_probe(struct amba_device *adev, const struct amba_id *id)
22402234
if (platform_info->enable_dma)
22412235
pl022_dma_remove(pl022);
22422236
err_no_irq:
2243-
clk_disable_unprepare(pl022->clk);
2244-
err_no_clk_en:
22452237
err_no_clk:
22462238
err_no_ioremap:
22472239
amba_release_regions(adev);
@@ -2268,7 +2260,6 @@ pl022_remove(struct amba_device *adev)
22682260
if (pl022->host_info->enable_dma)
22692261
pl022_dma_remove(pl022);
22702262

2271-
clk_disable_unprepare(pl022->clk);
22722263
amba_release_regions(adev);
22732264
tasklet_disable(&pl022->pump_transfers);
22742265
}

0 commit comments

Comments
 (0)