diff options
| author | Vidya Sagar <[email protected]> | 2019-06-25 09:22:36 +0000 |
|---|---|---|
| committer | Lorenzo Pieralisi <[email protected]> | 2019-06-27 11:02:46 +0000 |
| commit | 9d071cade30a05b46e894885beeba9922dc4fd23 (patch) | |
| tree | 023283315d0d86cd9b5b072e6de7b5c937d0b3ec /drivers/pci/controller/dwc/pcie-designware-host.c | |
| parent | Linux 5.2-rc1 (diff) | |
| download | kernel-9d071cade30a05b46e894885beeba9922dc4fd23.tar.gz kernel-9d071cade30a05b46e894885beeba9922dc4fd23.zip | |
PCI: dwc: Add API support to de-initialize host
Add an API to group all the tasks to be done to de-initialize host which
can then be called by any dwc core based driver implementations
while adding .remove() support in their respective drivers.
Signed-off-by: Vidya Sagar <[email protected]>
Signed-off-by: Lorenzo Pieralisi <[email protected]>
Acked-by: Gustavo Pimentel <[email protected]>
Diffstat (limited to 'drivers/pci/controller/dwc/pcie-designware-host.c')
| -rw-r--r-- | drivers/pci/controller/dwc/pcie-designware-host.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index 77db32529319..d069e4290180 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -496,6 +496,14 @@ err_free_msi: return ret; } +void dw_pcie_host_deinit(struct pcie_port *pp) +{ + pci_stop_root_bus(pp->root_bus); + pci_remove_root_bus(pp->root_bus); + if (pci_msi_enabled() && !pp->ops->msi_host_init) + dw_pcie_free_msi(pp); +} + static int dw_pcie_access_other_conf(struct pcie_port *pp, struct pci_bus *bus, u32 devfn, int where, int size, u32 *val, bool write) |
