I mistakenly added the select attributes to the SPI_DW_BT1_DIRMAP config
instead of having them defined in SPI_DW_BT1. If the kernel doesn't have
the MULTIPLEXER and MUX_MMIO configs manually enabled and the
SPI_DW_BT1_DIRMAP config hasn't been selected, Baikal-T1 SPI device will
always fail to be probed by the driver. Fix that and the error reported by
the test robot:

>> ld.lld: error: undefined symbol: devm_mux_control_get
   >>> referenced by spi-dw-bt1.c
   >>> spi/spi-dw-bt1.o:(dw_spi_bt1_sys_init) in archive drivers/built-in.a

by moving the MULTIPLEXER/MUX_MMIO configs selection to the SPI_DW_BT1
config.

Link: https://lore.kernel.org/lkml/[email protected]/
Link: 
https://lore.kernel.org/linux-spi/[email protected]/
Fixes: abf00907538e ("spi: dw: Add Baikal-T1 SPI Controller glue driver")
Reported-by: kernel test robot <[email protected]>
Signed-off-by: Serge Semin <[email protected]>
Cc: Randy Dunlap <[email protected]>
Cc: Ramil Zaripov <[email protected]>

---

Mark, I see you haven't applied the previous version of the patch yet. So
please replace it with this one.

Randy, sorry for resending the patch. I've just realized that your
solution doesn't completely fix the problem. Yeah, the kernel build won't
fail to be linked after your patch being merged, but the driver still will
fail to probe the device if the MULTIPLEXER and MUX_MMIO haven't been
selected for the kernel. So the select attributes need to be moved from
SPI_DW_BT1_DIRMAP to the SPI_DW_BT1 config.
---
 drivers/spi/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index 415d57b2057f..0707068ffe47 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -255,6 +255,8 @@ config SPI_DW_MMIO
 config SPI_DW_BT1
        tristate "Baikal-T1 SPI driver for DW SPI core"
        depends on MIPS_BAIKAL_T1 || COMPILE_TEST
+       select MULTIPLEXER
+       select MUX_MMIO
        help
          Baikal-T1 SoC is equipped with three DW APB SSI-based MMIO SPI
          controllers. Two of them are pretty much normal: with IRQ, DMA,
@@ -268,8 +270,6 @@ config SPI_DW_BT1
 config SPI_DW_BT1_DIRMAP
        bool "Directly mapped Baikal-T1 Boot SPI flash support"
        depends on SPI_DW_BT1
-       select MULTIPLEXER
-       select MUX_MMIO
        help
          Directly mapped SPI flash memory is an interface specific to the
          Baikal-T1 System Boot Controller. It is a 16MB MMIO region, which
-- 
2.29.2

Reply via email to