diff options
author | Jayachandran C <jchandra@broadcom.com> | 2016-05-12 01:34:46 +0300 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2016-05-12 15:07:42 +0300 |
commit | 1958e7173df14ff50d75ed2fbd24b349d25caf80 (patch) | |
tree | 2b830d1f76afce4257a7a698b4145a94d7b1fb87 /drivers/pci/ecam.h | |
parent | 35ff9477d880986441981010585399c1d7201fee (diff) | |
download | linux-1958e7173df14ff50d75ed2fbd24b349d25caf80.tar.xz |
PCI: generic, thunder: Use generic ECAM API
Use functions provided by drivers/pci/ecam.h for mapping the config space
in drivers/pci/host/pci-host-common.c, and update its users to use 'struct
pci_config_window' and 'struct pci_ecam_ops'.
The changes are mostly to use 'struct pci_config_window' in place of
'struct gen_pci'. Some of the fields of gen_pci were only used temporarily
and can be eliminated by using local variables or function arguments, these
are not carried over to struct pci_config_window.
pci-thunder-ecam.c and pci-thunder-pem.c are the only users of the
pci_host_common_probe function and the gen_pci structure; these have been
updated to use the new API as well.
The patch does not introduce any functional changes other than a very minor
one: with the new code, on 64-bit platforms, we do just a single ioremap
for the whole config space.
Signed-off-by: Jayachandran C <jchandra@broadcom.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/ecam.h')
-rw-r--r-- | drivers/pci/ecam.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/pci/ecam.h b/drivers/pci/ecam.h index 912421909745..9878bebd45bb 100644 --- a/drivers/pci/ecam.h +++ b/drivers/pci/ecam.h @@ -59,4 +59,9 @@ void __iomem *pci_ecam_map_bus(struct pci_bus *bus, unsigned int devfn, /* default ECAM ops */ extern struct pci_ecam_ops pci_generic_ecam_ops; +#ifdef CONFIG_PCI_HOST_GENERIC +/* for DT-based PCI controllers that support ECAM */ +int pci_host_common_probe(struct platform_device *pdev, + struct pci_ecam_ops *ops); +#endif #endif |