]> git.ipfire.org Git - people/arne_f/kernel.git/commitdiff
mtd: cfi: enforce valid geometry configuration
authorArnd Bergmann <arnd@arndb.de>
Mon, 23 Nov 2015 13:39:33 +0000 (14:39 +0100)
committerSasha Levin <alexander.levin@microsoft.com>
Sun, 4 Mar 2018 15:28:30 +0000 (10:28 -0500)
[ Upstream commit f5f92b36fbbb8ac7d70ff5fa39ec2637cce3094c ]

MTD allows compile-time configuration of the possible CFI geometry
settings that are allowed by the kernel, but that includes a couple of
invalid configurations, where no bank width or no interleave setting
is allowed. These are then caught with a compile-time warning:

include/linux/mtd/cfi.h:76:2: warning: #warning No CONFIG_MTD_CFI_Ix selected. No NOR chip support can work.
include/linux/mtd/map.h:145:2: warning: #warning "No CONFIG_MTD_MAP_BANK_WIDTH_xx selected. No NOR chip support can work"

This is a bit annoying for randconfig tests, and can be avoided if
we change the Kconfig logic to always select the simplest configuration
when no other one is enabled.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
drivers/mtd/chips/Kconfig

index 6bc1f94333a58ef9c9faa46609bc56ede78a8d99..e956231de30f0ab6cf41b9643c89a563eafa9acb 100644 (file)
@@ -66,6 +66,10 @@ endchoice
 config MTD_CFI_GEOMETRY
        bool "Specific CFI Flash geometry selection"
        depends on MTD_CFI_ADV_OPTIONS
+       select MTD_MAP_BANK_WIDTH_1 if  !(MTD_MAP_BANK_WIDTH_2 || \
+                MTD_MAP_BANK_WIDTH_4  || MTD_MAP_BANK_WIDTH_8 || \
+                MTD_MAP_BANK_WIDTH_16 || MTD_MAP_BANK_WIDTH_32)
+       select MTD_CFI_I1 if !(MTD_CFI_I2 || MTD_CFI_I4 || MTD_CFI_I8)
        help
          This option does not affect the code directly, but will enable
          some other configuration options which would allow you to reduce