[PATCH] spi-nor: intel-spi: Fix Kconfig dependency to LPC_ICH

Arnd Bergmann arnd at arndb.de
Fri Oct 13 04:15:26 PDT 2017


On Wed, Oct 11, 2017 at 10:03 AM, Cyrille Pitchen
<cyrille.pitchen at wedev4u.fr> wrote:
> Le 25/08/2017 à 10:12, Bin Meng a écrit :
>> The Intel SPI-NOR driver is dependent on LPC_ICH to get the platform
>> data. Select it in the Kconfig.
>>
>> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
>
> Applied to the spi-nor/next branch of l2-mtd

This causes a build error now:

warning: (SPI_INTEL_SPI_PLATFORM && ITCO_WDT) selects LPC_ICH which
has unmet direct dependencies (HAS_IOMEM && PCI)
drivers/mfd/lpc_ich.c: In function 'lpc_ich_init_spi':
drivers/mfd/lpc_ich.c:1137:3: error: implicit declaration of function
'pci_bus_write_config_byte'; did you mean 'pci_write_config_byte'?
[-Werror=implicit-function-declaration]

Generally speaking, using 'select' to force-enable another
driver is a bad idea and causes endless problems, but if you
insist on doing that, please make sure you get the right
dependencies.

Also, the 'depends on EXPERT' statement looks misplaced,
enabling EXPERT should only be there to allow you to turn
extra things *off*, not to hide device drivers.

How about this:

diff --git a/drivers/mtd/spi-nor/Kconfig b/drivers/mtd/spi-nor/Kconfig
index 19bcb63a1ce7..b81d9b4dae7b 100644
--- a/drivers/mtd/spi-nor/Kconfig
+++ b/drivers/mtd/spi-nor/Kconfig
@@ -90,7 +90,7 @@ config SPI_INTEL_SPI
        tristate

 config SPI_INTEL_SPI_PCI
-       tristate "Intel PCH/PCU SPI flash PCI driver" if EXPERT
+       tristate "Intel PCH/PCU SPI flash PCI driver"
        depends on X86 && PCI
        select SPI_INTEL_SPI
        help
@@ -106,10 +106,10 @@ config SPI_INTEL_SPI_PCI
          will be called intel-spi-pci.

 config SPI_INTEL_SPI_PLATFORM
-       tristate "Intel PCH/PCU SPI flash platform driver" if EXPERT
-       depends on X86
+       tristate "Intel PCH/PCU SPI flash platform driver"
+       depends on X86 && (PCI || COMPILE_TEST)
        select SPI_INTEL_SPI
-       select LPC_ICH
+       select LPC_ICH if PCI
        help
          This enables platform support for the Intel PCH/PCU SPI
          controller in master mode. This controller is present in modern

       Arnd



More information about the linux-mtd mailing list