+config PCI_STYou add a bool Kconfig symbol. A week or two ago I saw some patches fly
+ bool "ST PCIe controller"
by that - I think - allowed PCIe controllers to be built modular.
+ depends on ARCH_STI || (ARM && COMPILE_TEST)If you keep that symbol bool this objectfile will never be part of a
+ select PCIE_DW
+ help
+ Enable PCIe controller support on ST Socs. This controller is based
+ on Designware hardware and therefore the driver re-uses the
+ Designware core functions to implement the driver.
--- a/drivers/pci/host/Makefile
+++ b/drivers/pci/host/Makefile
+obj-$(CONFIG_PCI_ST) += pci-st.o
module.
diff --git a/drivers/pci/host/pci-st.c b/drivers/pci/host/pci-st.cFor built-in code this include is, probably, not needed.
new file mode 100644
index 0000000..470000d
--- /dev/null
+++ b/drivers/pci/host/pci-st.c
+#include <linux/module.h>
+MODULE_DEVICE_TABLE(of, st_pcie_of_match);For built-in code that macro will always be preprocessed away.
+/* ST PCIe driver does not allow module unload */I think the module unload comment is a bit odd for built-in only code.
+static int __init pcie_init(void)
+{
+ return platform_driver_probe(&st_pcie_driver, st_pcie_probe);
+}
+device_initcall(pcie_init);
+MODULE_AUTHOR("Fabrice Gasnier <fabrice.gasnier@xxxxxx>");These three macros will be, basically, always preprocessed away as long
+MODULE_DESCRIPTION("PCI express Driver for ST SoCs");
+MODULE_LICENSE("GPL v2");
as this code can't be built to be modular.
Paul Bolle