From 68d621197162eb503d32676452e7281e3fb6c8cc Mon Sep 17 00:00:00 2001 From: Alexandru Ardelean Date: Thu, 19 Nov 2020 16:50:59 +0200 Subject: [PATCH] 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 Link: https://lore.kernel.org/r/20201119145059.48326-1-alexandru.ardelean@analog.com Signed-off-by: Greg Kroah-Hartman --- drivers/uio/uio_pruss.c | 7 ++----- 1 file 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 @@ static int pruss_probe(struct platform_device *pdev) 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; }