diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/parisc/lba_pci.c | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/drivers/parisc/lba_pci.c b/drivers/parisc/lba_pci.c index 3aeb3279c92a..2c7edf3a6cd0 100644 --- a/drivers/parisc/lba_pci.c +++ b/drivers/parisc/lba_pci.c | |||
@@ -689,23 +689,7 @@ lba_fixup_bus(struct pci_bus *bus) | |||
689 | bus->resource[i++] = &(ldev->hba.elmmio_space); | 689 | bus->resource[i++] = &(ldev->hba.elmmio_space); |
690 | } | 690 | } |
691 | 691 | ||
692 | 692 | if (ldev->hba.lmmio_space.flags) { | |
693 | /* Overlaps with elmmio can (and should) fail here. | ||
694 | * We will prune (or ignore) the distributed range. | ||
695 | * | ||
696 | * FIXME: SBA code should register all elmmio ranges first. | ||
697 | * that would take care of elmmio ranges routed | ||
698 | * to a different rope (already discovered) from | ||
699 | * getting registered *after* LBA code has already | ||
700 | * registered it's distributed lmmio range. | ||
701 | */ | ||
702 | if (truncate_pat_collision(&iomem_resource, | ||
703 | &(ldev->hba.lmmio_space))) { | ||
704 | |||
705 | printk(KERN_WARNING "LBA: lmmio_space [%lx/%lx] duplicate!\n", | ||
706 | (long)ldev->hba.lmmio_space.start, | ||
707 | (long)ldev->hba.lmmio_space.end); | ||
708 | } else { | ||
709 | err = request_resource(&iomem_resource, &(ldev->hba.lmmio_space)); | 693 | err = request_resource(&iomem_resource, &(ldev->hba.lmmio_space)); |
710 | if (err < 0) { | 694 | if (err < 0) { |
711 | printk(KERN_ERR "FAILED: lba_fixup_bus() request for " | 695 | printk(KERN_ERR "FAILED: lba_fixup_bus() request for " |
@@ -1518,6 +1502,23 @@ lba_driver_probe(struct parisc_device *dev) | |||
1518 | if (lba_dev->hba.bus_num.start < lba_next_bus) | 1502 | if (lba_dev->hba.bus_num.start < lba_next_bus) |
1519 | lba_dev->hba.bus_num.start = lba_next_bus; | 1503 | lba_dev->hba.bus_num.start = lba_next_bus; |
1520 | 1504 | ||
1505 | /* Overlaps with elmmio can (and should) fail here. | ||
1506 | * We will prune (or ignore) the distributed range. | ||
1507 | * | ||
1508 | * FIXME: SBA code should register all elmmio ranges first. | ||
1509 | * that would take care of elmmio ranges routed | ||
1510 | * to a different rope (already discovered) from | ||
1511 | * getting registered *after* LBA code has already | ||
1512 | * registered it's distributed lmmio range. | ||
1513 | */ | ||
1514 | if (truncate_pat_collision(&iomem_resource, | ||
1515 | &(lba_dev->hba.lmmio_space))) { | ||
1516 | printk(KERN_WARNING "LBA: lmmio_space [%lx/%lx] duplicate!\n", | ||
1517 | (long)lba_dev->hba.lmmio_space.start, | ||
1518 | (long)lba_dev->hba.lmmio_space.end); | ||
1519 | lba_dev->hba.lmmio_space.flags = 0; | ||
1520 | } | ||
1521 | |||
1521 | dev->dev.platform_data = lba_dev; | 1522 | dev->dev.platform_data = lba_dev; |
1522 | lba_bus = lba_dev->hba.hba_bus = | 1523 | lba_bus = lba_dev->hba.hba_bus = |
1523 | pci_scan_bus_parented(&dev->dev, lba_dev->hba.bus_num.start, | 1524 | pci_scan_bus_parented(&dev->dev, lba_dev->hba.bus_num.start, |