summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/io.h
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2009-02-06 13:29:52 -0800
committerJeremy Fitzhardinge <jeremy@goop.org>2009-02-06 13:29:52 -0800
commit133822c5c038b265ddb6545cda3a4c88815c7d3d (patch)
treedaa2e77d813a26e5199285dc60dabd3baeeeb0ae /arch/x86/include/asm/io.h
parent976e8f677e42757e5586ea04a9ac8bb8ddaa037e (diff)
downloadop-kernel-dev-133822c5c038b265ddb6545cda3a4c88815c7d3d.zip
op-kernel-dev-133822c5c038b265ddb6545cda3a4c88815c7d3d.tar.gz
x86: asm/io.h: unify ioremap prototypes
Impact: unify identical code asm/io_32.h and _64.h have identical prototypes for the ioremap family of functions. The 32-bit header had a more descriptive comment. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Diffstat (limited to 'arch/x86/include/asm/io.h')
-rw-r--r--arch/x86/include/asm/io.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index 919e3b1..f150b1e 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -138,6 +138,37 @@ static inline void *phys_to_virt(phys_addr_t address)
#define virt_to_bus virt_to_phys
#define bus_to_virt phys_to_virt
+/**
+ * ioremap - map bus memory into CPU space
+ * @offset: bus address of the memory
+ * @size: size of the resource to map
+ *
+ * ioremap performs a platform specific sequence of operations to
+ * make bus memory CPU accessible via the readb/readw/readl/writeb/
+ * writew/writel functions and the other mmio helpers. The returned
+ * address is not guaranteed to be usable directly as a virtual
+ * address.
+ *
+ * If the area you are trying to map is a PCI BAR you should have a
+ * look at pci_iomap().
+ */
+extern void __iomem *ioremap_nocache(resource_size_t offset, unsigned long size);
+extern void __iomem *ioremap_cache(resource_size_t offset, unsigned long size);
+extern void __iomem *ioremap_prot(resource_size_t offset, unsigned long size,
+ unsigned long prot_val);
+
+/*
+ * The default ioremap() behavior is non-cached:
+ */
+static inline void __iomem *ioremap(resource_size_t offset, unsigned long size)
+{
+ return ioremap_nocache(offset, size);
+}
+
+extern void iounmap(volatile void __iomem *addr);
+
+extern void __iomem *fix_ioremap(unsigned idx, unsigned long phys);
+
#ifdef CONFIG_X86_32
# include "io_32.h"
OpenPOWER on IntegriCloud