[PATCH 0/8] ARM PCI cleanups

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch set cleans up some of the ARM PCI support code, mostly
targetting the way the swizzling works.

We used to interpret a NULL swizzle method as meaning "no swizzling".
However, the common case is to use the standard PCI swizzle function.
Lets instead make the default swizzle method (i.e. NULL) mean the PCI
swizzle function, and those cases which really do want no swizzling
have to provide their own function.

Arguably, the 'no swizzle' case is wrong, because the swizzle is there
to deal with PCI cards which themselves have PCI-to-PCI bridges on, and
these won't work without this support.

We also provide sys->private_data for platforms to use.  Some PCIe
support code ignored this and used all kinds of horrid tricks to get
at their private data.  This patch set switches them to use this private
data pointer instead, as they should have done in the first place.

Finally, we provide a standard bus scanning method, with the PCI
configuration ops via our sysdata instead of having every platform
provide a function where the only difference is the 'ops' pointer
provided to pci_scan_root_bus().

While I realize that some platforms touched by this set are going to
be removed, that removal is not in my tree, and avoiding this will
cause those platforms to break.  So they're included in these updates
at the moment.

 arch/arm/common/it8152.c                       |    7 +----
 arch/arm/common/via82c505.c                    |   11 +------
 arch/arm/include/asm/hardware/it8152.h         |    2 +-
 arch/arm/include/asm/mach/pci.h                |   17 ++++-------
 arch/arm/kernel/bios32.c                       |   37 ++++++++++++++++-------
 arch/arm/mach-cns3xxx/pcie.c                   |   12 +------
 arch/arm/mach-dove/pcie.c                      |   24 ++++-----------
 arch/arm/mach-footbridge/cats-pci.c            |    9 ++++-
 arch/arm/mach-footbridge/dc21285.c             |    7 +----
 arch/arm/mach-footbridge/ebsa285-pci.c         |    3 +-
 arch/arm/mach-footbridge/netwinder-pci.c       |    3 +-
 arch/arm/mach-footbridge/personal-pci.c        |    2 +-
 arch/arm/mach-integrator/pci.c                 |   19 ++---------
 arch/arm/mach-integrator/pci_v3.c              |    8 +----
 arch/arm/mach-iop13xx/iq81340mc.c              |    1 -
 arch/arm/mach-iop13xx/iq81340sc.c              |    1 -
 arch/arm/mach-iop32x/em7210.c                  |    3 +-
 arch/arm/mach-iop32x/glantank.c                |    3 +-
 arch/arm/mach-iop32x/iq31244.c                 |    6 +--
 arch/arm/mach-iop32x/iq80321.c                 |    3 +-
 arch/arm/mach-iop32x/n2100.c                   |    3 +-
 arch/arm/mach-iop33x/iq80331.c                 |    3 +-
 arch/arm/mach-iop33x/iq80332.c                 |    3 +-
 arch/arm/mach-ixp2000/enp2611.c                |    9 +-----
 arch/arm/mach-ixp2000/include/mach/platform.h  |    2 +-
 arch/arm/mach-ixp2000/ixdp2400.c               |    2 +-
 arch/arm/mach-ixp2000/ixdp2800.c               |    2 +-
 arch/arm/mach-ixp2000/ixdp2x01.c               |    2 +-
 arch/arm/mach-ixp2000/pci.c                    |    8 +----
 arch/arm/mach-ixp23xx/include/mach/platform.h  |    2 +-
 arch/arm/mach-ixp23xx/ixdp2351.c               |    2 +-
 arch/arm/mach-ixp23xx/pci.c                    |    6 ----
 arch/arm/mach-ixp23xx/roadrunner.c             |    2 +-
 arch/arm/mach-ixp4xx/avila-pci.c               |    3 +-
 arch/arm/mach-ixp4xx/common-pci.c              |    6 ----
 arch/arm/mach-ixp4xx/coyote-pci.c              |    3 +-
 arch/arm/mach-ixp4xx/dsmg600-pci.c             |    3 +-
 arch/arm/mach-ixp4xx/fsg-pci.c                 |    3 +-
 arch/arm/mach-ixp4xx/gateway7001-pci.c         |    3 +-
 arch/arm/mach-ixp4xx/goramo_mlr.c              |    3 +-
 arch/arm/mach-ixp4xx/gtwx5715-pci.c            |    3 +-
 arch/arm/mach-ixp4xx/include/mach/platform.h   |    2 +-
 arch/arm/mach-ixp4xx/ixdp425-pci.c             |    3 +-
 arch/arm/mach-ixp4xx/ixdpg425-pci.c            |    3 +-
 arch/arm/mach-ixp4xx/miccpt-pci.c              |    3 +-
 arch/arm/mach-ixp4xx/nas100d-pci.c             |    3 +-
 arch/arm/mach-ixp4xx/nslu2-pci.c               |    3 +-
 arch/arm/mach-ixp4xx/vulcan-pci.c              |    3 +-
 arch/arm/mach-ixp4xx/wg302v2-pci.c             |    3 +-
 arch/arm/mach-kirkwood/pcie.c                  |   16 ++++------
 arch/arm/mach-ks8695/pci.c                     |    9 +-----
 arch/arm/mach-mv78xx0/pcie.c                   |   24 ++++-----------
 arch/arm/mach-orion5x/db88f5281-setup.c        |    1 -
 arch/arm/mach-orion5x/dns323-setup.c           |    1 -
 arch/arm/mach-orion5x/kurobox_pro-setup.c      |    1 -
 arch/arm/mach-orion5x/mss2-setup.c             |    1 -
 arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c   |    1 -
 arch/arm/mach-orion5x/rd88f5181l-ge-setup.c    |    1 -
 arch/arm/mach-orion5x/rd88f5182-setup.c        |    1 -
 arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c   |    1 -
 arch/arm/mach-orion5x/terastation_pro2-setup.c |    1 -
 arch/arm/mach-orion5x/ts209-setup.c            |    1 -
 arch/arm/mach-orion5x/ts409-setup.c            |    1 -
 arch/arm/mach-orion5x/wnr854t-setup.c          |    1 -
 arch/arm/mach-orion5x/wrt350n-v2-setup.c       |    1 -
 arch/arm/mach-pxa/cm-x2xx-pci.c                |    3 +-
 arch/arm/mach-sa1100/pci-nanoengine.c          |    8 +----
 arch/arm/mach-shark/pci.c                      |    3 +-
 arch/arm/mach-tegra/pcie.c                     |    1 -
 arch/arm/mach-versatile/pci.c                  |   13 +-------
 arch/arm/plat-iop/pci.c                        |    8 +----
 71 files changed, 112 insertions(+), 260 deletions(-)


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [CentOS ARM]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]

  Powered by Linux