mtd: spi-nor: atmel: sort flash_info database
authorMichael Walle <mwalle@kernel.org>
Fri, 8 Sep 2023 10:16:49 +0000 (12:16 +0200)
committerTudor Ambarus <tudor.ambarus@linaro.org>
Tue, 19 Sep 2023 15:59:21 +0000 (18:59 +0300)
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-31-e60548861b10@kernel.org
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
drivers/mtd/spi-nor/atmel.c

index ccc985c48ae3829a165d3bbcc277be003d5ce0bf..18e904962d0e187e759b75f11a29ca4d04d502f3 100644 (file)
@@ -164,20 +164,20 @@ static const struct spi_nor_fixups atmel_nor_global_protection_fixups = {
 
 static const struct flash_info atmel_nor_parts[] = {
        {
-               .id = SNOR_ID(0x1f, 0x66, 0x01),
-               .name = "at25fs010",
-               .sector_size = SZ_32K,
-               .size = SZ_128K,
-               .flags = SPI_NOR_HAS_LOCK,
+               .id = SNOR_ID(0x1f, 0x04, 0x00),
+               .name = "at26f004",
+               .size = SZ_512K,
                .no_sfdp_flags = SECT_4K,
-               .fixups = &at25fs_nor_fixups
        }, {
-               .id = SNOR_ID(0x1f, 0x66, 0x04),
-               .name = "at25fs040",
-               .size = SZ_512K,
-               .flags = SPI_NOR_HAS_LOCK,
+               .id = SNOR_ID(0x1f, 0x25, 0x00),
+               .name = "at45db081d",
+               .size = SZ_1M,
                .no_sfdp_flags = SECT_4K,
-               .fixups = &at25fs_nor_fixups
+       }, {
+               .id = SNOR_ID(0x1f, 0x42, 0x16),
+               .name = "at25sl321",
+               .size = SZ_4M,
+               .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ,
        }, {
                .id = SNOR_ID(0x1f, 0x44, 0x01),
                .name = "at25df041a",
@@ -186,62 +186,62 @@ static const struct flash_info atmel_nor_parts[] = {
                .no_sfdp_flags = SECT_4K,
                .fixups = &atmel_nor_global_protection_fixups,
        }, {
-               .id = SNOR_ID(0x1f, 0x47, 0x00),
-               .name = "at25df321",
-               .size = SZ_4M,
+               .id = SNOR_ID(0x1f, 0x45, 0x01),
+               .name = "at26df081a",
+               .size = SZ_1M,
                .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE,
                .no_sfdp_flags = SECT_4K,
                .fixups = &atmel_nor_global_protection_fixups
        }, {
-               .id = SNOR_ID(0x1f, 0x47, 0x01),
-               .name = "at25df321a",
-               .size = SZ_4M,
+               .id = SNOR_ID(0x1f, 0x46, 0x01),
+               .name = "at26df161a",
+               .size = SZ_2M,
                .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE,
                .no_sfdp_flags = SECT_4K,
                .fixups = &atmel_nor_global_protection_fixups
        }, {
-               .id = SNOR_ID(0x1f, 0x48, 0x00),
-               .name = "at25df641",
-               .size = SZ_8M,
+               .id = SNOR_ID(0x1f, 0x47, 0x00),
+               .name = "at25df321",
+               .size = SZ_4M,
                .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE,
                .no_sfdp_flags = SECT_4K,
                .fixups = &atmel_nor_global_protection_fixups
        }, {
-               .id = SNOR_ID(0x1f, 0x42, 0x16),
-               .name = "at25sl321",
+               .id = SNOR_ID(0x1f, 0x47, 0x00),
+               .name = "at26df321",
                .size = SZ_4M,
-               .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ,
-       }, {
-               .id = SNOR_ID(0x1f, 0x04, 0x00),
-               .name = "at26f004",
-               .size = SZ_512K,
-               .no_sfdp_flags = SECT_4K,
-       }, {
-               .id = SNOR_ID(0x1f, 0x45, 0x01),
-               .name = "at26df081a",
-               .size = SZ_1M,
                .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE,
                .no_sfdp_flags = SECT_4K,
                .fixups = &atmel_nor_global_protection_fixups
        }, {
-               .id = SNOR_ID(0x1f, 0x46, 0x01),
-               .name = "at26df161a",
-               .size = SZ_2M,
+               .id = SNOR_ID(0x1f, 0x47, 0x01),
+               .name = "at25df321a",
+               .size = SZ_4M,
                .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE,
                .no_sfdp_flags = SECT_4K,
                .fixups = &atmel_nor_global_protection_fixups
        }, {
-               .id = SNOR_ID(0x1f, 0x47, 0x00),
-               .name = "at26df321",
-               .size = SZ_4M,
+               .id = SNOR_ID(0x1f, 0x48, 0x00),
+               .name = "at25df641",
+               .size = SZ_8M,
                .flags = SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE,
                .no_sfdp_flags = SECT_4K,
                .fixups = &atmel_nor_global_protection_fixups
        }, {
-               .id = SNOR_ID(0x1f, 0x25, 0x00),
-               .name = "at45db081d",
-               .size = SZ_1M,
+               .id = SNOR_ID(0x1f, 0x66, 0x01),
+               .name = "at25fs010",
+               .sector_size = SZ_32K,
+               .size = SZ_128K,
+               .flags = SPI_NOR_HAS_LOCK,
+               .no_sfdp_flags = SECT_4K,
+               .fixups = &at25fs_nor_fixups
+       }, {
+               .id = SNOR_ID(0x1f, 0x66, 0x04),
+               .name = "at25fs040",
+               .size = SZ_512K,
+               .flags = SPI_NOR_HAS_LOCK,
                .no_sfdp_flags = SECT_4K,
+               .fixups = &at25fs_nor_fixups
        },
 };