
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.