[PATCH V3 5/8] mtd: lpc32xx_slc: Use devm_*() functions

Roland Stigge stigge at antcom.de
Thu Dec 26 05:30:07 EST 2013


On 26/12/13 02:44, Jingoo Han wrote:
> Use devm_*() functions to make cleanup paths simpler.
> 
> Signed-off-by: Jingoo Han <jg1.han at samsung.com>

Acked-by: Roland Stigge <stigge at antcom.de>

> ---
> No change since v2.
> 
>  drivers/mtd/nand/lpc32xx_slc.c |   10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/mtd/nand/lpc32xx_slc.c b/drivers/mtd/nand/lpc32xx_slc.c
> index 23e6974..5f20394 100644
> --- a/drivers/mtd/nand/lpc32xx_slc.c
> +++ b/drivers/mtd/nand/lpc32xx_slc.c
> @@ -791,8 +791,8 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
>  	}
>  	if (host->ncfg->wp_gpio == -EPROBE_DEFER)
>  		return -EPROBE_DEFER;
> -	if (gpio_is_valid(host->ncfg->wp_gpio) &&
> -			gpio_request(host->ncfg->wp_gpio, "NAND WP")) {
> +	if (gpio_is_valid(host->ncfg->wp_gpio) && devm_gpio_request(&pdev->dev,
> +			host->ncfg->wp_gpio, "NAND WP")) {
>  		dev_err(&pdev->dev, "GPIO not available\n");
>  		return -EBUSY;
>  	}
> @@ -808,7 +808,7 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
>  	mtd->dev.parent = &pdev->dev;
>  
>  	/* Get NAND clock */
> -	host->clk = clk_get(&pdev->dev, NULL);
> +	host->clk = devm_clk_get(&pdev->dev, NULL);
>  	if (IS_ERR(host->clk)) {
>  		dev_err(&pdev->dev, "Clock failure\n");
>  		res = -ENOENT;
> @@ -927,10 +927,8 @@ err_exit3:
>  	dma_release_channel(host->dma_chan);
>  err_exit2:
>  	clk_disable(host->clk);
> -	clk_put(host->clk);
>  err_exit1:
>  	lpc32xx_wp_enable(host);
> -	gpio_free(host->ncfg->wp_gpio);
>  
>  	return res;
>  }
> @@ -953,9 +951,7 @@ static int lpc32xx_nand_remove(struct platform_device *pdev)
>  	writel(tmp, SLC_CTRL(host->io_base));
>  
>  	clk_disable(host->clk);
> -	clk_put(host->clk);
>  	lpc32xx_wp_enable(host);
> -	gpio_free(host->ncfg->wp_gpio);
>  
>  	return 0;
>  }
> 




More information about the linux-mtd mailing list