diff options
author | Alexandru Ardelean <alexandru.ardelean@analog.com> | 2020-11-19 16:50:59 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-12-09 19:57:03 +0100 |
commit | 68d621197162eb503d32676452e7281e3fb6c8cc (patch) | |
tree | 8752459dac16a361db101734470f0a903a246c4b /drivers/uio | |
parent | 81113b0421a5199a1f425beaef7dad0d7c16a891 (diff) | |
download | linux-68d621197162eb503d32676452e7281e3fb6c8cc.tar.gz linux-68d621197162eb503d32676452e7281e3fb6c8cc.tar.bz2 linux-68d621197162eb503d32676452e7281e3fb6c8cc.zip |
uio: pruss: use devm_clk_get() for clk init
This change uses devm_clk_get() to obtain a reference to the clock. It has
the benefit that clk_put() is no longer required, and cleans up the exit &
error path.
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Link: https://lore.kernel.org/r/20201119145059.48326-1-alexandru.ardelean@analog.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/uio')
-rw-r--r-- | drivers/uio/uio_pruss.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/uio/uio_pruss.c b/drivers/uio/uio_pruss.c index 41470c4dba02..e9096f53b4cc 100644 --- a/drivers/uio/uio_pruss.c +++ b/drivers/uio/uio_pruss.c @@ -110,7 +110,6 @@ static void pruss_cleanup(struct device *dev, struct uio_pruss_dev *gdev) gdev->sram_vaddr, sram_pool_sz); clk_disable(gdev->pruss_clk); - clk_put(gdev->pruss_clk); } static int pruss_probe(struct platform_device *pdev) @@ -131,7 +130,7 @@ static int pruss_probe(struct platform_device *pdev) return -ENOMEM; /* Power on PRU in case its not done as part of boot-loader */ - gdev->pruss_clk = clk_get(dev, "pruss"); + gdev->pruss_clk = devm_clk_get(dev, "pruss"); if (IS_ERR(gdev->pruss_clk)) { dev_err(dev, "Failed to get clock\n"); return PTR_ERR(gdev->pruss_clk); @@ -140,7 +139,7 @@ static int pruss_probe(struct platform_device *pdev) ret = clk_enable(gdev->pruss_clk); if (ret) { dev_err(dev, "Failed to enable clock\n"); - goto err_clk_put; + return ret; } regs_prussio = platform_get_resource(pdev, IORESOURCE_MEM, 0); @@ -229,8 +228,6 @@ err_free_sram: gen_pool_free(gdev->sram_pool, gdev->sram_vaddr, sram_pool_sz); err_clk_disable: clk_disable(gdev->pruss_clk); -err_clk_put: - clk_put(gdev->pruss_clk); return ret; } |