diff options
Diffstat (limited to 'arch/ppc')
-rw-r--r-- | arch/ppc/kernel/pci.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/ppc/kernel/pci.c b/arch/ppc/kernel/pci.c index 0aa184112fb1..af364003880b 100644 --- a/arch/ppc/kernel/pci.c +++ b/arch/ppc/kernel/pci.c | |||
@@ -1805,6 +1805,21 @@ void pci_iounmap(struct pci_dev *dev, void __iomem *addr) | |||
1805 | EXPORT_SYMBOL(pci_iomap); | 1805 | EXPORT_SYMBOL(pci_iomap); |
1806 | EXPORT_SYMBOL(pci_iounmap); | 1806 | EXPORT_SYMBOL(pci_iounmap); |
1807 | 1807 | ||
1808 | unsigned int pci_address_to_pio(phys_addr_t address) | ||
1809 | { | ||
1810 | struct pci_controller* hose = hose_head; | ||
1811 | |||
1812 | for (; hose; hose = hose->next) { | ||
1813 | unsigned int size = hose->io_resource.end - | ||
1814 | hose->io_resource.start + 1; | ||
1815 | if (address >= hose->io_base_phys && | ||
1816 | address < (hose->io_base_phys + size)) | ||
1817 | return (unsigned int)hose->io_base_virt + | ||
1818 | (address - hose->io_base_phys); | ||
1819 | } | ||
1820 | return (unsigned int)-1; | ||
1821 | } | ||
1822 | EXPORT_SYMBOL(pci_address_to_pio); | ||
1808 | 1823 | ||
1809 | /* | 1824 | /* |
1810 | * Null PCI config access functions, for the case when we can't | 1825 | * Null PCI config access functions, for the case when we can't |