|
@@ -292,8 +292,25 @@ pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region,
|
|
|
region->end = res->end - offset;
|
|
|
}
|
|
|
|
|
|
+void __devinit
|
|
|
+pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res,
|
|
|
+ struct pci_bus_region *region)
|
|
|
+{
|
|
|
+ struct pci_controller *hose = (struct pci_controller *)dev->sysdata;
|
|
|
+ unsigned long offset = 0;
|
|
|
+
|
|
|
+ if (res->flags & IORESOURCE_IO)
|
|
|
+ offset = hose->io_offset;
|
|
|
+ else if (res->flags & IORESOURCE_MEM)
|
|
|
+ offset = hose->mem_offset;
|
|
|
+
|
|
|
+ res->start = region->start + offset;
|
|
|
+ res->end = region->end + offset;
|
|
|
+}
|
|
|
+
|
|
|
#ifdef CONFIG_HOTPLUG
|
|
|
EXPORT_SYMBOL(pcibios_resource_to_bus);
|
|
|
+EXPORT_SYMBOL(pcibios_bus_to_resource);
|
|
|
EXPORT_SYMBOL(PCIBIOS_MIN_IO);
|
|
|
EXPORT_SYMBOL(PCIBIOS_MIN_MEM);
|
|
|
#endif
|