Re: [PATCH v3 4/4] PCI: tegra194: Add PCI_ENDPOINT dependency
From: Niklas Cassel
Date: Mon Nov 02 2026 - 14:35:25 EST
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