xtensa/PCI: get rid of device resource fixups
Tell the PCI core about host bridge address translation so it can take care of bus-to-resource conversion for us. CC: Chris Zankel <chris@zankel.net> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
@@ -153,7 +153,7 @@ static void __init pci_controller_apertures(struct pci_controller *pci_ctrl,
|
|||||||
}
|
}
|
||||||
res->start += io_offset;
|
res->start += io_offset;
|
||||||
res->end += io_offset;
|
res->end += io_offset;
|
||||||
pci_add_resource(resources, res);
|
pci_add_resource_offset(resources, res, io_offset);
|
||||||
|
|
||||||
for (i = 0; i < 3; i++) {
|
for (i = 0; i < 3; i++) {
|
||||||
res = &pci_ctrl->mem_resources[i];
|
res = &pci_ctrl->mem_resources[i];
|
||||||
@@ -200,24 +200,9 @@ subsys_initcall(pcibios_init);
|
|||||||
|
|
||||||
void __init pcibios_fixup_bus(struct pci_bus *bus)
|
void __init pcibios_fixup_bus(struct pci_bus *bus)
|
||||||
{
|
{
|
||||||
struct pci_controller *pci_ctrl = bus->sysdata;
|
|
||||||
struct resource *res;
|
|
||||||
unsigned long io_offset;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
io_offset = (unsigned long)pci_ctrl->io_space.base;
|
|
||||||
if (bus->parent) {
|
if (bus->parent) {
|
||||||
/* This is a subordinate bridge */
|
/* This is a subordinate bridge */
|
||||||
pci_read_bridge_bases(bus);
|
pci_read_bridge_bases(bus);
|
||||||
|
|
||||||
for (i = 0; i < 4; i++) {
|
|
||||||
if ((res = bus->resource[i]) == NULL || !res->flags)
|
|
||||||
continue;
|
|
||||||
if (io_offset && (res->flags & IORESOURCE_IO)) {
|
|
||||||
res->start += io_offset;
|
|
||||||
res->end += io_offset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user