From: Michael Walle Date: Fri, 8 Sep 2023 10:16:56 +0000 (+0200) Subject: mtd: spi-nor: sst: sort flash_info database X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=1de410815768295c8ce3c0289d7fc29762e3ca76;p=linux.git mtd: spi-nor: sst: sort flash_info database 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 Link: https://lore.kernel.org/r/20230807-mtd-flash-info-db-rework-v3-38-e60548861b10@kernel.org Signed-off-by: Tudor Ambarus --- diff --git a/drivers/mtd/spi-nor/sst.c b/drivers/mtd/spi-nor/sst.c index 77b271abd3422..44d2a546bf177 100644 --- a/drivers/mtd/spi-nor/sst.c +++ b/drivers/mtd/spi-nor/sst.c @@ -62,38 +62,16 @@ static const struct spi_nor_fixups sst26vf_nor_fixups = { static const struct flash_info sst_nor_parts[] = { { - .id = SNOR_ID(0xbf, 0x25, 0x8d), - .name = "sst25vf040b", - .size = SZ_512K, - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE, - .no_sfdp_flags = SECT_4K, - .mfr_flags = SST_WRITE, - }, { - .id = SNOR_ID(0xbf, 0x25, 0x8e), - .name = "sst25vf080b", - .size = SZ_1M, - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE, - .no_sfdp_flags = SECT_4K, - .mfr_flags = SST_WRITE, - }, { - .id = SNOR_ID(0xbf, 0x25, 0x41), - .name = "sst25vf016b", - .size = SZ_2M, - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE, - .no_sfdp_flags = SECT_4K, - .mfr_flags = SST_WRITE, - }, { - .id = SNOR_ID(0xbf, 0x25, 0x4a), - .name = "sst25vf032b", - .size = SZ_4M, - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE, + .id = SNOR_ID(0x62, 0x16, 0x12), + .name = "sst25wf020a", + .size = SZ_256K, + .flags = SPI_NOR_HAS_LOCK, .no_sfdp_flags = SECT_4K, - .mfr_flags = SST_WRITE, }, { - .id = SNOR_ID(0xbf, 0x25, 0x4b), - .name = "sst25vf064c", - .size = SZ_8M, - .flags = SPI_NOR_HAS_LOCK | SPI_NOR_4BIT_BP | SPI_NOR_SWP_IS_VOLATILE, + .id = SNOR_ID(0x62, 0x16, 0x13), + .name = "sst25wf040b", + .size = SZ_512K, + .flags = SPI_NOR_HAS_LOCK, .no_sfdp_flags = SECT_4K, }, { .id = SNOR_ID(0xbf, 0x25, 0x01), @@ -116,18 +94,6 @@ static const struct flash_info sst_nor_parts[] = { .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE, .no_sfdp_flags = SECT_4K, .mfr_flags = SST_WRITE, - }, { - .id = SNOR_ID(0x62, 0x16, 0x12), - .name = "sst25wf020a", - .size = SZ_256K, - .flags = SPI_NOR_HAS_LOCK, - .no_sfdp_flags = SECT_4K, - }, { - .id = SNOR_ID(0x62, 0x16, 0x13), - .name = "sst25wf040b", - .size = SZ_512K, - .flags = SPI_NOR_HAS_LOCK, - .no_sfdp_flags = SECT_4K, }, { .id = SNOR_ID(0xbf, 0x25, 0x04), .name = "sst25wf040", @@ -143,10 +109,39 @@ static const struct flash_info sst_nor_parts[] = { .no_sfdp_flags = SECT_4K, .mfr_flags = SST_WRITE, }, { - .id = SNOR_ID(0xbf, 0x26, 0x51), - .name = "sst26wf016b", + .id = SNOR_ID(0xbf, 0x25, 0x41), + .name = "sst25vf016b", .size = SZ_2M, - .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE, + .no_sfdp_flags = SECT_4K, + .mfr_flags = SST_WRITE, + }, { + .id = SNOR_ID(0xbf, 0x25, 0x4a), + .name = "sst25vf032b", + .size = SZ_4M, + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE, + .no_sfdp_flags = SECT_4K, + .mfr_flags = SST_WRITE, + }, { + .id = SNOR_ID(0xbf, 0x25, 0x4b), + .name = "sst25vf064c", + .size = SZ_8M, + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_4BIT_BP | SPI_NOR_SWP_IS_VOLATILE, + .no_sfdp_flags = SECT_4K, + }, { + .id = SNOR_ID(0xbf, 0x25, 0x8d), + .name = "sst25vf040b", + .size = SZ_512K, + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE, + .no_sfdp_flags = SECT_4K, + .mfr_flags = SST_WRITE, + }, { + .id = SNOR_ID(0xbf, 0x25, 0x8e), + .name = "sst25vf080b", + .size = SZ_1M, + .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE, + .no_sfdp_flags = SECT_4K, + .mfr_flags = SST_WRITE, }, { .id = SNOR_ID(0xbf, 0x26, 0x41), .name = "sst26vf016b", @@ -164,6 +159,11 @@ static const struct flash_info sst_nor_parts[] = { .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE, .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, .fixups = &sst26vf_nor_fixups, + }, { + .id = SNOR_ID(0xbf, 0x26, 0x51), + .name = "sst26wf016b", + .size = SZ_2M, + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, } };