Message ID | 20230807-mtd-flash-info-db-rework-v3-20-e60548861b10@kernel.org |
---|---|
State | Accepted |
Delegated to: | Ambarus Tudor |
Headers | show |
Series | mtd: spi-nor: clean the flash_info database up | expand |
On 08.09.2023 13:16, Michael Walle wrote: > The INFOx() macros are going away. Convert the flash_info database to > the new format. > > Signed-off-by: Michael Walle <mwalle@kernel.org> > --- > drivers/mtd/spi-nor/everspin.c | 33 +++++++++++++++++++++++++++++---- > 1 file changed, 29 insertions(+), 4 deletions(-) > > diff --git a/drivers/mtd/spi-nor/everspin.c b/drivers/mtd/spi-nor/everspin.c > index d02c32f2f7ad..46776bc10b27 100644 > --- a/drivers/mtd/spi-nor/everspin.c > +++ b/drivers/mtd/spi-nor/everspin.c > @@ -9,10 +9,35 @@ > #include "core.h" > > static const struct flash_info everspin_nor_parts[] = { > - { "mr25h128", CAT25_INFO(16 * 1024, 1, 256, 2) }, > - { "mr25h256", CAT25_INFO(32 * 1024, 1, 256, 2) }, > - { "mr25h10", CAT25_INFO(128 * 1024, 1, 256, 3) }, > - { "mr25h40", CAT25_INFO(512 * 1024, 1, 256, 3) }, > + { > + .name = "mr25h128", > + .size = SZ_16K, > + .sector_size = SZ_16K, > + .page_size = 256, page size defaults to 256, isn't it? Can we get rid of the page_size assignments? > + .addr_nbytes = 2, > + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, > + }, { > + .name = "mr25h256", > + .size = SZ_32K, > + .sector_size = SZ_32K, > + .page_size = 256, > + .addr_nbytes = 2, > + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, > + }, { > + .name = "mr25h10", > + .size = SZ_128K, > + .sector_size = SZ_128K, > + .page_size = 256, > + .addr_nbytes = 3, > + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, > + }, { > + .name = "mr25h40", > + .size = SZ_512K, > + .sector_size = SZ_512K, > + .page_size = 256, > + .addr_nbytes = 3, > + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, > + } > }; > > const struct spi_nor_manufacturer spi_nor_everspin = { >
Am 2023-09-19 11:24, schrieb Tudor Ambarus: > On 08.09.2023 13:16, Michael Walle wrote: >> The INFOx() macros are going away. Convert the flash_info database to >> the new format. >> >> Signed-off-by: Michael Walle <mwalle@kernel.org> >> --- >> drivers/mtd/spi-nor/everspin.c | 33 +++++++++++++++++++++++++++++---- >> 1 file changed, 29 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/mtd/spi-nor/everspin.c >> b/drivers/mtd/spi-nor/everspin.c >> index d02c32f2f7ad..46776bc10b27 100644 >> --- a/drivers/mtd/spi-nor/everspin.c >> +++ b/drivers/mtd/spi-nor/everspin.c >> @@ -9,10 +9,35 @@ >> #include "core.h" >> >> static const struct flash_info everspin_nor_parts[] = { >> - { "mr25h128", CAT25_INFO(16 * 1024, 1, 256, 2) }, >> - { "mr25h256", CAT25_INFO(32 * 1024, 1, 256, 2) }, >> - { "mr25h10", CAT25_INFO(128 * 1024, 1, 256, 3) }, >> - { "mr25h40", CAT25_INFO(512 * 1024, 1, 256, 3) }, >> + { >> + .name = "mr25h128", >> + .size = SZ_16K, >> + .sector_size = SZ_16K, >> + .page_size = 256, > > page size defaults to 256, isn't it? Can we get rid of the page_size > assignments? Yes! > >> + .addr_nbytes = 2, >> + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, >> + }, { >> + .name = "mr25h256", >> + .size = SZ_32K, >> + .sector_size = SZ_32K, >> + .page_size = 256, >> + .addr_nbytes = 2, >> + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, >> + }, { >> + .name = "mr25h10", >> + .size = SZ_128K, >> + .sector_size = SZ_128K, >> + .page_size = 256, >> + .addr_nbytes = 3, also "addr_nbytes = 3" is the default. -michael >> + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, >> + }, { >> + .name = "mr25h40", >> + .size = SZ_512K, >> + .sector_size = SZ_512K, >> + .page_size = 256, >> + .addr_nbytes = 3, >> + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, >> + } >> }; >> >> const struct spi_nor_manufacturer spi_nor_everspin = { >>
On 19.09.2023 14:33, Michael Walle wrote: > Am 2023-09-19 11:24, schrieb Tudor Ambarus: >> On 08.09.2023 13:16, Michael Walle wrote: >>> The INFOx() macros are going away. Convert the flash_info database to >>> the new format. >>> >>> Signed-off-by: Michael Walle <mwalle@kernel.org> >>> --- >>> drivers/mtd/spi-nor/everspin.c | 33 +++++++++++++++++++++++++++++---- >>> 1 file changed, 29 insertions(+), 4 deletions(-) >>> >>> diff --git a/drivers/mtd/spi-nor/everspin.c >>> b/drivers/mtd/spi-nor/everspin.c >>> index d02c32f2f7ad..46776bc10b27 100644 >>> --- a/drivers/mtd/spi-nor/everspin.c >>> +++ b/drivers/mtd/spi-nor/everspin.c >>> @@ -9,10 +9,35 @@ >>> #include "core.h" >>> >>> static const struct flash_info everspin_nor_parts[] = { >>> - { "mr25h128", CAT25_INFO(16 * 1024, 1, 256, 2) }, >>> - { "mr25h256", CAT25_INFO(32 * 1024, 1, 256, 2) }, >>> - { "mr25h10", CAT25_INFO(128 * 1024, 1, 256, 3) }, >>> - { "mr25h40", CAT25_INFO(512 * 1024, 1, 256, 3) }, >>> + { >>> + .name = "mr25h128", >>> + .size = SZ_16K, >>> + .sector_size = SZ_16K, >>> + .page_size = 256, >> >> page size defaults to 256, isn't it? Can we get rid of the page_size >> assignments? > > Yes! > >> >>> + .addr_nbytes = 2, >>> + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, >>> + }, { >>> + .name = "mr25h256", >>> + .size = SZ_32K, >>> + .sector_size = SZ_32K, >>> + .page_size = 256, >>> + .addr_nbytes = 2, >>> + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, >>> + }, { >>> + .name = "mr25h10", >>> + .size = SZ_128K, >>> + .sector_size = SZ_128K, >>> + .page_size = 256, >>> + .addr_nbytes = 3, > > also "addr_nbytes = 3" is the default. ok, updating now. > > -michael > >>> + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, >>> + }, { >>> + .name = "mr25h40", >>> + .size = SZ_512K, >>> + .sector_size = SZ_512K, >>> + .page_size = 256, >>> + .addr_nbytes = 3, >>> + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, >>> + } >>> }; >>> >>> const struct spi_nor_manufacturer spi_nor_everspin = { >>>
diff --git a/drivers/mtd/spi-nor/everspin.c b/drivers/mtd/spi-nor/everspin.c index d02c32f2f7ad..46776bc10b27 100644 --- a/drivers/mtd/spi-nor/everspin.c +++ b/drivers/mtd/spi-nor/everspin.c @@ -9,10 +9,35 @@ #include "core.h" static const struct flash_info everspin_nor_parts[] = { - { "mr25h128", CAT25_INFO(16 * 1024, 1, 256, 2) }, - { "mr25h256", CAT25_INFO(32 * 1024, 1, 256, 2) }, - { "mr25h10", CAT25_INFO(128 * 1024, 1, 256, 3) }, - { "mr25h40", CAT25_INFO(512 * 1024, 1, 256, 3) }, + { + .name = "mr25h128", + .size = SZ_16K, + .sector_size = SZ_16K, + .page_size = 256, + .addr_nbytes = 2, + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, + }, { + .name = "mr25h256", + .size = SZ_32K, + .sector_size = SZ_32K, + .page_size = 256, + .addr_nbytes = 2, + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, + }, { + .name = "mr25h10", + .size = SZ_128K, + .sector_size = SZ_128K, + .page_size = 256, + .addr_nbytes = 3, + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, + }, { + .name = "mr25h40", + .size = SZ_512K, + .sector_size = SZ_512K, + .page_size = 256, + .addr_nbytes = 3, + .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR, + } }; const struct spi_nor_manufacturer spi_nor_everspin = {
The INFOx() macros are going away. Convert the flash_info database to the new format. Signed-off-by: Michael Walle <mwalle@kernel.org> --- drivers/mtd/spi-nor/everspin.c | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-)