Message ID | 20230807-mtd-flash-info-db-rework-v2-39-291a0f39f8d8@kernel.org |
---|---|
State | Changes Requested |
Delegated to: | Ambarus Tudor |
Headers | show |
Series | mtd: spi-nor: clean the flash_info database up | expand |
On 22.08.2023 10:09, Michael Walle wrote: > The flash ID is the new primary key into our database. Sort the entry by > it. Keep the most specific ones first, because there might be ID > collisions between shorter and longer ones. > > Signed-off-by: Michael Walle <mwalle@kernel.org> I'm fine with the sorting by ID. Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org> > --- > drivers/mtd/spi-nor/winbond.c | 166 +++++++++++++++++++++--------------------- > 1 file changed, 83 insertions(+), 83 deletions(-) > > diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c > index 1f95c4ccecd9..6ce50c3f3c27 100644 > --- a/drivers/mtd/spi-nor/winbond.c > +++ b/drivers/mtd/spi-nor/winbond.c > @@ -72,37 +72,25 @@ static const struct flash_info winbond_nor_parts[] = { > .name = "w25x16", > .size = SZ_2M, > .no_sfdp_flags = SECT_4K, > - }, { > - .id = SNOR_ID(0xef, 0x60, 0x15), > - .name = "w25q16dw", > - .size = SZ_2M, > - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > - .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > }, { > .id = SNOR_ID(0xef, 0x30, 0x16), > .name = "w25x32", > .size = SZ_4M, > .no_sfdp_flags = SECT_4K, > }, { > - .id = SNOR_ID(0xef, 0x70, 0x15), > - .name = "w25q16jv-im/jm", > - .size = SZ_2M, > - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > - .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > + .id = SNOR_ID(0xef, 0x30, 0x17), > + .name = "w25x64", > + .size = SZ_8M, > + .no_sfdp_flags = SECT_4K, > }, { > .id = SNOR_ID(0xef, 0x40, 0x12), > .name = "w25q20cl", > .size = SZ_256K, > .no_sfdp_flags = SECT_4K, > }, { > - .id = SNOR_ID(0xef, 0x50, 0x12), > - .name = "w25q20bw", > - .size = SZ_256K, > - .no_sfdp_flags = SECT_4K, > - }, { > - .id = SNOR_ID(0xef, 0x60, 0x12), > - .name = "w25q20ew", > - .size = SZ_256K, > + .id = SNOR_ID(0xef, 0x40, 0x14), > + .name = "w25q80bl", > + .size = SZ_1M, > .no_sfdp_flags = SECT_4K, > }, { > .id = SNOR_ID(0xef, 0x40, 0x16), > @@ -110,57 +98,84 @@ static const struct flash_info winbond_nor_parts[] = { > .size = SZ_4M, > .no_sfdp_flags = SECT_4K, > }, { > - .id = SNOR_ID(0xef, 0x60, 0x16), > - .name = "w25q32dw", > - .size = SZ_4M, > + .id = SNOR_ID(0xef, 0x40, 0x17), > + .name = "w25q64", > + .size = SZ_8M, > + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > + }, { > + .id = SNOR_ID(0xef, 0x40, 0x18), > + .name = "w25q128", > .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > + }, { > + .id = SNOR_ID(0xef, 0x40, 0x19), > + .name = "w25q256", > + .size = SZ_32M, > .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > - .otp = SNOR_OTP(256, 3, 0x1000, 0x1000), > + .fixups = &w25q256_fixups, > }, { > - .id = SNOR_ID(0xef, 0x70, 0x16), > - .name = "w25q32jv", > - .size = SZ_4M, > + .id = SNOR_ID(0xef, 0x40, 0x20), > + .name = "w25q512jvq", > + .size = SZ_64M, > + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > + }, { > + .id = SNOR_ID(0xef, 0x50, 0x12), > + .name = "w25q20bw", > + .size = SZ_256K, > + .no_sfdp_flags = SECT_4K, > + }, { > + .id = SNOR_ID(0xef, 0x50, 0x14), > + .name = "w25q80", > + .size = SZ_1M, > + .no_sfdp_flags = SECT_4K, > + }, { > + .id = SNOR_ID(0xef, 0x60, 0x12), > + .name = "w25q20ew", > + .size = SZ_256K, > + .no_sfdp_flags = SECT_4K, > + }, { > + .id = SNOR_ID(0xef, 0x60, 0x15), > + .name = "w25q16dw", > + .size = SZ_2M, > .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > }, { > - .id = SNOR_ID(0xef, 0x80, 0x16), > - .name = "w25q32jwm", > + .id = SNOR_ID(0xef, 0x60, 0x16), > + .name = "w25q32dw", > .size = SZ_4M, > .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > .otp = SNOR_OTP(256, 3, 0x1000, 0x1000), > }, { > - .id = SNOR_ID(0xef, 0x80, 0x17), > - .name = "w25q64jwm", > + .id = SNOR_ID(0xef, 0x60, 0x17), > + .name = "w25q64dw", > .size = SZ_8M, > .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > }, { > - .id = SNOR_ID(0xef, 0x80, 0x18), > - .name = "w25q128jwm", > + .id = SNOR_ID(0xef, 0x60, 0x18), > + .name = "w25q128fw", > .size = SZ_16M, > .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > }, { > - .id = SNOR_ID(0xef, 0x80, 0x19), > - .name = "w25q256jwm", > + .id = SNOR_ID(0xef, 0x60, 0x19), > + .name = "w25q256jw", > .size = SZ_32M, > - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > }, { > - .id = SNOR_ID(0xef, 0x30, 0x17), > - .name = "w25x64", > - .size = SZ_8M, > - .no_sfdp_flags = SECT_4K, > + .id = SNOR_ID(0xef, 0x60, 0x20), > + .name = "w25q512nwq", > + .otp = SNOR_OTP(256, 3, 0x1000, 0x1000), > }, { > - .id = SNOR_ID(0xef, 0x40, 0x17), > - .name = "w25q64", > - .size = SZ_8M, > + .id = SNOR_ID(0xef, 0x70, 0x15), > + .name = "w25q16jv-im/jm", > + .size = SZ_2M, > + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > }, { > - .id = SNOR_ID(0xef, 0x60, 0x17), > - .name = "w25q64dw", > - .size = SZ_8M, > + .id = SNOR_ID(0xef, 0x70, 0x16), > + .name = "w25q32jv", > + .size = SZ_4M, > .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > }, { > @@ -168,64 +183,49 @@ static const struct flash_info winbond_nor_parts[] = { > .name = "w25q64jvm", > .size = SZ_8M, > .no_sfdp_flags = SECT_4K, > - }, { > - .id = SNOR_ID(0xef, 0x60, 0x18), > - .name = "w25q128fw", > - .size = SZ_16M, > - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > - .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > }, { > .id = SNOR_ID(0xef, 0x70, 0x18), > .name = "w25q128jv", > .size = SZ_16M, > .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > - }, { > - .id = SNOR_ID(0xef, 0x50, 0x14), > - .name = "w25q80", > - .size = SZ_1M, > - .no_sfdp_flags = SECT_4K, > - }, { > - .id = SNOR_ID(0xef, 0x40, 0x14), > - .name = "w25q80bl", > - .size = SZ_1M, > - .no_sfdp_flags = SECT_4K, > - }, { > - .id = SNOR_ID(0xef, 0x40, 0x18), > - .name = "w25q128", > - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > - }, { > - .id = SNOR_ID(0xef, 0x40, 0x19), > - .name = "w25q256", > - .size = SZ_32M, > - .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > - .fixups = &w25q256_fixups, > }, { > .id = SNOR_ID(0xef, 0x70, 0x19), > .name = "w25q256jvm", > - }, { > - .id = SNOR_ID(0xef, 0x60, 0x19), > - .name = "w25q256jw", > - .size = SZ_32M, > - .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > }, { > .id = SNOR_ID(0xef, 0x71, 0x19), > .name = "w25m512jv", > .size = SZ_64M, > .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > }, { > - .id = SNOR_ID(0xef, 0x60, 0x20), > - .name = "w25q512nwq", > + .id = SNOR_ID(0xef, 0x80, 0x16), > + .name = "w25q32jwm", > + .size = SZ_4M, > + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > .otp = SNOR_OTP(256, 3, 0x1000, 0x1000), > + }, { > + .id = SNOR_ID(0xef, 0x80, 0x17), > + .name = "w25q64jwm", > + .size = SZ_8M, > + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > + }, { > + .id = SNOR_ID(0xef, 0x80, 0x18), > + .name = "w25q128jwm", > + .size = SZ_16M, > + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > + }, { > + .id = SNOR_ID(0xef, 0x80, 0x19), > + .name = "w25q256jwm", > + .size = SZ_32M, > + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > }, { > .id = SNOR_ID(0xef, 0x80, 0x20), > .name = "w25q512nwm", > .otp = SNOR_OTP(256, 3, 0x1000, 0x1000), > - }, { > - .id = SNOR_ID(0xef, 0x40, 0x20), > - .name = "w25q512jvq", > - .size = SZ_64M, > - .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > }, > }; > >
> I'm fine with the sorting by ID. > > > Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org> Also here, should I convert this to an Acked-by: for all the sorting patches? -michael
On 9/7/23 09:14, Michael Walle wrote: >> I'm fine with the sorting by ID. >> >> >> Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org> > > Also here, should I convert this to an Acked-by: for all the > sorting patches? > no, I'll add/drop my tags when applying. Haven't skimmed over the others, I'll take a second look.
diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c index 1f95c4ccecd9..6ce50c3f3c27 100644 --- a/drivers/mtd/spi-nor/winbond.c +++ b/drivers/mtd/spi-nor/winbond.c @@ -72,37 +72,25 @@ static const struct flash_info winbond_nor_parts[] = { .name = "w25x16", .size = SZ_2M, .no_sfdp_flags = SECT_4K, - }, { - .id = SNOR_ID(0xef, 0x60, 0x15), - .name = "w25q16dw", - .size = SZ_2M, - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, - .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, }, { .id = SNOR_ID(0xef, 0x30, 0x16), .name = "w25x32", .size = SZ_4M, .no_sfdp_flags = SECT_4K, }, { - .id = SNOR_ID(0xef, 0x70, 0x15), - .name = "w25q16jv-im/jm", - .size = SZ_2M, - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, - .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, + .id = SNOR_ID(0xef, 0x30, 0x17), + .name = "w25x64", + .size = SZ_8M, + .no_sfdp_flags = SECT_4K, }, { .id = SNOR_ID(0xef, 0x40, 0x12), .name = "w25q20cl", .size = SZ_256K, .no_sfdp_flags = SECT_4K, }, { - .id = SNOR_ID(0xef, 0x50, 0x12), - .name = "w25q20bw", - .size = SZ_256K, - .no_sfdp_flags = SECT_4K, - }, { - .id = SNOR_ID(0xef, 0x60, 0x12), - .name = "w25q20ew", - .size = SZ_256K, + .id = SNOR_ID(0xef, 0x40, 0x14), + .name = "w25q80bl", + .size = SZ_1M, .no_sfdp_flags = SECT_4K, }, { .id = SNOR_ID(0xef, 0x40, 0x16), @@ -110,57 +98,84 @@ static const struct flash_info winbond_nor_parts[] = { .size = SZ_4M, .no_sfdp_flags = SECT_4K, }, { - .id = SNOR_ID(0xef, 0x60, 0x16), - .name = "w25q32dw", - .size = SZ_4M, + .id = SNOR_ID(0xef, 0x40, 0x17), + .name = "w25q64", + .size = SZ_8M, + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, + }, { + .id = SNOR_ID(0xef, 0x40, 0x18), + .name = "w25q128", .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, + }, { + .id = SNOR_ID(0xef, 0x40, 0x19), + .name = "w25q256", + .size = SZ_32M, .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, - .otp = SNOR_OTP(256, 3, 0x1000, 0x1000), + .fixups = &w25q256_fixups, }, { - .id = SNOR_ID(0xef, 0x70, 0x16), - .name = "w25q32jv", - .size = SZ_4M, + .id = SNOR_ID(0xef, 0x40, 0x20), + .name = "w25q512jvq", + .size = SZ_64M, + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, + }, { + .id = SNOR_ID(0xef, 0x50, 0x12), + .name = "w25q20bw", + .size = SZ_256K, + .no_sfdp_flags = SECT_4K, + }, { + .id = SNOR_ID(0xef, 0x50, 0x14), + .name = "w25q80", + .size = SZ_1M, + .no_sfdp_flags = SECT_4K, + }, { + .id = SNOR_ID(0xef, 0x60, 0x12), + .name = "w25q20ew", + .size = SZ_256K, + .no_sfdp_flags = SECT_4K, + }, { + .id = SNOR_ID(0xef, 0x60, 0x15), + .name = "w25q16dw", + .size = SZ_2M, .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, }, { - .id = SNOR_ID(0xef, 0x80, 0x16), - .name = "w25q32jwm", + .id = SNOR_ID(0xef, 0x60, 0x16), + .name = "w25q32dw", .size = SZ_4M, .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, .otp = SNOR_OTP(256, 3, 0x1000, 0x1000), }, { - .id = SNOR_ID(0xef, 0x80, 0x17), - .name = "w25q64jwm", + .id = SNOR_ID(0xef, 0x60, 0x17), + .name = "w25q64dw", .size = SZ_8M, .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, }, { - .id = SNOR_ID(0xef, 0x80, 0x18), - .name = "w25q128jwm", + .id = SNOR_ID(0xef, 0x60, 0x18), + .name = "w25q128fw", .size = SZ_16M, .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, }, { - .id = SNOR_ID(0xef, 0x80, 0x19), - .name = "w25q256jwm", + .id = SNOR_ID(0xef, 0x60, 0x19), + .name = "w25q256jw", .size = SZ_32M, - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, }, { - .id = SNOR_ID(0xef, 0x30, 0x17), - .name = "w25x64", - .size = SZ_8M, - .no_sfdp_flags = SECT_4K, + .id = SNOR_ID(0xef, 0x60, 0x20), + .name = "w25q512nwq", + .otp = SNOR_OTP(256, 3, 0x1000, 0x1000), }, { - .id = SNOR_ID(0xef, 0x40, 0x17), - .name = "w25q64", - .size = SZ_8M, + .id = SNOR_ID(0xef, 0x70, 0x15), + .name = "w25q16jv-im/jm", + .size = SZ_2M, + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, }, { - .id = SNOR_ID(0xef, 0x60, 0x17), - .name = "w25q64dw", - .size = SZ_8M, + .id = SNOR_ID(0xef, 0x70, 0x16), + .name = "w25q32jv", + .size = SZ_4M, .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, }, { @@ -168,64 +183,49 @@ static const struct flash_info winbond_nor_parts[] = { .name = "w25q64jvm", .size = SZ_8M, .no_sfdp_flags = SECT_4K, - }, { - .id = SNOR_ID(0xef, 0x60, 0x18), - .name = "w25q128fw", - .size = SZ_16M, - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, - .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, }, { .id = SNOR_ID(0xef, 0x70, 0x18), .name = "w25q128jv", .size = SZ_16M, .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, - }, { - .id = SNOR_ID(0xef, 0x50, 0x14), - .name = "w25q80", - .size = SZ_1M, - .no_sfdp_flags = SECT_4K, - }, { - .id = SNOR_ID(0xef, 0x40, 0x14), - .name = "w25q80bl", - .size = SZ_1M, - .no_sfdp_flags = SECT_4K, - }, { - .id = SNOR_ID(0xef, 0x40, 0x18), - .name = "w25q128", - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, - }, { - .id = SNOR_ID(0xef, 0x40, 0x19), - .name = "w25q256", - .size = SZ_32M, - .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, - .fixups = &w25q256_fixups, }, { .id = SNOR_ID(0xef, 0x70, 0x19), .name = "w25q256jvm", - }, { - .id = SNOR_ID(0xef, 0x60, 0x19), - .name = "w25q256jw", - .size = SZ_32M, - .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, }, { .id = SNOR_ID(0xef, 0x71, 0x19), .name = "w25m512jv", .size = SZ_64M, .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, }, { - .id = SNOR_ID(0xef, 0x60, 0x20), - .name = "w25q512nwq", + .id = SNOR_ID(0xef, 0x80, 0x16), + .name = "w25q32jwm", + .size = SZ_4M, + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, .otp = SNOR_OTP(256, 3, 0x1000, 0x1000), + }, { + .id = SNOR_ID(0xef, 0x80, 0x17), + .name = "w25q64jwm", + .size = SZ_8M, + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, + }, { + .id = SNOR_ID(0xef, 0x80, 0x18), + .name = "w25q128jwm", + .size = SZ_16M, + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, + }, { + .id = SNOR_ID(0xef, 0x80, 0x19), + .name = "w25q256jwm", + .size = SZ_32M, + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, }, { .id = SNOR_ID(0xef, 0x80, 0x20), .name = "w25q512nwm", .otp = SNOR_OTP(256, 3, 0x1000, 0x1000), - }, { - .id = SNOR_ID(0xef, 0x40, 0x20), - .name = "w25q512jvq", - .size = SZ_64M, - .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, }, };
The flash ID is the new primary key into our database. Sort the entry by it. Keep the most specific ones first, because there might be ID collisions between shorter and longer ones. Signed-off-by: Michael Walle <mwalle@kernel.org> --- drivers/mtd/spi-nor/winbond.c | 166 +++++++++++++++++++++--------------------- 1 file changed, 83 insertions(+), 83 deletions(-)