[PATCH 1/4] PCI: cadence: Add support to build pcie-cadence library as a kernel module

Siddharth Vadapalli s-vadapalli at ti.com
Tue Mar 18 00:55:30 PDT 2025


On Tue, Mar 18, 2025 at 01:19:17PM +0530, Manivannan Sadhasivam wrote:
> On Fri, Mar 14, 2025 at 12:24:44PM +0530, Siddharth Vadapalli wrote:
> > On Thu, Mar 13, 2025 at 11:14:16PM +0530, Manivannan Sadhasivam wrote:
> > 
> > Hello Mani,
> > 
> > > On Fri, Mar 07, 2025 at 04:01:25PM +0530, Siddharth Vadapalli wrote:
> > > > From: Kishon Vijay Abraham I <kishon at ti.com>
> > > > 
> > > > Currently, the Cadence PCIe controller driver can be built as a built-in
> > > > module only. Since PCIe functionality is not a necessity for booting, add
> > > > support to build the Cadence PCIe driver as a loadable module as well.
> > > > 
> > > > Signed-off-by: Kishon Vijay Abraham I <kishon at ti.com>
> > > > Signed-off-by: Siddharth Vadapalli <s-vadapalli at ti.com>
> > > 
> > > Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam at linaro.org>
> > > 
> > > > ---
> > > >  drivers/pci/controller/cadence/Kconfig             |  6 +++---
> > > >  drivers/pci/controller/cadence/pcie-cadence-ep.c   |  6 ++++++
> > > >  drivers/pci/controller/cadence/pcie-cadence-host.c |  9 +++++++++
> > > >  drivers/pci/controller/cadence/pcie-cadence.c      | 12 ++++++++++++
> > > >  drivers/pci/controller/cadence/pcie-cadence.h      |  4 ++--
> > > >  5 files changed, 32 insertions(+), 5 deletions(-)
> > > > 
> > > > diff --git a/drivers/pci/controller/cadence/Kconfig b/drivers/pci/controller/cadence/Kconfig
> > > > index 8a0044bb3989..82b58096eea0 100644
> > > > --- a/drivers/pci/controller/cadence/Kconfig
> > > > +++ b/drivers/pci/controller/cadence/Kconfig
> > > > @@ -4,16 +4,16 @@ menu "Cadence-based PCIe controllers"
> > > >  	depends on PCI
> > > >  
> > > >  config PCIE_CADENCE
> > > > -	bool
> > > > +	tristate
> > > >  
> > > >  config PCIE_CADENCE_HOST
> > > > -	bool
> > > > +	tristate
> > > >  	depends on OF
> > > >  	select IRQ_DOMAIN
> > > 
> > > Even though this was added earlier, looks like not needed.
> > 
> > Thank you for reviewing this patch.
> > 
> > drivers/pci/controller/cadence/Kconfig has the following:
> > ...
> > 	config PCIE_CADENCE_HOST
> > 		bool
> > 		depends on OF
> > 		select IRQ_DOMAIN
> > 		select PCIE_CADENCE
> > ...
> > 	config PCI_J721E_HOST
> > 		bool "TI J721E PCIe controller (host mode)"
> > 		depends on ARCH_K3 || COMPILE_TEST
> > 		depends on OF
> > 		select PCIE_CADENCE_HOST
> > 		select PCI_J721E
> > ...
> > So PCI_J721E_HOST selects PCIE_CADENCE_HOST which in turn selects
> > PCIE_CADENCE. As of now, none of these configs are enabled in
> > arm64-defconfig, and they also will not be accepted as built-in modules
> > as it will bloat the Linux Image for everyone. For that reason, they are
> > all being converted to loadable modules, and their configs will eventually
> > be enabled in arm64-defconfig as loadable modules.
> > 
> > Please let me know if I misunderstood your comment regarding the quoted
> > change not being required.
> > 
> 
> Yes, you misunderstood indeed :) My earlier comment was about IRQ_DOMAIN symbol
> which looked like not needed at all.

Thank you for clarifying. I (mis)interpret your comment in the context of
the entire "config PCIE_CADENCE_HOST" block and the change made in it :)

Regards,
Siddharth.



More information about the linux-arm-kernel mailing list