aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/controller/dwc
diff options
context:
space:
mode:
authorVidya Sagar <vidyas@nvidia.com>2019-06-25 05:22:38 -0400
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>2019-06-27 07:02:46 -0400
commitca98329d3b58ef636b8f455b0b1b6ac9c89738b2 (patch)
treeed9cd073b57b427ba42fb6706042a0a7d32d2932 /drivers/pci/controller/dwc
parent7bc082d7e97009f252bd432de5d476b0bcf3b266 (diff)
PCI: dwc: Export APIs to support .remove() implementation
Export all configuration space access APIs and also other APIs to support host controller drivers of dwc core based implementations while adding support for .remove() hook to build their respective drivers as modules. Signed-off-by: Vidya Sagar <vidyas@nvidia.com> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Acked-by: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
Diffstat (limited to 'drivers/pci/controller/dwc')
-rw-r--r--drivers/pci/controller/dwc/pcie-designware-host.c4
-rw-r--r--drivers/pci/controller/dwc/pcie-designware.c4
2 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 d069e4290180..f93252d0da5b 100644
--- a/drivers/pci/controller/dwc/pcie-designware-host.c
+++ b/drivers/pci/controller/dwc/pcie-designware-host.c
@@ -311,6 +311,7 @@ void dw_pcie_msi_init(struct pcie_port *pp)
311 dw_pcie_wr_own_conf(pp, PCIE_MSI_ADDR_HI, 4, 311 dw_pcie_wr_own_conf(pp, PCIE_MSI_ADDR_HI, 4,
312 upper_32_bits(msi_target)); 312 upper_32_bits(msi_target));
313} 313}
314EXPORT_SYMBOL_GPL(dw_pcie_msi_init);
314 315
315int dw_pcie_host_init(struct pcie_port *pp) 316int dw_pcie_host_init(struct pcie_port *pp)
316{ 317{
@@ -495,6 +496,7 @@ err_free_msi:
495 dw_pcie_free_msi(pp); 496 dw_pcie_free_msi(pp);
496 return ret; 497 return ret;
497} 498}
499EXPORT_SYMBOL_GPL(dw_pcie_host_init);
498 500
499void dw_pcie_host_deinit(struct pcie_port *pp) 501void dw_pcie_host_deinit(struct pcie_port *pp)
500{ 502{
@@ -503,6 +505,7 @@ void dw_pcie_host_deinit(struct pcie_port *pp)
503 if (pci_msi_enabled() && !pp->ops->msi_host_init) 505 if (pci_msi_enabled() && !pp->ops->msi_host_init)
504 dw_pcie_free_msi(pp); 506 dw_pcie_free_msi(pp);
505} 507}
508EXPORT_SYMBOL_GPL(dw_pcie_host_deinit);
506 509
507static int dw_pcie_access_other_conf(struct pcie_port *pp, struct pci_bus *bus, 510static int dw_pcie_access_other_conf(struct pcie_port *pp, struct pci_bus *bus,
508 u32 devfn, int where, int size, u32 *val, 511 u32 devfn, int where, int size, u32 *val,
@@ -695,3 +698,4 @@ void dw_pcie_setup_rc(struct pcie_port *pp)
695 val |= PORT_LOGIC_SPEED_CHANGE; 698 val |= PORT_LOGIC_SPEED_CHANGE;
696 dw_pcie_wr_own_conf(pp, PCIE_LINK_WIDTH_SPEED_CONTROL, 4, val); 699 dw_pcie_wr_own_conf(pp, PCIE_LINK_WIDTH_SPEED_CONTROL, 4, val);
697} 700}
701EXPORT_SYMBOL_GPL(dw_pcie_setup_rc);
diff --git a/drivers/pci/controller/dwc/pcie-designware.c b/drivers/pci/controller/dwc/pcie-designware.c
index c2843ea1d1e8..7d25102c304c 100644
--- a/drivers/pci/controller/dwc/pcie-designware.c
+++ b/drivers/pci/controller/dwc/pcie-designware.c
@@ -34,6 +34,7 @@ int dw_pcie_read(void __iomem *addr, int size, u32 *val)
34 34
35 return PCIBIOS_SUCCESSFUL; 35 return PCIBIOS_SUCCESSFUL;
36} 36}
37EXPORT_SYMBOL_GPL(dw_pcie_read);
37 38
38int dw_pcie_write(void __iomem *addr, int size, u32 val) 39int dw_pcie_write(void __iomem *addr, int size, u32 val)
39{ 40{
@@ -51,6 +52,7 @@ int dw_pcie_write(void __iomem *addr, int size, u32 val)
51 52
52 return PCIBIOS_SUCCESSFUL; 53 return PCIBIOS_SUCCESSFUL;
53} 54}
55EXPORT_SYMBOL_GPL(dw_pcie_write);
54 56
55u32 dw_pcie_read_dbi(struct dw_pcie *pci, u32 reg, size_t size) 57u32 dw_pcie_read_dbi(struct dw_pcie *pci, u32 reg, size_t size)
56{ 58{
@@ -66,6 +68,7 @@ u32 dw_pcie_read_dbi(struct dw_pcie *pci, u32 reg, size_t size)
66 68
67 return val; 69 return val;
68} 70}
71EXPORT_SYMBOL_GPL(dw_pcie_read_dbi);
69 72
70void dw_pcie_write_dbi(struct dw_pcie *pci, u32 reg, size_t size, u32 val) 73void dw_pcie_write_dbi(struct dw_pcie *pci, u32 reg, size_t size, u32 val)
71{ 74{
@@ -80,6 +83,7 @@ void dw_pcie_write_dbi(struct dw_pcie *pci, u32 reg, size_t size, u32 val)
80 if (ret) 83 if (ret)
81 dev_err(pci->dev, "Write DBI address failed\n"); 84 dev_err(pci->dev, "Write DBI address failed\n");
82} 85}
86EXPORT_SYMBOL_GPL(dw_pcie_write_dbi);
83 87
84u32 dw_pcie_read_dbi2(struct dw_pcie *pci, u32 reg, size_t size) 88u32 dw_pcie_read_dbi2(struct dw_pcie *pci, u32 reg, size_t size)
85{ 89{