On Fri, Jan 09, 2015 at 08:34:39PM -0600, Rob Herring wrote: > Many PCI controllers' configuration space accesses are memory mapped > varying only in address calculation and access checks. There are 2 main > access methods: a decoded address space such as ECAM or a single address > and data register similar to x86. This implementation can support both > cases as well as be used in cases that need additional pre or post access > handling. > > A new pci_ops member map_bus is introduced which can do access checks and > any necessary setup. It returns the address to use for the configuration > space access. The access types supported are 32-bit only accesses or > correct byte, word, or dword sized accesses. > > Signed-off-by: Rob Herring > Cc: Bjorn Helgaas > Cc: linux-pci@vger.kernel.org > --- > drivers/pci/access.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > include/linux/pci.h | 11 +++++++ > 2 files changed, 98 insertions(+) Reviewed-by: Thierry Reding Tested-by: Thierry Reding