Thread (12 messages) 12 messages, 4 authors, 2025-11-17

Re: [PATCH] PCI: cadence: Kconfig: change PCIE_CADENCE configs from tristate to bool

From: "Arnd Bergmann" <arnd@arndb.de>
Date: 2025-11-13 10:13:24
Also in: linux-pci, lkml, stable

On Thu, Nov 13, 2025, at 10:27, Siddharth Vadapalli wrote:
The drivers associated with the PCIE_CADENCE, PCIE_CADENCE_HOST AND
PCIE_CADENCE_EP configs are used by multiple vendor drivers and serve as a
library of helpers. Since the vendor drivers could individually be built
as built-in or as loadable modules, it is possible to select a build
configuration wherein a vendor driver is built-in while the library is
built as a loadable module. This will result in a build error as reported
in the 'Closes' link below.

Address the build error by changing the library configs to be 'bool'
instead of 'tristate'.

Reported-by: kernel test robot <redacted>
Closes: 
https://lore.kernel.org/oe-kbuild-all/202511111705.MZ7ls8Hm-lkp@intel.com/ (local)
Fixes: 1c72774df028 ("PCI: sg2042: Add Sophgo SG2042 PCIe driver")
Cc: <redacted>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
I really think there has to be a better solution here, this is not
an unusual problem.
quoted hunk ↗ jump to hunk
@@ -4,16 +4,16 @@ menu "Cadence-based PCIe controllers"
 	depends on PCI

 config PCIE_CADENCE
-	tristate
+	bool

 config PCIE_CADENCE_HOST
-	tristate
+	bool
 	depends on OF
 	select IRQ_DOMAIN
 	select PCIE_CADENCE

 config PCIE_CADENCE_EP
-	tristate
+	bool
 	depends on OF
 	depends on PCI_ENDPOINT
 	select PCIE_CADENCE
I think the easiest way would be to leave PCIE_CADENCE as
a 'tristate' symbol but make the other two 'bool', and then
adjust the Makefile logic to use CONFIG_PCIE_CADENCE as
the thing that controls how the individual drivers are built.

That way, if any platform specific driver is built-in, both
the EP and HOST support are built-in or disabled but never
loadable modules. As long as all platform drivers are
loadable modules, so would be the base support.

     Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help