Re: [PATCH v2 2/4] PCI: Provide common functions for ECAM mapping

From: David Daney
Date: Mon Apr 11 2016 - 20:24:37 EST


On 04/11/2016 03:45 PM, Jayachandran C wrote:
Add config option PCI_GENERIC_ECAM and file drivers/pci/ecam.c to
provide generic functions for accessing memory mapped PCI config space.

The API is defined in drivers/pci/ecam.h and is written to replace the
API in drivers/pci/host/pci-host-common.h. The file defines a new
'struct pci_config_window' to hold the information related to a PCI
config area and its mapping. This structure is expected to be used as
sysdata for controllers that have ECAM based mapping.

Helper functions are provided to setup the mapping, free the mapping
and to implement the map_bus method in 'struct pci_ops'

Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>

Tested-by: David Daney <david.daney@xxxxxxxxxx>


---
drivers/pci/Kconfig | 3 ++
drivers/pci/Makefile | 2 +
drivers/pci/ecam.c | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/pci/ecam.h | 58 +++++++++++++++++++++++

I wonder if these files should go in drivers/pci/host ... I understand that you still have to use them from drivers/pci/acpi though.

I will let others opine on this, but could you put the contents of ecam.h into include/linux/pci.h along with the pci_generic_config_*() declarations?

If you did that, the contents of ecam.c could go into drivers/pci/access.c...


4 files changed, 193 insertions(+)
create mode 100644 drivers/pci/ecam.c
create mode 100644 drivers/pci/ecam.h

[...]