mtd: cfi: enforce valid geometry configuration
authorArnd Bergmann <arnd@arndb.de>
Mon, 23 Nov 2015 13:39:33 +0000 (14:39 +0100)
committerBrian Norris <computersforpeace@gmail.com>
Mon, 30 Nov 2015 20:36:43 +0000 (12:36 -0800)
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>
drivers/mtd/chips/Kconfig

index 54479c4..3b3dabc 100644 (file)
@@ -67,6 +67,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