Skip to content

PCI generic configuration space accessors

Rob Herring linux-arm-kernel linux-mips linux-pci linux-sh linux-tegra linuxppc-dev lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest16 patches 16 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/16frv: add struct pci_ops member names to initializationarch/frv/mb93090-mb00/pci-vdk.c+2 -20 replies
2/16mips: add struct pci_ops member names to initializationarch/mips/pci/pci-bcm1480.c arch/mips/pci/pci-octeon.c arch/mips/pci/pcie-octeon.c+10 -100 replies
3/16mn10300: add struct pci_ops member names to initializationarch/mn10300/unit-asb2305/pci.c+2 -20 replies
4/16powerpc: add struct pci_ops member names to initializationarch/powerpc/platforms/cell/celleb_scc_pciex.c+2 -20 replies
5/16pci: introduce common pci config space accessorsdrivers/pci/access.c include/linux/pci.h+98 -02 replies
6/16ARM: cns3xxx: convert PCI to use generic config accessesarch/arm/mach-cns3xxx/pcie.c+10 -422 replies
7/16ARM: integrator: convert PCI to use generic config accessesarch/arm/mach-integrator/pci_v3.c+5 -566 replies
8/16ARM: sa1100: convert PCI to use generic config accessesarch/arm/mach-sa1100/pci-nanoengine.c+8 -860 replies
9/16ARM: ks8695: convert PCI to use generic config accessesarch/arm/mach-ks8695/pci.c+6 -711 reply
10/16powerpc: fsl_pci: convert PCI to use generic config accessesarch/powerpc/sysdev/fsl_pci.c+3 -430 replies
11/16powerpc: powermac: convert PCI to use generic config accessesarch/powerpc/platforms/powermac/pci.c+39 -1700 replies
12/16pci/host: generic: convert to use generic config accessesdrivers/pci/host/pci-host-generic.c+3 -481 reply
13/16pci/host: rcar-gen2: convert to use generic config accessesdrivers/pci/host/pci-rcar-gen2.c+3 -481 reply
14/16pci/host: tegra: convert to use generic config accessesdrivers/pci/host/pci-tegra.c+3 -521 reply
15/16pci/host: xgene: convert to use generic config accessesdrivers/pci/host/pci-xgene.c+9 -1410 replies
16/16pci/host: xilinx: convert to use generic config accessesdrivers/pci/host/pcie-xilinx.c+9 -790 replies

Reviews trailers per patch

7 of 16 patches have a Reviewed-by or Acked-by.

PatchLinus WalleijGeert UytterhoevenThierry RedingGreg UngererWill DeaconKrzysztof Hałasa
1/16
2/16
3/16
4/16
5/16R-b T-b
6/16A-b
7/16A-b A-b
8/16
9/16A-b
10/16
11/16
12/16A-b
13/16A-b
14/16T-b A-b
15/16
16/16

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 6 reviewers.

Read the v1 thread

Cover letter [PATCH 00/16] PCI generic configuration space accessors

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(-)
Signature · 1 line
2.1.0