pcie: Enable core_deinit only when core has implemented it

The core_deinit callback is the Nvidia internal feature
which is not upstreamed yet. Enable the call back from
OOT modules only when core have implemented this callback.

Bug 4374520

Change-Id: Iee2b92b7d70326ea3ce99ce6f6600d27f1e2896b
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3014989
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Laxman Dewangan
2023-11-12 19:17:24 +00:00
committed by mobile promotions
parent a1cc281c17
commit dc69c0b58a
3 changed files with 13 additions and 0 deletions

View File

@@ -164,6 +164,7 @@ static int pcie_dma_epf_core_init(struct pci_epf *epf)
return 0;
}
#if !defined(NV_PCIE_DMA_EPF_CORE_DEINIT_NOT_AVAILABLE)
static int pcie_dma_epf_core_deinit(struct pci_epf *epf)
{
struct pcie_epf_dma *epfnv = epf_get_drvdata(epf);
@@ -179,6 +180,7 @@ static int pcie_dma_epf_core_deinit(struct pci_epf *epf)
return 0;
}
#endif
static void pcie_dma_epf_unbind(struct pci_epf *epf)
{
@@ -263,7 +265,9 @@ static const struct pci_epf_device_id pcie_dma_epf_ids[] = {
static const struct pci_epc_event_ops pci_epf_dma_test_event_ops = {
.core_init = pcie_dma_epf_core_init,
#if !defined(NV_PCIE_DMA_EPF_CORE_DEINIT_NOT_AVAILABLE)
.core_deinit = pcie_dma_epf_core_deinit,
#endif
};
static int pcie_dma_epf_probe(struct pci_epf *epf)