|
@@ -59,6 +59,24 @@ LIST_HEAD(hose_list);
|
|
|
|
|
|
static int pci_bus_count;
|
|
|
|
|
|
+static void
|
|
|
+fixup_hide_host_resource_fsl(struct pci_dev* dev)
|
|
|
+{
|
|
|
+ int i, class = dev->class >> 8;
|
|
|
+
|
|
|
+ if ((class == PCI_CLASS_PROCESSOR_POWERPC) &&
|
|
|
+ (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);
|
|
|
+
|
|
|
static void
|
|
|
fixup_broken_pcnet32(struct pci_dev* dev)
|
|
|
{
|
|
@@ -1229,7 +1247,7 @@ pcibios_init(void)
|
|
|
|
|
|
subsys_initcall(pcibios_init);
|
|
|
|
|
|
-void __init pcibios_fixup_bus(struct pci_bus *bus)
|
|
|
+void pcibios_fixup_bus(struct pci_bus *bus)
|
|
|
{
|
|
|
struct pci_controller *hose = (struct pci_controller *) bus->sysdata;
|
|
|
unsigned long io_offset;
|