diff options
Diffstat (limited to 'arch/i386/pci/common.c')
-rw-r--r-- | arch/i386/pci/common.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/i386/pci/common.c b/arch/i386/pci/common.c index 720975e1af50..70bcd53451f6 100644 --- a/arch/i386/pci/common.c +++ b/arch/i386/pci/common.c | |||
@@ -25,7 +25,8 @@ unsigned int pci_probe = PCI_PROBE_BIOS | PCI_PROBE_CONF1 | PCI_PROBE_CONF2 | | |||
25 | 25 | ||
26 | int pci_routeirq; | 26 | int pci_routeirq; |
27 | int pcibios_last_bus = -1; | 27 | int pcibios_last_bus = -1; |
28 | struct pci_bus *pci_root_bus = NULL; | 28 | unsigned long pirq_table_addr; |
29 | struct pci_bus *pci_root_bus; | ||
29 | struct pci_raw_ops *raw_pci_ops; | 30 | struct pci_raw_ops *raw_pci_ops; |
30 | 31 | ||
31 | static int pci_read(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 *value) | 32 | static int pci_read(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 *value) |
@@ -133,7 +134,7 @@ struct pci_bus * __devinit pcibios_scan_root(int busnum) | |||
133 | 134 | ||
134 | printk("PCI: Probing PCI hardware (bus %02x)\n", busnum); | 135 | printk("PCI: Probing PCI hardware (bus %02x)\n", busnum); |
135 | 136 | ||
136 | return pci_scan_bus(busnum, &pci_root_ops, NULL); | 137 | return pci_scan_bus_parented(NULL, busnum, &pci_root_ops, NULL); |
137 | } | 138 | } |
138 | 139 | ||
139 | extern u8 pci_cache_line_size; | 140 | extern u8 pci_cache_line_size; |
@@ -164,6 +165,7 @@ static int __init pcibios_init(void) | |||
164 | if ((pci_probe & PCI_BIOS_SORT) && !(pci_probe & PCI_NO_SORT)) | 165 | if ((pci_probe & PCI_BIOS_SORT) && !(pci_probe & PCI_NO_SORT)) |
165 | pcibios_sort(); | 166 | pcibios_sort(); |
166 | #endif | 167 | #endif |
168 | pci_assign_unassigned_resources(); | ||
167 | return 0; | 169 | return 0; |
168 | } | 170 | } |
169 | 171 | ||
@@ -188,6 +190,9 @@ char * __devinit pcibios_setup(char *str) | |||
188 | } else if (!strcmp(str, "biosirq")) { | 190 | } else if (!strcmp(str, "biosirq")) { |
189 | pci_probe |= PCI_BIOS_IRQ_SCAN; | 191 | pci_probe |= PCI_BIOS_IRQ_SCAN; |
190 | return NULL; | 192 | return NULL; |
193 | } else if (!strncmp(str, "pirqaddr=", 9)) { | ||
194 | pirq_table_addr = simple_strtoul(str+9, NULL, 0); | ||
195 | return NULL; | ||
191 | } | 196 | } |
192 | #endif | 197 | #endif |
193 | #ifdef CONFIG_PCI_DIRECT | 198 | #ifdef CONFIG_PCI_DIRECT |