diff options
author | Jayachandran C <jchandra@broadcom.com> | 2016-05-11 18:34:46 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2016-05-12 08:07:42 -0400 |
commit | 1958e7173df14ff50d75ed2fbd24b349d25caf80 (patch) | |
tree | 2b830d1f76afce4257a7a698b4145a94d7b1fb87 /drivers/pci/ecam.h | |
parent | 35ff9477d880986441981010585399c1d7201fee (diff) |
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, | |||
59 | /* default ECAM ops */ | 59 | /* default ECAM ops */ |
60 | extern struct pci_ecam_ops pci_generic_ecam_ops; | 60 | extern struct pci_ecam_ops pci_generic_ecam_ops; |
61 | 61 | ||
62 | #ifdef CONFIG_PCI_HOST_GENERIC | ||
63 | /* for DT-based PCI controllers that support ECAM */ | ||
64 | int pci_host_common_probe(struct platform_device *pdev, | ||
65 | struct pci_ecam_ops *ops); | ||
66 | #endif | ||
62 | #endif | 67 | #endif |