summaryrefslogtreecommitdiffstats
path: root/include/asm-ppc64/pci.h
diff options
context:
space:
mode:
authorMichael Ellerman2005-05-13 09:44:10 +0200
committerGreg Kroah-Hartman2005-06-28 06:52:45 +0200
commit2311b1f2bbd36fa5f366a7448c718b2556e0f02c (patch)
tree10e836c5c34893f8098464a5ae15aba351a7bb2a /include/asm-ppc64/pci.h
parent[PATCH] ACPI based I/O APIC hot-plug: acpiphp support (diff)
downloadkernel-qcow2-linux-2311b1f2bbd36fa5f366a7448c718b2556e0f02c.tar.gz
kernel-qcow2-linux-2311b1f2bbd36fa5f366a7448c718b2556e0f02c.tar.xz
kernel-qcow2-linux-2311b1f2bbd36fa5f366a7448c718b2556e0f02c.zip
[PATCH] PCI: fix-pci-mmap-on-ppc-and-ppc64.patch
This is an updated version of Ben's fix-pci-mmap-on-ppc-and-ppc64.patch which is in 2.6.12-rc4-mm1. It fixes the patch to work on PPC iSeries, removes some debug printks at Ben's request, and incorporates your fix-pci-mmap-on-ppc-and-ppc64-fix.patch also. Originally from Benjamin Herrenschmidt <benh@kernel.crashing.org> This patch was discussed at length on linux-pci and so far, the last iteration of it didn't raise any comment. It's effect is a nop on architecture that don't define the new pci_resource_to_user() callback anyway. It allows architecture like ppc who put weird things inside of PCI resource structures to convert to some different value for user visible ones. It also fixes mmap'ing of IO space on those archs. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/asm-ppc64/pci.h')
-rw-r--r--include/asm-ppc64/pci.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/asm-ppc64/pci.h b/include/asm-ppc64/pci.h
index 6cd593f660a0..411bf5dee394 100644
--- a/include/asm-ppc64/pci.h
+++ b/include/asm-ppc64/pci.h
@@ -136,6 +136,13 @@ extern pgprot_t pci_phys_mem_access_prot(struct file *file,
unsigned long size,
pgprot_t prot);
+#ifdef CONFIG_PPC_MULTIPLATFORM
+#define HAVE_ARCH_PCI_RESOURCE_TO_USER
+extern void pci_resource_to_user(const struct pci_dev *dev, int bar,
+ const struct resource *rsrc,
+ u64 *start, u64 *end);
+#endif /* CONFIG_PPC_MULTIPLATFORM */
+
#endif /* __KERNEL__ */