diff options
author | Ray Jui <rjui@broadcom.com> | 2015-07-22 03:29:40 +0200 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2015-07-22 21:55:00 +0200 |
commit | 8d9bfe3702aaea457b3d59b09b86e9f03c322605 (patch) | |
tree | a1b1981b7ac44331e737418c97f9a913b08dbdfb /drivers/pci/host/pcie-iproc.h | |
parent | PCI: iproc: Delete unnecessary checks before phy calls (diff) | |
download | linux-8d9bfe3702aaea457b3d59b09b86e9f03c322605.tar.xz linux-8d9bfe3702aaea457b3d59b09b86e9f03c322605.zip |
PCI: iproc: Add arm64 support
Add arm64 support to the iProc PCIe driver.
Note that on arm32, bus->sysdata points to the arm32-specific pci_sys_data
struct, and pci_sys_data.private_data contains the iproc_pcie pointer.
For arm64, there's nothing corresponding to pci_sys_data, so we keep the
iproc_pcie pointer directly in bus->sysdata.
In addition, arm64 does IRQ mapping in pcibios_add_device(), so it doesn't
need pci_fixup_irqs() as arm32 does.
Signed-off-by: Ray Jui <rjui@broadcom.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Scott Branden <sbranden@broadcom.com>
Diffstat (limited to 'drivers/pci/host/pcie-iproc.h')
-rw-r--r-- | drivers/pci/host/pcie-iproc.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pci/host/pcie-iproc.h b/drivers/pci/host/pcie-iproc.h index ba0a108309cc..c9e4c10a462e 100644 --- a/drivers/pci/host/pcie-iproc.h +++ b/drivers/pci/host/pcie-iproc.h @@ -21,7 +21,7 @@ * @dev: pointer to device data structure * @base: PCIe host controller I/O register base * @resources: linked list of all PCI resources - * @sysdata: Per PCI controller data + * @sysdata: Per PCI controller data (ARM-specific) * @root_bus: pointer to root bus * @phy: optional PHY device that controls the Serdes * @irqs: interrupt IDs @@ -29,7 +29,9 @@ struct iproc_pcie { struct device *dev; void __iomem *base; +#ifdef CONFIG_ARM struct pci_sys_data sysdata; +#endif struct pci_bus *root_bus; struct phy *phy; int irqs[IPROC_PCIE_MAX_NUM_IRQS]; |