[PATCH 00/16] PCI generic configuration space accessors

From: Rob Herring
Date: Fri Jan 09 2015 - 21:35:34 EST


This series adds common accessor functions for PCI configuration space
accesses. This supports most PCI hosts with memory mapped configuration
space like ECAM or hosts with memory mapped address/data registers. ECAM
is not generically supported by this series, but could be added on top
of this. While some hosts have standard address decoding which could be
common as well, the various checks on bus numbers and device numbers are
quite varied. It is unclear how much of that is really necessary or
could be common.

The first 4 patches are preparatory cleanup. Patch 5 introduces the
common accessors. The remaining patches convert several PCI host
controllers. This is in no way a complete list of host controllers. The
conversion of more hosts should be possible. The Designware controller
in particular should be able to be converted, but its config space
accessors are a mess of override-able functions that I've not gotten my
head around.

This series is available here [1].

Rob

[1] git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git pci-config-access

Rob Herring (16):
frv: add struct pci_ops member names to initialization
mips: add struct pci_ops member names to initialization
mn10300: add struct pci_ops member names to initialization
powerpc: add struct pci_ops member names to initialization
pci: introduce common pci config space accessors
ARM: cns3xxx: convert PCI to use generic config accesses
ARM: integrator: convert PCI to use generic config accesses
ARM: sa1100: convert PCI to use generic config accesses
ARM: ks8695: convert PCI to use generic config accesses
powerpc: fsl_pci: convert PCI to use generic config accesses
powerpc: powermac: convert PCI to use generic config accesses
pci/host: generic: convert to use generic config accesses
pci/host: rcar-gen2: convert to use generic config accesses
pci/host: tegra: convert to use generic config accesses
pci/host: xgene: convert to use generic config accesses
pci/host: xilinx: convert to use generic config accesses

arch/arm/mach-cns3xxx/pcie.c | 52 ++----
arch/arm/mach-integrator/pci_v3.c | 61 +-------
arch/arm/mach-ks8695/pci.c | 77 +--------
arch/arm/mach-sa1100/pci-nanoengine.c | 94 +----------
arch/frv/mb93090-mb00/pci-vdk.c | 4 +-
arch/mips/pci/pci-bcm1480.c | 4 +-
arch/mips/pci/pci-octeon.c | 4 +-
arch/mips/pci/pcie-octeon.c | 12 +-
arch/mn10300/unit-asb2305/pci.c | 4 +-
arch/powerpc/platforms/cell/celleb_scc_pciex.c | 4 +-
arch/powerpc/platforms/powermac/pci.c | 209 +++++--------------------
arch/powerpc/sysdev/fsl_pci.c | 46 +-----
drivers/pci/access.c | 87 ++++++++++
drivers/pci/host/pci-host-generic.c | 51 +-----
drivers/pci/host/pci-rcar-gen2.c | 51 +-----
drivers/pci/host/pci-tegra.c | 55 +------
drivers/pci/host/pci-xgene.c | 150 ++----------------
drivers/pci/host/pcie-xilinx.c | 88 ++---------
include/linux/pci.h | 11 ++
19 files changed, 212 insertions(+), 852 deletions(-)

--
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/