Message ID | 20210519163403.212362-1-jonathanh@nvidia.com |
---|---|
State | Not Applicable |
Headers | show |
Series | PCI: tegra: Fix building Tegra194 PCIe driver | expand |
Hi Jon, > Commit 7f100744749e ("PCI: tegra: Add Tegra194 MCFG quirks for ECAM > errata") caused a couple build regressions for the Tegra194 PCIe driver > which are: > > 1. The Tegra194 PCIe driver can no longer be built as a module. This > was caused by removing the Makefile entry to build the pcie-tegra.c > based upon the CONFIG_PCIE_TEGRA194 option. Therefore, restore this > so that we can build the driver as a module if ACPI support is not > enabled in the kernel. > 2. If CONFIG_PCIE_TEGRA194 is configured to build the driver as a > module, at the same time that CONFIG_ACPI and CONFIG_PCI_QUIRKS are > selected to build the driver into the kernel, then the necessary > functions in the driver to probe and remove the device when booting > with device-tree and not compiled into to the driver. This prevents > the PCIe devices being probed when booting with device-tree. Fix this > by using the IS_ENABLED() macro. Thank you for fixing this! Much appreciated. There are also few build time warnings related to these changes you mention above, as per: drivers/pci/controller/dwc/pcie-tegra194.c:259:18: warning: ‘event_cntr_data_offset’ defined but not used [-Wunused-const-variable=] drivers/pci/controller/dwc/pcie-tegra194.c:250:18: warning: ‘event_cntr_ctrl_offset’ defined but not used [-Wunused-const-variable=] drivers/pci/controller/dwc/pcie-tegra194.c:243:27: warning: ‘pcie_gen_freq’ defined but not used [-Wunused-const-variable=] We could bill two birds with one stone, so to speak, and move these variables into the block behind the CONFIG_PCIE_TEGRA194 and CONFIG_PCIEASPM guards respectively, so that these symbols are no longer unused. Also, since this change fixes and issue introduced in a different commit, then it would be prudent to add the "Fixes:" tag. Krzysztof
Hi Krzysztof, On 19/05/2021 17:57, Krzysztof Wilczyński wrote: > Hi Jon, > >> Commit 7f100744749e ("PCI: tegra: Add Tegra194 MCFG quirks for ECAM >> errata") caused a couple build regressions for the Tegra194 PCIe driver >> which are: >> >> 1. The Tegra194 PCIe driver can no longer be built as a module. This >> was caused by removing the Makefile entry to build the pcie-tegra.c >> based upon the CONFIG_PCIE_TEGRA194 option. Therefore, restore this >> so that we can build the driver as a module if ACPI support is not >> enabled in the kernel. >> 2. If CONFIG_PCIE_TEGRA194 is configured to build the driver as a >> module, at the same time that CONFIG_ACPI and CONFIG_PCI_QUIRKS are >> selected to build the driver into the kernel, then the necessary >> functions in the driver to probe and remove the device when booting >> with device-tree and not compiled into to the driver. This prevents >> the PCIe devices being probed when booting with device-tree. Fix this >> by using the IS_ENABLED() macro. > > Thank you for fixing this! Much appreciated. > > There are also few build time warnings related to these changes you > mention above, as per: > > drivers/pci/controller/dwc/pcie-tegra194.c:259:18: warning: ‘event_cntr_data_offset’ defined but not used [-Wunused-const-variable=] > drivers/pci/controller/dwc/pcie-tegra194.c:250:18: warning: ‘event_cntr_ctrl_offset’ defined but not used [-Wunused-const-variable=] > drivers/pci/controller/dwc/pcie-tegra194.c:243:27: warning: ‘pcie_gen_freq’ defined but not used [-Wunused-const-variable=] > > We could bill two birds with one stone, so to speak, and move these > variables into the block behind the CONFIG_PCIE_TEGRA194 and > CONFIG_PCIEASPM guards respectively, so that these symbols are no longer > unused. Ah good to know. Yes I can incorporate into this change as well. Thanks for letting me know. > Also, since this change fixes and issue introduced in a different > commit, then it would be prudent to add the "Fixes:" tag. Yes it would. I had missed that, but will add. Thanks! Jon
diff --git a/drivers/pci/controller/dwc/Makefile b/drivers/pci/controller/dwc/Makefile index eca805c1a023..f0d1e2d8c022 100644 --- a/drivers/pci/controller/dwc/Makefile +++ b/drivers/pci/controller/dwc/Makefile @@ -32,6 +32,7 @@ obj-$(CONFIG_PCIE_UNIPHIER_EP) += pcie-uniphier-ep.o # depending on whether ACPI, the DT driver, or both are enabled. obj-$(CONFIG_PCIE_AL) += pcie-al.o +obj-$(CONFIG_PCIE_TEGRA194) += pcie-tegra194.o obj-$(CONFIG_PCI_HISI) += pcie-hisi.o ifdef CONFIG_ACPI diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c index b19775ab134e..8bda1485d0c2 100644 --- a/drivers/pci/controller/dwc/pcie-tegra194.c +++ b/drivers/pci/controller/dwc/pcie-tegra194.c @@ -409,7 +409,7 @@ const struct pci_ecam_ops tegra194_pcie_ops = { }; #endif /* defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS) */ -#ifdef CONFIG_PCIE_TEGRA194 +#if IS_ENABLED(CONFIG_PCIE_TEGRA194) static inline struct tegra_pcie_dw *to_tegra_pcie(struct dw_pcie *pci) {
Commit 7f100744749e ("PCI: tegra: Add Tegra194 MCFG quirks for ECAM errata") caused a couple build regressions for the Tegra194 PCIe driver which are: 1. The Tegra194 PCIe driver can no longer be built as a module. This was caused by removing the Makefile entry to build the pcie-tegra.c based upon the CONFIG_PCIE_TEGRA194 option. Therefore, restore this so that we can build the driver as a module if ACPI support is not enabled in the kernel. 2. If CONFIG_PCIE_TEGRA194 is configured to build the driver as a module, at the same time that CONFIG_ACPI and CONFIG_PCI_QUIRKS are selected to build the driver into the kernel, then the necessary functions in the driver to probe and remove the device when booting with device-tree and not compiled into to the driver. This prevents the PCIe devices being probed when booting with device-tree. Fix this by using the IS_ENABLED() macro. Signed-off-by: Jon Hunter <jonathanh@nvidia.com> --- drivers/pci/controller/dwc/Makefile | 1 + drivers/pci/controller/dwc/pcie-tegra194.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-)