summaryrefslogtreecommitdiff
path: root/drivers/mtd/spi-nor/xilinx.c
diff options
context:
space:
mode:
authorMichael Walle <mwalle@kernel.org>2023-09-08 13:16:23 +0300
committerTudor Ambarus <tudor.ambarus@linaro.org>2023-09-19 18:49:32 +0300
commit0554effe99f6e9383172b091a3c4c7fd1ed3ef58 (patch)
tree14ca1596ca67c39b0970c1d8e5c6e2466f41896e /drivers/mtd/spi-nor/xilinx.c
parentafbfb8c5fb57db15b0e34ad01937a985b7160533 (diff)
downloadlinux-0554effe99f6e9383172b091a3c4c7fd1ed3ef58.tar.xz
mtd: spi-nor: convert .n_sectors to .size
.n_sectors is rarely used. In fact it is only used in swp.c and to calculate the flash size in the core. The use in swp.c might be converted to use the (largest) flash erase size. For now, we just locally calculate the sector size. Simplify the flash_info database and set the size of the flash directly. This also let us use the SZ_x macros. Verified that there's no flash that specifies BP and sector size of zero to make sure we avoid a division by zero in spi_nor_get_min_prot_length_sr(). We'll protect from a possible division by zero in a further patch by introducing a default value for sector_size. Signed-off-by: Michael Walle <mwalle@kernel.org> Link: https://lore.kernel.org/r/20230807-mtd-flash-info-db-rework-v3-5-e60548861b10@kernel.org Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Diffstat (limited to 'drivers/mtd/spi-nor/xilinx.c')
-rw-r--r--drivers/mtd/spi-nor/xilinx.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mtd/spi-nor/xilinx.c b/drivers/mtd/spi-nor/xilinx.c
index 34267591282c..284e2e4970ab 100644
--- a/drivers/mtd/spi-nor/xilinx.c
+++ b/drivers/mtd/spi-nor/xilinx.c
@@ -23,8 +23,8 @@
#define S3AN_INFO(_jedec_id, _n_sectors, _page_size) \
SPI_NOR_ID(_jedec_id, 0), \
+ .size = 8 * (_page_size) * (_n_sectors), \
.sector_size = (8 * (_page_size)), \
- .n_sectors = (_n_sectors), \
.page_size = (_page_size), \
.n_banks = 1, \
.flags = SPI_NOR_NO_FR
@@ -138,7 +138,7 @@ static int xilinx_nor_setup(struct spi_nor *nor,
page_size = (nor->params->page_size == 264) ? 256 : 512;
nor->params->page_size = page_size;
nor->mtd.writebufsize = page_size;
- nor->params->size = 8 * page_size * nor->info->n_sectors;
+ nor->params->size = nor->info->size;
nor->mtd.erasesize = 8 * page_size;
} else {
/* Flash in Default addressing mode */