On Mon, Apr 21, 2025 at 2:52 AM Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> wrote: > > On Sun, Apr 20, 2025 at 09:59:06PM -0500, Aaron Kling via B4 Relay wrote: > > From: Aaron Kling <webgeek1234@xxxxxxxxx> > > > > The driver works fine as a module, so allow building as such. > > > > In the past, the former irqchip maintainer raised concerns for allowing the > irqchip drivers to be removed from the kernel. The concern was mostly (afaik) > due to not disposing all IRQs before removing the irq_domain. > > So Marek submitted a series [1] that added a new API for that. But that series > didn't progress further. So if you want to make this driver a module, you need > to do 2 things: > > 1. Make sure the cited series gets merged and this driver uses the new API. > 2. Get an Ack from Thomas (who is the only irqchip maintainer now). Should this be a hard blocker for building this one driver as a module? I did a quick grep of drivers/pci/controller for irq_domain, then compared several of the hits to the Kconfig. And every single one is tristate. Tegra is by far not a unique offender here. Sincerely, Aaron > > - Mani > > [1] https://lore.kernel.org/linux-pci/20240715114854.4792-1-kabel@xxxxxxxxxx > > > Signed-off-by: Aaron Kling <webgeek1234@xxxxxxxxx> > > --- > > drivers/pci/controller/Kconfig | 2 +- > > drivers/pci/controller/pci-tegra.c | 3 +++ > > 2 files changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig > > index 9800b768105402d6dd1ba4b134c2ec23da6e4201..a9164dd2eccaead5ae9348c24a5ad75fcb40f507 100644 > > --- a/drivers/pci/controller/Kconfig > > +++ b/drivers/pci/controller/Kconfig > > @@ -224,7 +224,7 @@ config PCI_HYPERV_INTERFACE > > driver. > > > > config PCI_TEGRA > > - bool "NVIDIA Tegra PCIe controller" > > + tristate "NVIDIA Tegra PCIe controller" > > depends on ARCH_TEGRA || COMPILE_TEST > > depends on PCI_MSI > > help > > diff --git a/drivers/pci/controller/pci-tegra.c b/drivers/pci/controller/pci-tegra.c > > index b3cdbc5927de3742161310610dc5dcb836f5dd69..c260842695f2e983ae48fd52b43f62dbb9fb5dd3 100644 > > --- a/drivers/pci/controller/pci-tegra.c > > +++ b/drivers/pci/controller/pci-tegra.c > > @@ -2803,3 +2803,6 @@ static struct platform_driver tegra_pcie_driver = { > > .remove = tegra_pcie_remove, > > }; > > module_platform_driver(tegra_pcie_driver); > > +MODULE_AUTHOR("Thierry Reding <treding@xxxxxxxxxx>"); > > +MODULE_DESCRIPTION("NVIDIA PCI host controller driver"); > > +MODULE_LICENSE("GPL"); > > > > -- > > 2.48.1 > > > > > > -- > மணிவண்ணன் சதாசிவம்