|
@@ -5,6 +5,20 @@
|
|
|
|
|
|
#include <linux/compiler.h>
|
|
|
|
|
|
+/*
|
|
|
+ * early_ioremap() and early_iounmap() are for temporary early boot-time
|
|
|
+ * mappings, before the real ioremap() is functional.
|
|
|
+ * A boot-time mapping is currently limited to at most 16 pages.
|
|
|
+ */
|
|
|
+#ifndef __ASSEMBLY__
|
|
|
+extern void early_ioremap_init(void);
|
|
|
+extern void early_ioremap_clear(void);
|
|
|
+extern void early_ioremap_reset(void);
|
|
|
+extern void *early_ioremap(unsigned long offset, unsigned long size);
|
|
|
+extern void early_iounmap(void *addr, unsigned long size);
|
|
|
+extern void __iomem *fix_ioremap(unsigned idx, unsigned long phys);
|
|
|
+#endif
|
|
|
+
|
|
|
#define build_mmio_read(name, size, type, reg, barrier) \
|
|
|
static inline type name(const volatile void __iomem *addr) \
|
|
|
{ type ret; asm volatile("mov" size " %1,%0":"=" reg (ret) \
|