Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Alexandru Ardelean and committed by
Greg Kroah-Hartman
68d62119 81113b04

+2 -5
+2 -5
drivers/uio/uio_pruss.c
··· 110 110 gdev->sram_vaddr, 111 111 sram_pool_sz); 112 112 clk_disable(gdev->pruss_clk); 113 - clk_put(gdev->pruss_clk); 114 113 } 115 114 116 115 static int pruss_probe(struct platform_device *pdev) ··· 130 131 return -ENOMEM; 131 132 132 133 /* Power on PRU in case its not done as part of boot-loader */ 133 - gdev->pruss_clk = clk_get(dev, "pruss"); 134 + gdev->pruss_clk = devm_clk_get(dev, "pruss"); 134 135 if (IS_ERR(gdev->pruss_clk)) { 135 136 dev_err(dev, "Failed to get clock\n"); 136 137 return PTR_ERR(gdev->pruss_clk); ··· 139 140 ret = clk_enable(gdev->pruss_clk); 140 141 if (ret) { 141 142 dev_err(dev, "Failed to enable clock\n"); 142 - goto err_clk_put; 143 + return ret; 143 144 } 144 145 145 146 regs_prussio = platform_get_resource(pdev, IORESOURCE_MEM, 0); ··· 228 229 gen_pool_free(gdev->sram_pool, gdev->sram_vaddr, sram_pool_sz); 229 230 err_clk_disable: 230 231 clk_disable(gdev->pruss_clk); 231 - err_clk_put: 232 - clk_put(gdev->pruss_clk); 233 232 234 233 return ret; 235 234 }