summaryrefslogtreecommitdiff
path: root/drivers/pci
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/host/pcie-designware.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie-designware.c
index 9c098b966c7a..12430f9f969a 100644
--- a/drivers/pci/host/pcie-designware.c
+++ b/drivers/pci/host/pcie-designware.c
@@ -68,16 +68,24 @@
#define PCIE_ATU_FUNC(x) (((x) & 0x7) << 16)
#define PCIE_ATU_UPPER_TARGET 0x91C
-static struct hw_pci dw_pci;
static unsigned long global_io_offset;
+#ifdef CONFIG_ARM
+static struct hw_pci dw_pci;
+
static inline struct pcie_port *sys_to_pcie(struct pci_sys_data *sys)
{
BUG_ON(!sys->private_data);
return sys->private_data;
}
+#else
+static inline struct pcie_port *sys_to_pcie(struct pcie_port *pp)
+{
+ return pp;
+}
+#endif
int dw_pcie_cfg_read(void __iomem *addr, int where, int size, u32 *val)
{
@@ -503,6 +511,7 @@ int dw_pcie_host_init(struct pcie_port *pp)
val |= PORT_LOGIC_SPEED_CHANGE;
dw_pcie_wr_own_conf(pp, PCIE_LINK_WIDTH_SPEED_CONTROL, 4, val);
+#ifdef CONFIG_ARM
#ifdef CONFIG_PCI_MSI
dw_pcie_msi_chip.dev = pp->dev;
dw_pci.msi_ctrl = &dw_pcie_msi_chip;
@@ -512,6 +521,7 @@ int dw_pcie_host_init(struct pcie_port *pp)
dw_pci.private_data = (void **)&pp;
pci_common_init_dev(pp->dev, &dw_pci);
+#endif
return 0;
}
@@ -702,6 +712,7 @@ static struct pci_ops dw_pcie_ops = {
.write = dw_pcie_wr_conf,
};
+#ifdef CONFIG_ARM
static int dw_pcie_setup(int nr, struct pci_sys_data *sys)
{
struct pcie_port *pp;
@@ -759,6 +770,7 @@ static struct hw_pci dw_pci = {
.scan = dw_pcie_scan_bus,
.map_irq = dw_pcie_map_irq,
};
+#endif
void dw_pcie_setup_rc(struct pcie_port *pp)
{