mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
mtd: spi-nor: winbond: sort flash_info entries
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> Link: https://lore.kernel.org/r/20230807-mtd-flash-info-db-rework-v3-39-e60548861b10@kernel.org Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
This commit is contained in:
parent
1de4108157
commit
d3b5ea3cc5
@ -72,43 +72,72 @@ 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, 0x40, 0x14),
|
||||
.name = "w25q80bl",
|
||||
.size = SZ_1M,
|
||||
.no_sfdp_flags = SECT_4K,
|
||||
}, {
|
||||
.id = SNOR_ID(0xef, 0x40, 0x16),
|
||||
.name = "w25q32",
|
||||
.size = SZ_4M,
|
||||
.no_sfdp_flags = SECT_4K,
|
||||
}, {
|
||||
.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,
|
||||
.fixups = &w25q256_fixups,
|
||||
}, {
|
||||
.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, 0x40, 0x16),
|
||||
.name = "w25q32",
|
||||
.size = SZ_4M,
|
||||
.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, 0x60, 0x16),
|
||||
.name = "w25q32dw",
|
||||
@ -116,12 +145,58 @@ static const struct flash_info winbond_nor_parts[] = {
|
||||
.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, 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, 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, 0x60, 0x19),
|
||||
.name = "w25q256jw",
|
||||
.size = SZ_32M,
|
||||
.no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ,
|
||||
}, {
|
||||
.id = SNOR_ID(0xef, 0x60, 0x20),
|
||||
.name = "w25q512nwq",
|
||||
.otp = SNOR_OTP(256, 3, 0x1000, 0x1000),
|
||||
}, {
|
||||
.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, 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,
|
||||
}, {
|
||||
.id = SNOR_ID(0xef, 0x70, 0x17),
|
||||
.name = "w25q64jvm",
|
||||
.size = SZ_8M,
|
||||
.no_sfdp_flags = SECT_4K,
|
||||
}, {
|
||||
.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, 0x70, 0x19),
|
||||
.name = "w25q256jvm",
|
||||
}, {
|
||||
.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, 0x80, 0x16),
|
||||
.name = "w25q32jwm",
|
||||
@ -147,85 +222,10 @@ static const struct flash_info winbond_nor_parts[] = {
|
||||
.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, 0x40, 0x17),
|
||||
.name = "w25q64",
|
||||
.size = SZ_8M,
|
||||
.no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ,
|
||||
}, {
|
||||
.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, 0x70, 0x17),
|
||||
.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",
|
||||
.otp = SNOR_OTP(256, 3, 0x1000, 0x1000),
|
||||
}, {
|
||||
.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,
|
||||
},
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user