|
@@ -989,6 +989,7 @@ lba_pat_resources(struct parisc_device *pa_dev, struct lba_device *lba_dev)
|
|
|
case PAT_PBNUM:
|
|
|
lba_dev->hba.bus_num.start = p->start;
|
|
|
lba_dev->hba.bus_num.end = p->end;
|
|
|
+ lba_dev->hba.bus_num.flags = IORESOURCE_BUS;
|
|
|
break;
|
|
|
|
|
|
case PAT_LMMIO:
|
|
@@ -1366,6 +1367,7 @@ lba_driver_probe(struct parisc_device *dev)
|
|
|
void *tmp_obj;
|
|
|
char *version;
|
|
|
void __iomem *addr = ioremap_nocache(dev->hpa.start, 4096);
|
|
|
+ int max;
|
|
|
|
|
|
/* Read HW Rev First */
|
|
|
func_class = READ_REG32(addr + LBA_FCLASS);
|
|
@@ -1502,6 +1504,8 @@ lba_driver_probe(struct parisc_device *dev)
|
|
|
if (lba_dev->hba.gmmio_space.flags)
|
|
|
pci_add_resource(&resources, &lba_dev->hba.gmmio_space);
|
|
|
|
|
|
+ pci_add_resource(&resources, &lba_dev->hba.bus_num);
|
|
|
+
|
|
|
dev->dev.platform_data = lba_dev;
|
|
|
lba_bus = lba_dev->hba.hba_bus =
|
|
|
pci_create_root_bus(&dev->dev, lba_dev->hba.bus_num.start,
|
|
@@ -1511,7 +1515,7 @@ lba_driver_probe(struct parisc_device *dev)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
- lba_bus->busn_res.end = pci_scan_child_bus(lba_bus);
|
|
|
+ max = pci_scan_child_bus(lba_bus);
|
|
|
|
|
|
/* This is in lieu of calling pci_assign_unassigned_resources() */
|
|
|
if (is_pdc_pat()) {
|
|
@@ -1541,7 +1545,7 @@ lba_driver_probe(struct parisc_device *dev)
|
|
|
lba_dev->flags |= LBA_FLAG_SKIP_PROBE;
|
|
|
}
|
|
|
|
|
|
- lba_next_bus = lba_res->busn_res.end + 1;
|
|
|
+ lba_next_bus = max + 1;
|
|
|
pci_bus_add_devices(lba_bus);
|
|
|
|
|
|
/* Whew! Finally done! Tell services we got this one covered. */
|