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

spi: ath79: Use devm_*() functions

Use devm_*() functions to make cleanup paths simpler.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Mark Brown <broonie@linaro.org>

authored by

Jingoo Han and committed by
Mark Brown
a6f4c8e0 6ce4eac1

+4 -10
+4 -10
drivers/spi/spi-ath79.c
··· 243 243 goto err_put_master; 244 244 } 245 245 246 - sp->base = ioremap(r->start, resource_size(r)); 246 + sp->base = devm_ioremap(&pdev->dev, r->start, resource_size(r)); 247 247 if (!sp->base) { 248 248 ret = -ENXIO; 249 249 goto err_put_master; 250 250 } 251 251 252 - sp->clk = clk_get(&pdev->dev, "ahb"); 252 + sp->clk = devm_clk_get(&pdev->dev, "ahb"); 253 253 if (IS_ERR(sp->clk)) { 254 254 ret = PTR_ERR(sp->clk); 255 - goto err_unmap; 255 + goto err_put_master; 256 256 } 257 257 258 258 ret = clk_enable(sp->clk); 259 259 if (ret) 260 - goto err_clk_put; 260 + goto err_put_master; 261 261 262 262 rate = DIV_ROUND_UP(clk_get_rate(sp->clk), MHZ); 263 263 if (!rate) { ··· 280 280 ath79_spi_disable(sp); 281 281 err_clk_disable: 282 282 clk_disable(sp->clk); 283 - err_clk_put: 284 - clk_put(sp->clk); 285 - err_unmap: 286 - iounmap(sp->base); 287 283 err_put_master: 288 284 spi_master_put(sp->bitbang.master); 289 285 ··· 293 297 spi_bitbang_stop(&sp->bitbang); 294 298 ath79_spi_disable(sp); 295 299 clk_disable(sp->clk); 296 - clk_put(sp->clk); 297 - iounmap(sp->base); 298 300 spi_master_put(sp->bitbang.master); 299 301 300 302 return 0;