[PATCH v3 2/2] mtd: spi: nor: force mtd name to "nor%d"
Marek Vasut
marex at denx.de
Thu Sep 16 19:27:28 CEST 2021
On 9/16/21 4:01 PM, Patrick Delaunay wrote:
[...]
> @@ -3664,6 +3666,11 @@ int spi_nor_scan(struct spi_nor *nor)
> struct mtd_info *mtd = &nor->mtd;
> struct spi_slave *spi = nor->spi;
> int ret;
> + int cfi_mtd_nb = 0;
> +
> +#ifdef CONFIG_SYS_MAX_FLASH_BANKS
> + cfi_mtd_nb = CONFIG_SYS_MAX_FLASH_BANKS;
> +#endif
Are we covering all the NORs (HF and co.) with this ?
> /* Reset SPI protocol for all commands. */
> nor->reg_proto = SNOR_PROTO_1_1_1;
> @@ -3715,8 +3722,10 @@ int spi_nor_scan(struct spi_nor *nor)
> if (ret)
> return ret;
>
> - if (!mtd->name)
> - mtd->name = info->name;
> + if (!mtd->name) {
> + sprintf(nor->mtd_name, "nor%d", cfi_mtd_nb + dev_seq(nor->dev));
> + mtd->name = nor->mtd_name;
> + }
> mtd->dev = nor->dev;
> mtd->priv = nor;
> mtd->type = MTD_NORFLASH;
> @@ -3821,7 +3830,7 @@ int spi_nor_scan(struct spi_nor *nor)
>
> nor->rdsr_dummy = params.rdsr_dummy;
> nor->rdsr_addr_nbytes = params.rdsr_addr_nbytes;
> - nor->name = mtd->name;
> + nor->name = info->name;
> nor->size = mtd->size;
> nor->erase_size = mtd->erasesize;
> nor->sector_size = mtd->erasesize;
> diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h
> index 7ddc4ba2bf..8c3d5032e3 100644
> --- a/include/linux/mtd/spi-nor.h
> +++ b/include/linux/mtd/spi-nor.h
> @@ -561,6 +561,7 @@ struct spi_nor {
> int (*ready)(struct spi_nor *nor);
>
> void *priv;
> + char mtd_name[10];
should be 14, because nor%d\0 can be up to 14 bytes long.
More information about the U-Boot
mailing list