diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2011-05-19 22:26:18 -0500 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2011-06-22 21:44:57 -0500 |
commit | c065488f1acfc0be75584c0fe156fc806820f39d (patch) | |
tree | ea1f1c03cb52674dcc861f3882d6a4d73f078313 /arch/powerpc/kernel/pci-common.c | |
parent | 2602a21231645f0923595a6ae2757222f6802e3f (diff) | |
download | blackbird-op-linux-c065488f1acfc0be75584c0fe156fc806820f39d.tar.gz blackbird-op-linux-c065488f1acfc0be75584c0fe156fc806820f39d.zip |
powerpc/pci: Move FSL fixup from 32-bit to common
We need the FSL specific header fixup code on both 32-bit and 64-bit
platforms so just move the code into pci-common.c.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/pci-common.c')
-rw-r--r-- | arch/powerpc/kernel/pci-common.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c index 893af2a9cd03..4f134132c195 100644 --- a/arch/powerpc/kernel/pci-common.c +++ b/arch/powerpc/kernel/pci-common.c @@ -1728,3 +1728,21 @@ void __devinit pcibios_scan_phb(struct pci_controller *hose) if (mode == PCI_PROBE_NORMAL) hose->last_busno = bus->subordinate = pci_scan_child_bus(bus); } + +static void fixup_hide_host_resource_fsl(struct pci_dev *dev) +{ + int i, class = dev->class >> 8; + + if ((class == PCI_CLASS_PROCESSOR_POWERPC || + class == PCI_CLASS_BRIDGE_OTHER) && + (dev->hdr_type == PCI_HEADER_TYPE_NORMAL) && + (dev->bus->parent == NULL)) { + for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { + dev->resource[i].start = 0; + dev->resource[i].end = 0; + dev->resource[i].flags = 0; + } + } +} +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MOTOROLA, PCI_ANY_ID, fixup_hide_host_resource_fsl); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_FREESCALE, PCI_ANY_ID, fixup_hide_host_resource_fsl); |