Re: [PATCH v3 4/4] PCI: tegra194: Add PCI_ENDPOINT dependency
From: Manikanta Maddireddy
Date: Mon Nov 02 2026 - 23:32:08 EST
On 02/11/26 8:50 pm, Niklas Cassel wrote:
Hello Manikanta,
On Mon, Nov 02, 2026 at 04:44:50PM +0530, Manikanta Maddireddy wrote:
The PERST# assertion handler now calls pci_epc_linkdown() to notify
Endpoint functions before powering down the controller. This function
is only declared when CONFIG_PCI_ENDPOINT is enabled and has no stub
when endpoint support is disabled.
Add a PCI_ENDPOINT dependency to ensure that the endpoint framework is
available whenever the Tegra194 PCIe driver is built.
Fixes: bf644226574e ("PCI: tegra194: Notify Endpoint functions on PERST# assert")
Where is this SHA1? I can't seem to find it in the PCI tree.
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Closes: https://lore.kernel.org/oe-kbuild-all/202610230923.2lf3BsLs-lkp@xxxxxxxxx/
Signed-off-by: Manikanta Maddireddy <mmaddireddy@xxxxxxxxxx>
---
Changes V2 -> V3:
- New patch in v3: require PCI_ENDPOINT for pci_epc_linkdown(), added to
the PERST# assertion handler, to be declared when the driver is built.
drivers/pci/controller/dwc/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig
index 0a0d56fcf0ac..704134684900 100644
--- a/drivers/pci/controller/dwc/Kconfig
+++ b/drivers/pci/controller/dwc/Kconfig
@@ -245,6 +245,7 @@ config PCIE_TEGRA194_HOST
tristate "NVIDIA Tegra194 (and later) PCIe controller (host mode)"
depends on (ARCH_TEGRA && ARM64) || COMPILE_TEST
depends on PCI_MSI
+ depends on PCI_ENDPOINT
This looks wrong to me.
If you look at:
include/linux/pci-epc.h
you can see that there are stubs already for e.g.:
pci_epc_init_notify() and pci_epc_deinit_notify().
$ git grep pci_epc_init_notify
drivers/pci/controller/cadence/pcie-cadence-ep.c: pci_epc_init_notify(epc);
drivers/pci/controller/dwc/pci-dra7xx.c: pci_epc_init_notify(ep->epc);
drivers/pci/controller/dwc/pci-imx6.c: pci_epc_init_notify(ep->epc);
drivers/pci/controller/dwc/pci-keystone.c: pci_epc_init_notify(pci->ep.epc);
drivers/pci/controller/dwc/pci-layerscape-ep.c: pci_epc_init_notify(pci->ep.epc);
drivers/pci/controller/dwc/pcie-artpec6.c: pci_epc_init_notify(pci->ep.epc);
drivers/pci/controller/dwc/pcie-designware-plat.c: pci_epc_init_notify(pci->ep.epc);
drivers/pci/controller/dwc/pcie-dw-rockchip.c: pci_epc_init_notify(rockchip->pci.ep.epc);
drivers/pci/controller/dwc/pcie-keembay.c: pci_epc_init_notify(pci->ep.epc);
drivers/pci/controller/dwc/pcie-qcom-ep.c: pci_epc_init_notify(pcie_ep->pci.ep.epc);
drivers/pci/controller/dwc/pcie-rcar-gen4.c: pci_epc_init_notify(ep->epc);
drivers/pci/controller/dwc/pcie-stm32-ep.c: pci_epc_init_notify(ep->epc);
drivers/pci/controller/dwc/pcie-tegra194.c: pci_epc_init_notify(ep->epc);
drivers/pci/controller/dwc/pcie-uniphier-ep.c: pci_epc_init_notify(priv->pci.ep.epc);
drivers/pci/controller/pcie-rcar-ep.c: pci_epc_init_notify(epc);
drivers/pci/controller/pcie-rockchip-ep.c: pci_epc_init_notify(epc);
drivers/pci/endpoint/pci-epc-core.c: * pci_epc_init_notify() - Notify the EPF device that EPC device initialization
drivers/pci/endpoint/pci-epc-core.c:void pci_epc_init_notify(struct pci_epc *epc)
drivers/pci/endpoint/pci-epc-core.c:EXPORT_SYMBOL_GPL(pci_epc_init_notify);
include/linux/pci-epc.h:void pci_epc_init_notify(struct pci_epc *epc);
include/linux/pci-epc.h:static inline void pci_epc_init_notify(struct pci_epc *epc)
I suggest that you just add a stub for pci_epc_linkdown().
Kind regards,
Niklas
Ok, I will add stub function and send v4 series.
I will wait for few days for others to review v3 before sending v4.
- Manikanta
--
nvpublic