Skip to content

Commit 407f8cf

Browse files
Chunhai Guoherbertx
authored andcommitted
crypto: img-hash - use devm_clk_get_enabled() helpers
Simplify the code by replacing devm_clk_get() and clk_prepare_enable() with devm_clk_get_enabled(), which also avoids the call to clk_disable_unprepare(). Signed-off-by: Chunhai Guo <guochunhai@vivo.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
1 parent eb7bb0b commit 407f8cf

1 file changed

Lines changed: 3 additions & 18 deletions

File tree

drivers/crypto/img-hash.c

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -987,31 +987,23 @@ static int img_hash_probe(struct platform_device *pdev)
987987
}
988988
dev_dbg(dev, "using IRQ channel %d\n", irq);
989989

990-
hdev->hash_clk = devm_clk_get(&pdev->dev, "hash");
990+
hdev->hash_clk = devm_clk_get_enabled(&pdev->dev, "hash");
991991
if (IS_ERR(hdev->hash_clk)) {
992992
dev_err(dev, "clock initialization failed.\n");
993993
err = PTR_ERR(hdev->hash_clk);
994994
goto res_err;
995995
}
996996

997-
hdev->sys_clk = devm_clk_get(&pdev->dev, "sys");
997+
hdev->sys_clk = devm_clk_get_enabled(&pdev->dev, "sys");
998998
if (IS_ERR(hdev->sys_clk)) {
999999
dev_err(dev, "clock initialization failed.\n");
10001000
err = PTR_ERR(hdev->sys_clk);
10011001
goto res_err;
10021002
}
10031003

1004-
err = clk_prepare_enable(hdev->hash_clk);
1005-
if (err)
1006-
goto res_err;
1007-
1008-
err = clk_prepare_enable(hdev->sys_clk);
1009-
if (err)
1010-
goto clk_err;
1011-
10121004
err = img_hash_dma_init(hdev);
10131005
if (err)
1014-
goto dma_err;
1006+
goto res_err;
10151007

10161008
dev_dbg(dev, "using %s for DMA transfers\n",
10171009
dma_chan_name(hdev->dma_lch));
@@ -1032,10 +1024,6 @@ static int img_hash_probe(struct platform_device *pdev)
10321024
list_del(&hdev->list);
10331025
spin_unlock(&img_hash.lock);
10341026
dma_release_channel(hdev->dma_lch);
1035-
dma_err:
1036-
clk_disable_unprepare(hdev->sys_clk);
1037-
clk_err:
1038-
clk_disable_unprepare(hdev->hash_clk);
10391027
res_err:
10401028
tasklet_kill(&hdev->done_task);
10411029
tasklet_kill(&hdev->dma_task);
@@ -1058,9 +1046,6 @@ static void img_hash_remove(struct platform_device *pdev)
10581046
tasklet_kill(&hdev->dma_task);
10591047

10601048
dma_release_channel(hdev->dma_lch);
1061-
1062-
clk_disable_unprepare(hdev->hash_clk);
1063-
clk_disable_unprepare(hdev->sys_clk);
10641049
}
10651050

10661051
#ifdef CONFIG_PM_SLEEP

0 commit comments

Comments
 (0)