mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
PCI: cadence-ep: Introduce cdns_pcie_ep_disable() helper for cleanup
Introduce the helper function cdns_pcie_ep_disable() which will undo the configuration performed by cdns_pcie_ep_setup(). Also, export it for use by the existing callers of cdns_pcie_ep_setup(), thereby allowing them to cleanup on their exit path. Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Link: https://patch.msgid.link/20250417124408.2752248-4-s-vadapalli@ti.com
This commit is contained in:
parent
47f25da6c5
commit
3a4b05c9ba
|
|
@ -646,6 +646,17 @@ static const struct pci_epc_ops cdns_pcie_epc_ops = {
|
|||
.get_features = cdns_pcie_ep_get_features,
|
||||
};
|
||||
|
||||
void cdns_pcie_ep_disable(struct cdns_pcie_ep *ep)
|
||||
{
|
||||
struct device *dev = ep->pcie.dev;
|
||||
struct pci_epc *epc = to_pci_epc(dev);
|
||||
|
||||
pci_epc_deinit_notify(epc);
|
||||
pci_epc_mem_free_addr(epc, ep->irq_phys_addr, ep->irq_cpu_addr,
|
||||
SZ_128K);
|
||||
pci_epc_mem_exit(epc);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(cdns_pcie_ep_disable);
|
||||
|
||||
int cdns_pcie_ep_setup(struct cdns_pcie_ep *ep)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -544,11 +544,16 @@ static inline void __iomem *cdns_pci_map_bus(struct pci_bus *bus, unsigned int d
|
|||
|
||||
#if IS_ENABLED(CONFIG_PCIE_CADENCE_EP)
|
||||
int cdns_pcie_ep_setup(struct cdns_pcie_ep *ep);
|
||||
void cdns_pcie_ep_disable(struct cdns_pcie_ep *ep);
|
||||
#else
|
||||
static inline int cdns_pcie_ep_setup(struct cdns_pcie_ep *ep)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void cdns_pcie_ep_disable(struct cdns_pcie_ep *ep)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
void cdns_pcie_detect_quiet_min_delay_set(struct cdns_pcie *pcie);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user