crypto: atmel - use devm_clk_get_prepared() helpers
Simplify the code by replacing devm_clk_get() and clk_prepare() with devm_clk_get_prepared(), which also avoids the call to clk_unprepare(). Signed-off-by: Chunhai Guo <guochunhai@vivo.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
24cc57d8fa
commit
eb7bb0b56b
@ -2376,33 +2376,29 @@ static int atmel_aes_probe(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
/* Initializing the clock */
|
||||
aes_dd->iclk = devm_clk_get(&pdev->dev, "aes_clk");
|
||||
aes_dd->iclk = devm_clk_get_prepared(&pdev->dev, "aes_clk");
|
||||
if (IS_ERR(aes_dd->iclk)) {
|
||||
dev_err(dev, "clock initialization failed.\n");
|
||||
err = PTR_ERR(aes_dd->iclk);
|
||||
goto err_tasklet_kill;
|
||||
}
|
||||
|
||||
err = clk_prepare(aes_dd->iclk);
|
||||
if (err)
|
||||
goto err_tasklet_kill;
|
||||
|
||||
err = atmel_aes_hw_version_init(aes_dd);
|
||||
if (err)
|
||||
goto err_iclk_unprepare;
|
||||
goto err_tasklet_kill;
|
||||
|
||||
atmel_aes_get_cap(aes_dd);
|
||||
|
||||
#if IS_ENABLED(CONFIG_CRYPTO_DEV_ATMEL_AUTHENC)
|
||||
if (aes_dd->caps.has_authenc && !atmel_sha_authenc_is_ready()) {
|
||||
err = -EPROBE_DEFER;
|
||||
goto err_iclk_unprepare;
|
||||
goto err_tasklet_kill;
|
||||
}
|
||||
#endif
|
||||
|
||||
err = atmel_aes_buff_init(aes_dd);
|
||||
if (err)
|
||||
goto err_iclk_unprepare;
|
||||
goto err_tasklet_kill;
|
||||
|
||||
err = atmel_aes_dma_init(aes_dd);
|
||||
if (err)
|
||||
@ -2429,8 +2425,6 @@ err_algs:
|
||||
atmel_aes_dma_cleanup(aes_dd);
|
||||
err_buff_cleanup:
|
||||
atmel_aes_buff_cleanup(aes_dd);
|
||||
err_iclk_unprepare:
|
||||
clk_unprepare(aes_dd->iclk);
|
||||
err_tasklet_kill:
|
||||
tasklet_kill(&aes_dd->done_task);
|
||||
tasklet_kill(&aes_dd->queue_task);
|
||||
@ -2455,8 +2449,6 @@ static void atmel_aes_remove(struct platform_device *pdev)
|
||||
|
||||
atmel_aes_dma_cleanup(aes_dd);
|
||||
atmel_aes_buff_cleanup(aes_dd);
|
||||
|
||||
clk_unprepare(aes_dd->iclk);
|
||||
}
|
||||
|
||||
static struct platform_driver atmel_aes_driver = {
|
||||
|
@ -2623,27 +2623,23 @@ static int atmel_sha_probe(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
/* Initializing the clock */
|
||||
sha_dd->iclk = devm_clk_get(&pdev->dev, "sha_clk");
|
||||
sha_dd->iclk = devm_clk_get_prepared(&pdev->dev, "sha_clk");
|
||||
if (IS_ERR(sha_dd->iclk)) {
|
||||
dev_err(dev, "clock initialization failed.\n");
|
||||
err = PTR_ERR(sha_dd->iclk);
|
||||
goto err_tasklet_kill;
|
||||
}
|
||||
|
||||
err = clk_prepare(sha_dd->iclk);
|
||||
if (err)
|
||||
goto err_tasklet_kill;
|
||||
|
||||
err = atmel_sha_hw_version_init(sha_dd);
|
||||
if (err)
|
||||
goto err_iclk_unprepare;
|
||||
goto err_tasklet_kill;
|
||||
|
||||
atmel_sha_get_cap(sha_dd);
|
||||
|
||||
if (sha_dd->caps.has_dma) {
|
||||
err = atmel_sha_dma_init(sha_dd);
|
||||
if (err)
|
||||
goto err_iclk_unprepare;
|
||||
goto err_tasklet_kill;
|
||||
|
||||
dev_info(dev, "using %s for DMA transfers\n",
|
||||
dma_chan_name(sha_dd->dma_lch_in.chan));
|
||||
@ -2669,8 +2665,6 @@ err_algs:
|
||||
spin_unlock(&atmel_sha.lock);
|
||||
if (sha_dd->caps.has_dma)
|
||||
atmel_sha_dma_cleanup(sha_dd);
|
||||
err_iclk_unprepare:
|
||||
clk_unprepare(sha_dd->iclk);
|
||||
err_tasklet_kill:
|
||||
tasklet_kill(&sha_dd->queue_task);
|
||||
tasklet_kill(&sha_dd->done_task);
|
||||
@ -2693,8 +2687,6 @@ static void atmel_sha_remove(struct platform_device *pdev)
|
||||
|
||||
if (sha_dd->caps.has_dma)
|
||||
atmel_sha_dma_cleanup(sha_dd);
|
||||
|
||||
clk_unprepare(sha_dd->iclk);
|
||||
}
|
||||
|
||||
static struct platform_driver atmel_sha_driver = {
|
||||
|
Loading…
Reference in New Issue
Block a user