Skip to content

Commit 909d4cd

Browse files
Li Zetaobroonie
authored andcommitted
spi: pic32-sqi: 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. Reviewed-by: Jonathan Cameron <[email protected]> Signed-off-by: Li Zetao <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent bbd0a66 commit 909d4cd

File tree

1 file changed

+3
-24
lines changed

1 file changed

+3
-24
lines changed

drivers/spi/spi-pic32-sqi.c

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -593,33 +593,20 @@ static int pic32_sqi_probe(struct platform_device *pdev)
593593
}
594594

595595
/* clocks */
596-
sqi->sys_clk = devm_clk_get(&pdev->dev, "reg_ck");
596+
sqi->sys_clk = devm_clk_get_enabled(&pdev->dev, "reg_ck");
597597
if (IS_ERR(sqi->sys_clk)) {
598598
ret = PTR_ERR(sqi->sys_clk);
599599
dev_err(&pdev->dev, "no sys_clk ?\n");
600600
goto err_free_host;
601601
}
602602

603-
sqi->base_clk = devm_clk_get(&pdev->dev, "spi_ck");
603+
sqi->base_clk = devm_clk_get_enabled(&pdev->dev, "spi_ck");
604604
if (IS_ERR(sqi->base_clk)) {
605605
ret = PTR_ERR(sqi->base_clk);
606606
dev_err(&pdev->dev, "no base clk ?\n");
607607
goto err_free_host;
608608
}
609609

610-
ret = clk_prepare_enable(sqi->sys_clk);
611-
if (ret) {
612-
dev_err(&pdev->dev, "sys clk enable failed\n");
613-
goto err_free_host;
614-
}
615-
616-
ret = clk_prepare_enable(sqi->base_clk);
617-
if (ret) {
618-
dev_err(&pdev->dev, "base clk enable failed\n");
619-
clk_disable_unprepare(sqi->sys_clk);
620-
goto err_free_host;
621-
}
622-
623610
init_completion(&sqi->xfer_done);
624611

625612
/* initialize hardware */
@@ -629,7 +616,7 @@ static int pic32_sqi_probe(struct platform_device *pdev)
629616
ret = ring_desc_ring_alloc(sqi);
630617
if (ret) {
631618
dev_err(&pdev->dev, "ring alloc failed\n");
632-
goto err_disable_clk;
619+
goto err_free_host;
633620
}
634621

635622
/* install irq handlers */
@@ -669,10 +656,6 @@ static int pic32_sqi_probe(struct platform_device *pdev)
669656
err_free_ring:
670657
ring_desc_ring_free(sqi);
671658

672-
err_disable_clk:
673-
clk_disable_unprepare(sqi->base_clk);
674-
clk_disable_unprepare(sqi->sys_clk);
675-
676659
err_free_host:
677660
spi_controller_put(host);
678661
return ret;
@@ -685,10 +668,6 @@ static void pic32_sqi_remove(struct platform_device *pdev)
685668
/* release resources */
686669
free_irq(sqi->irq, sqi);
687670
ring_desc_ring_free(sqi);
688-
689-
/* disable clk */
690-
clk_disable_unprepare(sqi->base_clk);
691-
clk_disable_unprepare(sqi->sys_clk);
692671
}
693672

694673
static const struct of_device_id pic32_sqi_of_ids[] = {

0 commit comments

Comments
 (0)