[U-Boot] [PATCH 02/19] mtd: nand: pxa3xx_nand: use nand_to_mtd()

Stefan Roese sr at denx.de
Wed Sep 19 12:29:15 UTC 2018


On 29.08.2018 10:56, kostap at marvell.com wrote:
> From: Ofer Heifetz <oferh at marvell.com>
> 
> Don't store struct mtd_info in struct pxa3xx_nand_host. Instead use the
> one that is already part of struct nand_chip. This brings us in line
> with current U-boot and Linux conventions.
> 
> 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 | 19 +++++++++----------
>   1 file changed, 9 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
> index ead5624..6295886 100644
> --- a/drivers/mtd/nand/pxa3xx_nand.c
> +++ b/drivers/mtd/nand/pxa3xx_nand.c
> @@ -149,7 +149,6 @@ enum pxa3xx_nand_variant {
>   
>   struct pxa3xx_nand_host {
>   	struct nand_chip	chip;
> -	struct mtd_info         *mtd;
>   	void			*info_data;
>   
>   	/* page size of attached chip */
> @@ -384,16 +383,17 @@ static int pxa3xx_nand_init_timings(struct pxa3xx_nand_host *host)
>   	struct nand_chip *chip = &host->chip;
>   	struct pxa3xx_nand_info *info = host->info_data;
>   	const struct pxa3xx_nand_flash *f = NULL;
> +	struct mtd_info *mtd = nand_to_mtd(&host->chip);
>   	int mode, id, ntypes, i;
>   
>   	mode = onfi_get_async_timing_mode(chip);
>   	if (mode == ONFI_TIMING_MODE_UNKNOWN) {
>   		ntypes = ARRAY_SIZE(builtin_flash_types);
>   
> -		chip->cmdfunc(host->mtd, NAND_CMD_READID, 0x00, -1);
> +		chip->cmdfunc(mtd, NAND_CMD_READID, 0x00, -1);
>   
> -		id = chip->read_byte(host->mtd);
> -		id |= chip->read_byte(host->mtd) << 0x8;
> +		id = chip->read_byte(mtd);
> +		id |= chip->read_byte(mtd) << 0x8;
>   
>   		for (i = 0; i < ntypes; i++) {
>   			f = &builtin_flash_types[i];
> @@ -686,7 +686,7 @@ static void set_command_address(struct pxa3xx_nand_info *info,
>   static void prepare_start_command(struct pxa3xx_nand_info *info, int command)
>   {
>   	struct pxa3xx_nand_host *host = info->host[info->cs];
> -	struct mtd_info *mtd = host->mtd;
> +	struct mtd_info *mtd = nand_to_mtd(&host->chip);
>   
>   	/* reset data and oob column point to handle data */
>   	info->buf_start		= 0;
> @@ -737,7 +737,7 @@ static int prepare_set_command(struct pxa3xx_nand_info *info, int command,
>   	struct mtd_info *mtd;
>   
>   	host = info->host[info->cs];
> -	mtd = host->mtd;
> +	mtd = nand_to_mtd(&host->chip);
>   	addr_cycle = 0;
>   	exec_cmd = 1;
>   
> @@ -1224,7 +1224,7 @@ static int pxa3xx_nand_waitfunc(struct mtd_info *mtd, struct nand_chip *this)
>   static int pxa3xx_nand_config_flash(struct pxa3xx_nand_info *info)
>   {
>   	struct pxa3xx_nand_host *host = info->host[info->cs];
> -	struct mtd_info *mtd = host->mtd;
> +	struct mtd_info *mtd = nand_to_mtd(&host->chip);
>   	struct nand_chip *chip = mtd_to_nand(mtd);
>   
>   	info->reg_ndcr |= (host->col_addr_cycles == 2) ? NDCR_RA_START : 0;
> @@ -1276,7 +1276,7 @@ static int pxa3xx_nand_sensing(struct pxa3xx_nand_host *host)
>   	const struct nand_sdr_timings *timings;
>   	int ret;
>   
> -	mtd = info->host[info->cs]->mtd;
> +	mtd = nand_to_mtd(&info->host[info->cs]->chip);
>   	chip = mtd_to_nand(mtd);
>   
>   	/* configure default flash values */
> @@ -1497,7 +1497,6 @@ static int alloc_nand_resource(struct pxa3xx_nand_info *info)
>   		mtd = nand_to_mtd(chip);
>   		host = (struct pxa3xx_nand_host *)chip;
>   		info->host[cs] = host;
> -		host->mtd = mtd;
>   		host->cs = cs;
>   		host->info_data = info;
>   		host->read_id_bytes = 4;
> @@ -1615,7 +1614,7 @@ static int pxa3xx_nand_probe(struct pxa3xx_nand_info *info)
>   
>   	probe_success = 0;
>   	for (cs = 0; cs < pdata->num_cs; cs++) {
> -		struct mtd_info *mtd = info->host[cs]->mtd;
> +		struct mtd_info *mtd = nand_to_mtd(&info->host[cs]->chip);
>   
>   		/*
>   		 * The mtd name matches the one used in 'mtdparts' kernel
> 

Applied to u-boot-marvell/master

Thanks,
Stefan



More information about the U-Boot mailing list