diff options
Diffstat (limited to 'arch/alpha/kernel/pci.c')
| -rw-r--r-- | arch/alpha/kernel/pci.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c index 1f36bbd0ed5d..2a8b364c822e 100644 --- a/arch/alpha/kernel/pci.c +++ b/arch/alpha/kernel/pci.c | |||
| @@ -350,8 +350,24 @@ pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region, | |||
| 350 | region->end = res->end - offset; | 350 | region->end = res->end - offset; |
| 351 | } | 351 | } |
| 352 | 352 | ||
| 353 | void pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res, | ||
| 354 | struct pci_bus_region *region) | ||
| 355 | { | ||
| 356 | struct pci_controller *hose = (struct pci_controller *)dev->sysdata; | ||
| 357 | unsigned long offset = 0; | ||
| 358 | |||
| 359 | if (res->flags & IORESOURCE_IO) | ||
| 360 | offset = hose->io_space->start; | ||
| 361 | else if (res->flags & IORESOURCE_MEM) | ||
| 362 | offset = hose->mem_space->start; | ||
| 363 | |||
| 364 | res->start = region->start + offset; | ||
| 365 | res->end = region->end + offset; | ||
| 366 | } | ||
| 367 | |||
| 353 | #ifdef CONFIG_HOTPLUG | 368 | #ifdef CONFIG_HOTPLUG |
| 354 | EXPORT_SYMBOL(pcibios_resource_to_bus); | 369 | EXPORT_SYMBOL(pcibios_resource_to_bus); |
| 370 | EXPORT_SYMBOL(pcibios_bus_to_resource); | ||
| 355 | #endif | 371 | #endif |
| 356 | 372 | ||
| 357 | int | 373 | int |
