提交 4ba2aef3 编写于 作者: B Bjorn Helgaas

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: NBjorn Helgaas <bhelgaas@google.com>
上级 ac1edcc5
...@@ -153,7 +153,7 @@ static void __init pci_controller_apertures(struct pci_controller *pci_ctrl, ...@@ -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); ...@@ -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;
}
}
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册