diff options
Diffstat (limited to 'arch/powerpc/kernel/pci-common.c')
| -rw-r--r-- | arch/powerpc/kernel/pci-common.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c index e8dfdbd9327a..cadbed679fbb 100644 --- a/arch/powerpc/kernel/pci-common.c +++ b/arch/powerpc/kernel/pci-common.c | |||
| @@ -1107,6 +1107,12 @@ void __devinit pcibios_setup_bus_devices(struct pci_bus *bus) | |||
| 1107 | list_for_each_entry(dev, &bus->devices, bus_list) { | 1107 | list_for_each_entry(dev, &bus->devices, bus_list) { |
| 1108 | struct dev_archdata *sd = &dev->dev.archdata; | 1108 | struct dev_archdata *sd = &dev->dev.archdata; |
| 1109 | 1109 | ||
| 1110 | /* Cardbus can call us to add new devices to a bus, so ignore | ||
| 1111 | * those who are already fully discovered | ||
| 1112 | */ | ||
| 1113 | if (dev->is_added) | ||
| 1114 | continue; | ||
| 1115 | |||
| 1110 | /* Setup OF node pointer in archdata */ | 1116 | /* Setup OF node pointer in archdata */ |
| 1111 | sd->of_node = pci_device_to_OF_node(dev); | 1117 | sd->of_node = pci_device_to_OF_node(dev); |
| 1112 | 1118 | ||
| @@ -1147,6 +1153,13 @@ void __devinit pcibios_fixup_bus(struct pci_bus *bus) | |||
| 1147 | } | 1153 | } |
| 1148 | EXPORT_SYMBOL(pcibios_fixup_bus); | 1154 | EXPORT_SYMBOL(pcibios_fixup_bus); |
| 1149 | 1155 | ||
| 1156 | void __devinit pci_fixup_cardbus(struct pci_bus *bus) | ||
| 1157 | { | ||
| 1158 | /* Now fixup devices on that bus */ | ||
| 1159 | pcibios_setup_bus_devices(bus); | ||
| 1160 | } | ||
| 1161 | |||
| 1162 | |||
| 1150 | static int skip_isa_ioresource_align(struct pci_dev *dev) | 1163 | static int skip_isa_ioresource_align(struct pci_dev *dev) |
| 1151 | { | 1164 | { |
| 1152 | if ((ppc_pci_flags & PPC_PCI_CAN_SKIP_ISA_ALIGN) && | 1165 | if ((ppc_pci_flags & PPC_PCI_CAN_SKIP_ISA_ALIGN) && |
