Re: [PATCH] pci: meson: build as module by default
From: Rob Herring
Date: Fri Sep 25 2020 - 17:13:38 EST
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