[PATCH 00/16] PCI: Re-factor 'pcibios_setup()'

From: Myron Stowe
Date: Mon Jun 25 2012 - 23:36:20 EST


Currently, all of the architectures implement their own 'pcibios_setup()'
routine. Most of the implementations do nothing so this patch introduces
a generic (__weak) routine into PCI's core that can be used by all
architectures as a default. If necessary, it can then be over-ridden by
architecture-specific code.

This series also cleans up 'pcibios_setup()' as necessary to consistently
use the "__init" section annotation.

Suggested by Bjorn Helgaas -
http://marc.info/?l=linux-kernel&m=134023745124680&w=2


It looks as if there is a bug in the CRIS architecture's version of
'pcibios_setup()'. It implements pcibios_setup() such that pci_setup()
doesn't look for any generic options. I included the fix for this in this
series. If this ends up not being correct - i.e. PCI support for CRIS
should be dropped - then that specific patch (which I included last in the
series) can be dropped.

Note: I do not have a cross-compile environment so I have only tested x86.
---

Myron Stowe (16):
cris/PCI: Factor 'pcibios_setup()' out of cris
xtensa/PCI: Factor 'pcibios_setup()' out of xtensa
x86/PCI: adjust section annotations for 'pcibios_setup()'
unicore32/PCI: adjust section annotations for 'pcibios_setup()'
tile/PCI: Factor 'pcibios_setup()' out of tile
sparc/PCI: Factor 'pcibios_setup()' out of sparc
sh/PCI: adjust section annotations for 'pcibios_setup()'
sh/PCI: Factor 'pcibios_setup()' out of sh
powerpc/PCI: Factor 'pcibios_setup()' out of powerpc
parisc/PCI: Factor 'pcibios_setup()' out of parisc
MIPS/PCI: adjust section annotations for 'pcibios_setup()'
MIPS/PCI: Factor 'pcibios_setup()' out of MIPS/pmc-sierra
microblaze/PCI: Factor 'pcibios_setup()' out of microblaze
ia64/PCI: Factor 'pcibios_setup' out of ia64
alpha/PCI: Factor 'pcibios_setup()' out of alpha
PCI: Pull 'pcibios_setup' up into PCI's core


arch/alpha/kernel/pci.c | 6 ------
arch/cris/arch-v32/drivers/pci/bios.c | 5 -----
arch/ia64/pci/pci.c | 9 ---------
arch/microblaze/pci/pci-common.c | 5 -----
arch/mips/pci/pci.c | 4 ++--
arch/mips/pmc-sierra/yosemite/ht.c | 11 -----------
arch/mips/txx9/generic/pci.c | 4 ++--
arch/parisc/kernel/pci.c | 5 -----
arch/powerpc/kernel/pci-common.c | 5 -----
arch/sh/drivers/pci/fixups-sdk7786.c | 4 ++--
arch/sh/drivers/pci/pci.c | 5 -----
arch/sparc/kernel/leon_pci.c | 8 --------
arch/sparc/kernel/pci.c | 5 -----
arch/sparc/kernel/pcic.c | 8 --------
arch/tile/kernel/pci.c | 10 ----------
arch/unicore32/kernel/pci.c | 2 +-
arch/x86/pci/common.c | 2 +-
arch/xtensa/kernel/pci.c | 6 ------
drivers/pci/pci.c | 12 ++++++++++++
include/linux/pci.h | 1 +
20 files changed, 21 insertions(+), 96 deletions(-)

--
--
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/