* [PATCH v1 2/3] spi: Drop redundant dependency on SPI_MASTER
2026-08-21 10:54 [PATCH v1 0/3] spi: Kconfig cleanups Andy Shevchenko
2026-08-21 10:54 ` [PATCH v1 1/3] spi: Fix tab and space mixture in Kconfig Andy Shevchenko
@ 2026-08-21 10:54 ` Andy Shevchenko
2026-08-21 10:54 ` [PATCH v1 3/3] spi: Fix the section ordering in accordance with the comment Andy Shevchenko
2 siblings, 0 replies; 4+ messages in thread
From: Andy Shevchenko @ 2026-08-21 10:54 UTC (permalink / raw)
To: Mark Brown, Andy Shevchenko, linux-spi, linux-kernel
The sections defined under 'if SPI_MASTER' already imply that
the SPI_MASTER is selected. Drop redundant dependencies.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/spi/Kconfig | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index 93c3d9e1416a..f53c0ece5d96 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -63,7 +63,6 @@ comment "SPI Master Controller Drivers"
config SPI_AIROHA_SNFI
tristate "Airoha SPI NAND Flash Interface"
depends on ARCH_AIROHA || COMPILE_TEST
- depends on SPI_MASTER
select REGMAP_MMIO
help
This enables support for SPI-NAND mode on the Airoha NAND
@@ -333,7 +332,7 @@ config SPI_CADENCE_XSPI
config SPI_CH341
tristate "CH341 USB2SPI adapter"
- depends on SPI_MASTER && USB
+ depends on USB
help
Enables the SPI controller on the CH341a USB to serial chip
@@ -722,7 +721,6 @@ config SPI_MESON_SPIFC
config SPI_MICROCHIP_CORE_QSPI
tristate "Microchip FPGA QSPI controllers"
- depends on SPI_MASTER
help
This enables the QSPI driver for Microchip FPGA QSPI controllers.
Say Y or M here if you want to use the QSPI controllers on
@@ -731,7 +729,6 @@ config SPI_MICROCHIP_CORE_QSPI
config SPI_MICROCHIP_CORE_SPI
tristate "Microchip FPGA CoreSPI controller"
- depends on SPI_MASTER
help
This enables the SPI driver for Microchip FPGA CoreSPI controller.
Say Y or M here if you want to use the "soft" controllers on
@@ -887,7 +884,6 @@ config SPI_PL022
config SPI_POLARFIRE_SOC
tristate "Microchip FPGA SPI controllers"
- depends on SPI_MASTER
depends on ARCH_MICROCHIP || COMPILE_TEST
help
This enables the SPI driver for Microchip FPGA SPI controllers.
@@ -950,7 +946,7 @@ config SPI_ROCKCHIP_SFC
config SPI_RB4XX
tristate "Mikrotik RB4XX SPI master"
- depends on SPI_MASTER && (ATH79 || COMPILE_TEST)
+ depends on ATH79 || COMPILE_TEST
depends on OF
help
SPI controller driver for the Mikrotik RB4xx series boards.
@@ -1191,7 +1187,6 @@ config SPI_SYNQUACER
config SPI_MXIC
tristate "Macronix MX25F0A SPI controller"
- depends on SPI_MASTER
imply MTD_NAND_ECC_MXIC
help
This selects the Macronix MX25F0A SPI controller driver.
@@ -1270,7 +1265,7 @@ config SPI_UNIPHIER
config SPI_VIRTIO
tristate "Virtio SPI Controller"
- depends on SPI_MASTER && VIRTIO
+ depends on VIRTIO
help
If you say yes to this option, support will be included for the virtio
SPI controller driver. The hardware can be emulated by any device model
@@ -1339,7 +1334,7 @@ config SPI_ZYNQMP_GQSPI
config SPI_AMD
tristate "AMD SPI controller"
depends on PCI
- depends on SPI_MASTER || X86 || COMPILE_TEST
+ depends on X86 || COMPILE_TEST
depends on SPI_MEM
help
Enables SPI controller driver for AMD SoC.
--
2.50.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v1 3/3] spi: Fix the section ordering in accordance with the comment
2026-08-21 10:54 [PATCH v1 0/3] spi: Kconfig cleanups Andy Shevchenko
2026-08-21 10:54 ` [PATCH v1 1/3] spi: Fix tab and space mixture in Kconfig Andy Shevchenko
2026-08-21 10:54 ` [PATCH v1 2/3] spi: Drop redundant dependency on SPI_MASTER Andy Shevchenko
@ 2026-08-21 10:54 ` Andy Shevchenko
2 siblings, 0 replies; 4+ messages in thread
From: Andy Shevchenko @ 2026-08-21 10:54 UTC (permalink / raw)
To: Mark Brown, Andy Shevchenko, linux-spi, linux-kernel
The comments in all sections tell that the list of the sections
should be alphabetically ordered. With time this went apart,
mostly for Freescale entries. So, put the things into order again.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/spi/Kconfig | 339 ++++++++++++++++++++++----------------------
1 file changed, 169 insertions(+), 170 deletions(-)
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index f53c0ece5d96..357cebef9917 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -91,6 +91,14 @@ config SPI_ALTERA_DFL
Altera SPI master controller. The SPI master is connected
to a SPI slave to Avalon bridge in a Intel MAX BMC.
+config SPI_AMD
+ tristate "AMD SPI controller"
+ depends on PCI
+ depends on X86 || COMPILE_TEST
+ depends on SPI_MEM
+ help
+ Enables SPI controller driver for AMD SoC.
+
config SPI_AMLOGIC_SPIFC_A1
tristate "Amlogic A1 SPIFC controller"
depends on ARCH_MESON || COMPILE_TEST
@@ -135,6 +143,13 @@ config SPI_AR934X
This enables support for the SPI controller present on the
Qualcomm Atheros AR934X/QCA95XX SoCs.
+config SPI_ARMADA_3700
+ tristate "Marvell Armada 3700 SPI Controller"
+ depends on (ARCH_MVEBU && OF) || COMPILE_TEST
+ help
+ This enables support for the SPI controller present on the
+ Marvell Armada 3700 SoCs.
+
config SPI_ATCSPI200
tristate "Andes ATCSPI200 SPI controller"
depends on ARCH_ANDES || COMPILE_TEST
@@ -152,13 +167,6 @@ config SPI_ATH79
This enables support for the SPI controller present on the
Atheros AR71XX/AR724X/AR913X SoCs.
-config SPI_ARMADA_3700
- tristate "Marvell Armada 3700 SPI Controller"
- depends on (ARCH_MVEBU && OF) || COMPILE_TEST
- help
- This enables support for the SPI controller present on the
- Marvell Armada 3700 SoCs.
-
config SPI_ASPEED_SMC
tristate "Aspeed flash controllers in SPI mode"
depends on ARCH_ASPEED || COMPILE_TEST
@@ -419,6 +427,22 @@ config SPI_FSI
This enables support for the driver for FSI bus attached SPI
controllers.
+config SPI_FSL_DSPI
+ tristate "Freescale DSPI controller"
+ select REGMAP_MMIO
+ depends on ARCH_MXC || ARCH_NXP || M5441x || COMPILE_TEST
+ help
+ This enables support for the Freescale DSPI controller in master
+ mode. S32, VF610, LS1021A and ColdFire platforms uses the controller.
+
+config SPI_FSL_ESPI
+ tristate "Freescale eSPI controller"
+ depends on FSL_SOC
+ help
+ This enables using the Freescale eSPI controllers in master mode.
+ From MPC8536, 85xx platform uses the controller, and all P10xx,
+ P20xx, P30xx,P40xx, P50xx uses this controller.
+
config SPI_FSL_LPSPI
tristate "Freescale i.MX LPSPI controller"
depends on ARCH_MXC || COMPILE_TEST
@@ -437,6 +461,26 @@ config SPI_FSL_QUADSPI
This controller does not support generic SPI messages. It only
supports the high-level SPI memory interface.
+config SPI_FSL_LIB
+ tristate
+ depends on OF
+
+config SPI_FSL_CPM
+ tristate
+ depends on FSL_SOC
+
+config SPI_FSL_SPI
+ tristate "Freescale SPI controller and Aeroflex Gaisler GRLIB SPI controller"
+ depends on OF
+ select SPI_FSL_LIB
+ select SPI_FSL_CPM if FSL_SOC
+ help
+ This enables using the Freescale SPI controllers in master mode.
+ MPC83xx platform uses the controller in cpu mode or CPM/QE mode.
+ MPC8569 uses the controller in QE mode, MPC8610 in cpu mode.
+ This also enables using the Aeroflex Gaisler GRLIB SPI controller in
+ master mode.
+
config SPI_GXP
tristate "GXP SPI driver"
depends on ARCH_HPE || COMPILE_TEST
@@ -462,27 +506,6 @@ config SPI_HISI_SFC_V3XX
This enables support for HiSilicon v3xx SPI NOR flash controller
found in hi16xx chipsets.
-config SPI_NXP_FLEXSPI
- tristate "NXP Flex SPI controller"
- depends on ARCH_LAYERSCAPE || ARCH_MXC || COMPILE_TEST
- depends on HAS_IOMEM
- help
- This enables support for the Flex SPI controller in master mode.
- Up to four slave devices can be connected on two buses with two
- chipselects each.
- This controller does not support generic SPI messages and only
- supports the high-level SPI memory interface.
-
-config SPI_NXP_XSPI
- tristate "NXP xSPI controller"
- depends on ARCH_MXC || COMPILE_TEST
- depends on HAS_IOMEM
- help
- This enables support for the xSPI controller. Up to two devices
- can be connected to one host.
- This controller does not support generic SPI messages and only
- supports the high-level SPI memory interface.
-
config SPI_GPIO
tristate "GPIO-based bitbanging SPI Master"
depends on GPIOLIB || COMPILE_TEST
@@ -580,6 +603,25 @@ config SPI_KSPI2
This driver can also be built as a module. If so, the module
will be called spi-kspi2.
+config SPI_LANTIQ_SSC
+ tristate "Lantiq SSC SPI controller"
+ depends on LANTIQ || X86 || COMPILE_TEST
+ help
+ This driver supports the Lantiq SSC SPI controller in master
+ mode. This controller is found on Intel (former Lantiq) SoCs like
+ the Danube, Falcon, xRX200, xRX300, Lightning Mountain.
+
+config SPI_LJCA
+ tristate "Intel La Jolla Cove Adapter SPI support"
+ depends on USB_LJCA
+ default USB_LJCA
+ help
+ Select this option to enable SPI driver for the Intel
+ La Jolla Cove Adapter (LJCA) board.
+
+ This driver can also be built as a module. If so, the module
+ will be called spi-ljca.
+
config SPI_LM70_LLP
tristate "Parallel port adapter for LM70 eval board (DEVELOPMENT)"
depends on PARPORT
@@ -625,74 +667,6 @@ config SPI_LP8841_RTC
Say N here unless you plan to run the kernel on an ICP DAS
LP-8x4x industrial computer.
-config SPI_MPC52xx
- tristate "Freescale MPC52xx SPI (non-PSC) controller support"
- depends on PPC_MPC52xx
- help
- This drivers supports the MPC52xx SPI controller in master SPI
- mode.
-
-config SPI_MPC52xx_PSC
- tristate "Freescale MPC52xx PSC SPI controller"
- depends on PPC_MPC52xx
- help
- This enables using the Freescale MPC52xx Programmable Serial
- Controller in master SPI mode.
-
-config SPI_MPC512x_PSC
- tristate "Freescale MPC512x PSC SPI controller"
- depends on PPC_MPC512x
- help
- This enables using the Freescale MPC5121 Programmable Serial
- Controller in SPI master mode.
-
-config SPI_FSL_LIB
- tristate
- depends on OF
-
-config SPI_FSL_CPM
- tristate
- depends on FSL_SOC
-
-config SPI_FSL_SPI
- tristate "Freescale SPI controller and Aeroflex Gaisler GRLIB SPI controller"
- depends on OF
- select SPI_FSL_LIB
- select SPI_FSL_CPM if FSL_SOC
- help
- This enables using the Freescale SPI controllers in master mode.
- MPC83xx platform uses the controller in cpu mode or CPM/QE mode.
- MPC8569 uses the controller in QE mode, MPC8610 in cpu mode.
- This also enables using the Aeroflex Gaisler GRLIB SPI controller in
- master mode.
-
-config SPI_FSL_DSPI
- tristate "Freescale DSPI controller"
- select REGMAP_MMIO
- depends on ARCH_MXC || ARCH_NXP || M5441x || COMPILE_TEST
- help
- This enables support for the Freescale DSPI controller in master
- mode. S32, VF610, LS1021A and ColdFire platforms uses the controller.
-
-config SPI_FSL_ESPI
- tristate "Freescale eSPI controller"
- depends on FSL_SOC
- help
- This enables using the Freescale eSPI controllers in master mode.
- From MPC8536, 85xx platform uses the controller, and all P10xx,
- P20xx, P30xx,P40xx, P50xx uses this controller.
-
-config SPI_LJCA
- tristate "Intel La Jolla Cove Adapter SPI support"
- depends on USB_LJCA
- default USB_LJCA
- help
- Select this option to enable SPI driver for the Intel
- La Jolla Cove Adapter (LJCA) board.
-
- This driver can also be built as a module. If so, the module
- will be called spi-ljca.
-
config SPI_MA35D1_QSPI
tristate "Nuvoton MA35D1 QSPI controller"
depends on ARCH_MA35 || COMPILE_TEST
@@ -735,6 +709,27 @@ config SPI_MICROCHIP_CORE_SPI
PolarFire SoC.
If built as a module, it will be called spi-microchip-core-spi.
+config SPI_MPC52xx
+ tristate "Freescale MPC52xx SPI (non-PSC) controller support"
+ depends on PPC_MPC52xx
+ help
+ This drivers supports the MPC52xx SPI controller in master SPI
+ mode.
+
+config SPI_MPC52xx_PSC
+ tristate "Freescale MPC52xx PSC SPI controller"
+ depends on PPC_MPC52xx
+ help
+ This enables using the Freescale MPC52xx Programmable Serial
+ Controller in master SPI mode.
+
+config SPI_MPC512x_PSC
+ tristate "Freescale MPC512x PSC SPI controller"
+ depends on PPC_MPC512x
+ help
+ This enables using the Freescale MPC5121 Programmable Serial
+ Controller in SPI master mode.
+
config SPI_MT65XX
tristate "MediaTek SPI controller"
depends on ARCH_MEDIATEK || COMPILE_TEST
@@ -770,6 +765,19 @@ config SPI_MTK_SNFI
is implemented as a SPI-MEM controller with pipelined ECC
capability.
+config SPI_MXIC
+ tristate "Macronix MX25F0A SPI controller"
+ imply MTD_NAND_ECC_MXIC
+ help
+ This selects the Macronix MX25F0A SPI controller driver.
+
+config SPI_MXS
+ tristate "Freescale MXS SPI controller"
+ depends on ARCH_MXS
+ select STMP_DEVICE
+ help
+ SPI driver for Freescale MXS devices.
+
config SPI_WPCM_FIU
tristate "Nuvoton WPCM450 Flash Interface Unit"
depends on ARCH_NPCM || COMPILE_TEST
@@ -798,13 +806,26 @@ config SPI_NPCM_PSPI
This driver provides support for Nuvoton NPCM BMC
Peripheral SPI controller in master mode.
-config SPI_LANTIQ_SSC
- tristate "Lantiq SSC SPI controller"
- depends on LANTIQ || X86 || COMPILE_TEST
+config SPI_NXP_FLEXSPI
+ tristate "NXP Flex SPI controller"
+ depends on ARCH_LAYERSCAPE || ARCH_MXC || COMPILE_TEST
+ depends on HAS_IOMEM
help
- This driver supports the Lantiq SSC SPI controller in master
- mode. This controller is found on Intel (former Lantiq) SoCs like
- the Danube, Falcon, xRX200, xRX300, Lightning Mountain.
+ This enables support for the Flex SPI controller in master mode.
+ Up to four slave devices can be connected on two buses with two
+ chipselects each.
+ This controller does not support generic SPI messages and only
+ supports the high-level SPI memory interface.
+
+config SPI_NXP_XSPI
+ tristate "NXP xSPI controller"
+ depends on ARCH_MXC || COMPILE_TEST
+ depends on HAS_IOMEM
+ help
+ This enables support for the xSPI controller. Up to two devices
+ can be connected to one host.
+ This controller does not support generic SPI messages and only
+ supports the high-level SPI memory interface.
config SPI_OC_TINY
tristate "OpenCores tiny SPI"
@@ -835,14 +856,6 @@ config SPI_OMAP24XX
SPI master controller for OMAP24XX and later Multichannel SPI
(McSPI) modules.
-config SPI_TI_QSPI
- tristate "DRA7xxx QSPI controller support"
- depends on ARCH_OMAP2PLUS || COMPILE_TEST
- help
- QSPI master controller for DRA7xxx used for flash devices.
- This device supports single, dual and quad read support, while
- it only supports single write mode.
-
config SPI_ORION
tristate "Orion SPI master"
depends on PLAT_ORION || ARCH_MVEBU || COMPILE_TEST
@@ -1031,12 +1044,14 @@ config SPI_SC18IS602
help
SPI driver for NXP SC18IS602/602B/603 I2C to SPI bridge.
-config SPI_SH_MSIOF
- tristate "SuperH MSIOF SPI controller"
- depends on HAVE_CLK
- depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
+config SPI_SG2044_NOR
+ tristate "SG2044 SPI NOR Controller"
+ depends on ARCH_SOPHGO || COMPILE_TEST
help
- SPI driver for SuperH and SH Mobile MSIOF blocks.
+ This enables support for the SG2044 SPI NOR controller,
+ which supports Dual/Quad read and write operations while
+ also supporting 3Byte address devices and 4Byte address
+ devices.
config SPI_SH
tristate "SuperH SPI controller"
@@ -1044,6 +1059,19 @@ config SPI_SH
help
SPI driver for SuperH SPI blocks.
+config SPI_SH_HSPI
+ tristate "SuperH HSPI controller"
+ depends on ARCH_RENESAS || COMPILE_TEST
+ help
+ SPI driver for SuperH HSPI blocks.
+
+config SPI_SH_MSIOF
+ tristate "SuperH MSIOF SPI controller"
+ depends on HAVE_CLK
+ depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
+ help
+ SPI driver for SuperH and SH Mobile MSIOF blocks.
+
config SPI_SH_SCI
tristate "SuperH SCI SPI controller"
depends on SUPERH
@@ -1051,28 +1079,12 @@ config SPI_SH_SCI
help
SPI driver for SuperH SCI blocks.
-config SPI_SH_HSPI
- tristate "SuperH HSPI controller"
- depends on ARCH_RENESAS || COMPILE_TEST
- help
- SPI driver for SuperH HSPI blocks.
-
config SPI_SIFIVE
tristate "SiFive SPI controller"
depends on HAS_IOMEM
help
This exposes the SPI controller IP from SiFive.
-config SPI_SLAVE_MT27XX
- tristate "MediaTek SPI slave device"
- depends on ARCH_MEDIATEK || COMPILE_TEST
- depends on SPI_SLAVE
- help
- This selects the MediaTek(R) SPI slave device driver.
- If you want to use MediaTek(R) SPI slave interface,
- say Y or M here.If you are not sure, say N.
- SPI slave drivers for Mediatek MT27XX series ARM SoCs.
-
config SPI_SN_F_OSPI
tristate "Socionext F_OSPI SPI flash controller"
depends on OF && HAS_IOMEM
@@ -1082,15 +1094,6 @@ config SPI_SN_F_OSPI
for connecting an SPI Flash memory over up to 8-bit wide bus.
It supports indirect access mode only.
-config SPI_SG2044_NOR
- tristate "SG2044 SPI NOR Controller"
- depends on ARCH_SOPHGO || COMPILE_TEST
- help
- This enables support for the SG2044 SPI NOR controller,
- which supports Dual/Quad read and write operations while
- also supporting 3Byte address devices and 4Byte address
- devices.
-
config SPI_SPACEMIT_K1
tristate "K1 SPI Controller"
depends on ARCH_SPACEMIT || COMPILE_TEST
@@ -1185,19 +1188,6 @@ config SPI_SYNQUACER
It also supports the new dual-bit and quad-bit SPI protocol.
-config SPI_MXIC
- tristate "Macronix MX25F0A SPI controller"
- imply MTD_NAND_ECC_MXIC
- help
- This selects the Macronix MX25F0A SPI controller driver.
-
-config SPI_MXS
- tristate "Freescale MXS SPI controller"
- depends on ARCH_MXS
- select STMP_DEVICE
- help
- SPI driver for Freescale MXS devices.
-
config SPI_TEGRA210_QUAD
tristate "NVIDIA Tegra QSPI Controller"
depends on ARCH_TEGRA || COMPILE_TEST
@@ -1239,6 +1229,23 @@ config SPI_THUNDERX
SPI host driver for the hardware found on Cavium ThunderX
SOCs.
+config SPI_TI_QSPI
+ tristate "DRA7xxx QSPI controller support"
+ depends on ARCH_OMAP2PLUS || COMPILE_TEST
+ help
+ QSPI master controller for DRA7xxx used for flash devices.
+ This device supports single, dual and quad read support, while
+ it only supports single write mode.
+
+config SPI_TLE62X0
+ tristate "Infineon TLE62X0 (for power switching)"
+ depends on SYSFS
+ help
+ SPI driver for Infineon TLE62X0 series line driver chips,
+ such as the TLE6220, TLE6230 and TLE6240. This provides a
+ sysfs interface, with each line presented as a kind of GPIO
+ exposing both switch control and diagnostic feedback.
+
config SPI_TOPCLIFF_PCH
tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) SPI"
depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
@@ -1331,14 +1338,6 @@ config SPI_ZYNQMP_GQSPI
Enables Xilinx GQSPI controller driver for Zynq UltraScale+ MPSoC.
This controller only supports SPI memory interface.
-config SPI_AMD
- tristate "AMD SPI controller"
- depends on PCI
- depends on X86 || COMPILE_TEST
- depends on SPI_MEM
- help
- Enables SPI controller driver for AMD SoC.
-
#
# Add new SPI master controllers in alphabetical order above this line
#
@@ -1387,15 +1386,6 @@ config SPI_LOOPBACK_TEST
primarily used for development of spi_master drivers
and to detect regressions
-config SPI_TLE62X0
- tristate "Infineon TLE62X0 (for power switching)"
- depends on SYSFS
- help
- SPI driver for Infineon TLE62X0 series line driver chips,
- such as the TLE6220, TLE6230 and TLE6240. This provides a
- sysfs interface, with each line presented as a kind of GPIO
- exposing both switch control and diagnostic feedback.
-
#
# Add new SPI protocol masters in alphabetical order above this line
#
@@ -1426,6 +1416,15 @@ config SPI_SLAVE_SYSTEM_CONTROL
SPI slave handler to allow remote control of system reboot, power
off, halt, and suspend.
+config SPI_SLAVE_MT27XX
+ tristate "MediaTek SPI slave device"
+ depends on ARCH_MEDIATEK || COMPILE_TEST
+ help
+ This selects the MediaTek(R) SPI slave device driver.
+ If you want to use MediaTek(R) SPI slave interface,
+ say Y or M here.If you are not sure, say N.
+ SPI slave drivers for Mediatek MT27XX series ARM SoCs.
+
endif # SPI_SLAVE
config SPI_DYNAMIC
--
2.50.1
^ permalink raw reply related [flat|nested] 4+ messages in thread