On Fri, Sep 18, 2020 at 11:12:51AM -0700, Kevin Hilman wrote: > Enable pci-meson to build as a module whenever ARCH_MESON is enabled. > > Cc: Yue Wang <yue.wang@xxxxxxxxxxx> > Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxx> > --- > Tested on Khadas VIM3 and Khadas VIM3 using NVMe SSD devices. > > drivers/pci/controller/dwc/Kconfig | 3 ++- > drivers/pci/controller/dwc/pci-meson.c | 8 +++++++- > 2 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig > index 044a3761c44f..bc049865f8e0 100644 > --- a/drivers/pci/controller/dwc/Kconfig > +++ b/drivers/pci/controller/dwc/Kconfig > @@ -237,8 +237,9 @@ config PCIE_HISI_STB > Say Y here if you want PCIe controller support on HiSilicon STB SoCs > > config PCI_MESON > - bool "MESON PCIe controller" > + tristate "MESON PCIe controller" > depends on PCI_MSI_IRQ_DOMAIN > + default m if ARCH_MESON > select PCIE_DW_HOST > help > Say Y here if you want to enable PCI controller support on Amlogic > diff --git a/drivers/pci/controller/dwc/pci-meson.c b/drivers/pci/controller/dwc/pci-meson.c > index 4f183b96afbb..7a1fb55ee44a 100644 > --- a/drivers/pci/controller/dwc/pci-meson.c > +++ b/drivers/pci/controller/dwc/pci-meson.c > @@ -17,6 +17,7 @@ > #include <linux/resource.h> > #include <linux/types.h> > #include <linux/phy/phy.h> > +#include <linux/module.h> > > #include "pcie-designware.h" > > @@ -589,6 +590,7 @@ static const struct of_device_id meson_pcie_of_match[] = { > }, > {}, > }; > +MODULE_DEVICE_TABLE(of, meson_pcie_of_match); > > static struct platform_driver meson_pcie_driver = { > .probe = meson_pcie_probe, You need a remove hook to tear down the PCI bus at least. Really I'd like to add a devres hook in pci_host_probe to do that for all the drivers. > @@ -598,4 +600,8 @@ static struct platform_driver meson_pcie_driver = { > }, > }; > > -builtin_platform_driver(meson_pcie_driver); > +module_platform_driver(meson_pcie_driver); > + > +MODULE_AUTHOR("Yue Wang <yue.wang@xxxxxxxxxxx>"); > +MODULE_DESCRIPTION("Amlogic PCIe Controller driver"); > +MODULE_LICENSE("Dual BSD/GPL"); First line is: SPDX-License-Identifier: GPL-2.0 > -- > 2.28.0 > > > _______________________________________________ > linux-amlogic mailing list > linux-amlogic@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-amlogic