diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2005-11-30 00:57:28 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-01-08 22:51:26 -0500 |
commit | d2dd482bc17c3bc240045f80a7c4b4d5cea5e29c (patch) | |
tree | 9c40a9ab9a04839f2d578f9d47985b399074ce58 /arch/ppc/kernel/pci.c | |
parent | bb6b9b28d6847bc71f910e2e82c9040ff4b97ec0 (diff) |
[PATCH] powerpc: Update OF address parsers
This updates the OF address parsers to return the IO flags
indicating the type of address obtained. It also adds a PCI
call for converting physical addresses that hit IO space into
into IO tokens, and add routines that return the translated
addresses into struct resource
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc/kernel/pci.c')
-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 |