Commit 2e245bc8 authored by Daire McNamara's avatar Daire McNamara Committed by Lorenzo Pieralisi
Browse files

PCI: microchip: Enable building driver as a module

Enable building driver as a module. The expected use case is the
driver is built as a module, is installed when needed, and cannot be
removed once installed since it is not possible to clean-up
the irq_chip data structures on removal, as described in:

https://lore.kernel.org/linux-pci/87y1wgbah8.wl-maz@kernel.org/

The driver has .suppress_bind_attrs set to true for the same
reasons (ie prevent unbinding, that would leave the kernel
with stale IRQ configuration that cannot be cleaned up).

Link: https://lore.kernel.org/linux-pci/87y1wgbah8.wl-maz@kernel.org/
Link: https://lore.kernel.org/r/20230728131401.1615724-3-daire.mcnamara@microchip.com


Suggested-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: default avatarDaire McNamara <daire.mcnamara@microchip.com>
Signed-off-by: default avatarLorenzo Pieralisi <lpieralisi@kernel.org>
Acked-by: default avatarConor Dooley <conor.dooley@microchip.com>
parent 6d473a5a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -217,7 +217,7 @@ config PCIE_MT7621
	  This selects a driver for the MediaTek MT7621 PCIe Controller.

config PCIE_MICROCHIP_HOST
	bool "Microchip AXI PCIe controller"
	tristate "Microchip AXI PCIe controller"
	depends on PCI_MSI && OF
	select PCI_HOST_COMMON
	help
+1 −0
Original line number Diff line number Diff line
@@ -1135,5 +1135,6 @@ static struct platform_driver mc_pcie_driver = {
};

builtin_platform_driver(mc_pcie_driver);
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Microchip PCIe host controller driver");
MODULE_AUTHOR("Daire McNamara <daire.mcnamara@microchip.com>");