[U-Boot] [PATCH 09/19] mtd: pxa3xx_nand: Simplify pxa3xx_nand_scan

Stefan Roese sr at denx.de
Wed Sep 19 12:31:44 UTC 2018


On 29.08.2018 10:56, kostap at marvell.com wrote:
> From: Ofer Heifetz <oferh at marvell.com>
> 
> This commit simplifies the initial configuration performed
> by pxa3xx_nand_scan. No functionality change is intended.
> 
> This commit is taken from Linux:
> 'commit 154f50fbde53'
> ("mtd: pxa3xx_nand: Simplify pxa3xx_nand_scan")
> 
> Signed-off-by: Chris Packham <judge.packham at gmail.com>
> Signed-off-by: Ofer Heifetz <oferh at marvell.com>
> Reviewed-by: Igal Liberman <igall at marvell.com>
> Cc: Stefan Roese <sr at denx.de>
> Cc: Simon Glass <sjg at chromium.org>
> ---
>   drivers/mtd/nand/pxa3xx_nand.c | 30 ++++++++++++++----------------
>   1 file changed, 14 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
> index 674496d..4faf787 100644
> --- a/drivers/mtd/nand/pxa3xx_nand.c
> +++ b/drivers/mtd/nand/pxa3xx_nand.c
> @@ -1256,7 +1256,7 @@ static void pxa3xx_nand_config_tail(struct pxa3xx_nand_info *info)
>   	info->reg_ndcr |= (mtd->writesize == 2048) ? NDCR_PAGE_SZ : 0;
>   }
>   
> -static int pxa3xx_nand_detect_config(struct pxa3xx_nand_info *info)
> +static void pxa3xx_nand_detect_config(struct pxa3xx_nand_info *info)
>   {
>   	struct pxa3xx_nand_platform_data *pdata = info->pdata;
>   	uint32_t ndcr = nand_readl(info, NDCR);
> @@ -1268,7 +1268,6 @@ static int pxa3xx_nand_detect_config(struct pxa3xx_nand_info *info)
>   	info->reg_ndcr |= (pdata->enable_arbiter) ? NDCR_ND_ARB_EN : 0;
>   	info->ndtr0cs0 = nand_readl(info, NDTR0CS0);
>   	info->ndtr1cs0 = nand_readl(info, NDTR1CS0);
> -	return 0;
>   }
>   
>   static int pxa3xx_nand_init_buff(struct pxa3xx_nand_info *info)
> @@ -1388,22 +1387,21 @@ static int pxa3xx_nand_scan(struct mtd_info *mtd)
>   	int ret;
>   	uint16_t ecc_strength, ecc_step;
>   
> -	if (pdata->keep_config && !pxa3xx_nand_detect_config(info))
> -		goto KEEP_CONFIG;
> -
> -	ret = pxa3xx_nand_config_ident(info);
> -	if (ret)
> -		return ret;
> -
> -	ret = pxa3xx_nand_sensing(host);
> -	if (ret) {
> -		dev_info(&info->pdev->dev, "There is no chip on cs %d!\n",
> -			 info->cs);
> -
> -		return ret;
> +	if (pdata->keep_config) {
> +		pxa3xx_nand_detect_config(info);
> +	} else {
> +		ret = pxa3xx_nand_config_ident(info);
> +		if (ret)
> +			return ret;
> +		ret = pxa3xx_nand_sensing(host);
> +		if (ret) {
> +			dev_info(&info->pdev->dev,
> +				 "There is no chip on cs %d!\n",
> +				 info->cs);
> +			return ret;
> +		}
>   	}
>   
> -KEEP_CONFIG:
>   	/* Device detection must be done with ECC disabled */
>   	if (info->variant == PXA3XX_NAND_VARIANT_ARMADA370)
>   		nand_writel(info, NDECCCTRL, 0x0);
> 

Applied to u-boot-marvell/master

Thanks,
Stefan


More information about the U-Boot mailing list