|
@@ -689,23 +689,7 @@ lba_fixup_bus(struct pci_bus *bus)
|
|
|
bus->resource[i++] = &(ldev->hba.elmmio_space);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- /* Overlaps with elmmio can (and should) fail here.
|
|
|
- * We will prune (or ignore) the distributed range.
|
|
|
- *
|
|
|
- * FIXME: SBA code should register all elmmio ranges first.
|
|
|
- * that would take care of elmmio ranges routed
|
|
|
- * to a different rope (already discovered) from
|
|
|
- * getting registered *after* LBA code has already
|
|
|
- * registered it's distributed lmmio range.
|
|
|
- */
|
|
|
- if (truncate_pat_collision(&iomem_resource,
|
|
|
- &(ldev->hba.lmmio_space))) {
|
|
|
-
|
|
|
- printk(KERN_WARNING "LBA: lmmio_space [%lx/%lx] duplicate!\n",
|
|
|
- (long)ldev->hba.lmmio_space.start,
|
|
|
- (long)ldev->hba.lmmio_space.end);
|
|
|
- } else {
|
|
|
+ if (ldev->hba.lmmio_space.flags) {
|
|
|
err = request_resource(&iomem_resource, &(ldev->hba.lmmio_space));
|
|
|
if (err < 0) {
|
|
|
printk(KERN_ERR "FAILED: lba_fixup_bus() request for "
|
|
@@ -1518,6 +1502,23 @@ lba_driver_probe(struct parisc_device *dev)
|
|
|
if (lba_dev->hba.bus_num.start < lba_next_bus)
|
|
|
lba_dev->hba.bus_num.start = lba_next_bus;
|
|
|
|
|
|
+ /* Overlaps with elmmio can (and should) fail here.
|
|
|
+ * We will prune (or ignore) the distributed range.
|
|
|
+ *
|
|
|
+ * FIXME: SBA code should register all elmmio ranges first.
|
|
|
+ * that would take care of elmmio ranges routed
|
|
|
+ * to a different rope (already discovered) from
|
|
|
+ * getting registered *after* LBA code has already
|
|
|
+ * registered it's distributed lmmio range.
|
|
|
+ */
|
|
|
+ if (truncate_pat_collision(&iomem_resource,
|
|
|
+ &(lba_dev->hba.lmmio_space))) {
|
|
|
+ printk(KERN_WARNING "LBA: lmmio_space [%lx/%lx] duplicate!\n",
|
|
|
+ (long)lba_dev->hba.lmmio_space.start,
|
|
|
+ (long)lba_dev->hba.lmmio_space.end);
|
|
|
+ lba_dev->hba.lmmio_space.flags = 0;
|
|
|
+ }
|
|
|
+
|
|
|
dev->dev.platform_data = lba_dev;
|
|
|
lba_bus = lba_dev->hba.hba_bus =
|
|
|
pci_scan_bus_parented(&dev->dev, lba_dev->hba.bus_num.start,
|