diff options
| author | Luck, Tony <tony.luck@intel.com> | 2009-12-14 15:00:36 -0500 |
|---|---|---|
| committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-12-15 21:45:10 -0500 |
| commit | cd7bcf32d42b15891620b3f1387a00178b54291a (patch) | |
| tree | 89c87e8af349c09e8845898f575bdfe100557ec5 | |
| parent | 354bb65e6e0df0aaae0e5b1ea33948d8e0b61418 (diff) | |
implement early_io{re,un}map for ia64
Needed for commit 2c992208 ("intel-iommu: Detect DMAR in hyperspace at
probe time.) to build on IA64.
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
| -rw-r--r-- | arch/ia64/include/asm/io.h | 2 | ||||
| -rw-r--r-- | arch/ia64/mm/ioremap.c | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/arch/ia64/include/asm/io.h b/arch/ia64/include/asm/io.h index 0d9d16e2d949..cc8335eb3110 100644 --- a/arch/ia64/include/asm/io.h +++ b/arch/ia64/include/asm/io.h | |||
| @@ -424,6 +424,8 @@ __writeq (unsigned long val, volatile void __iomem *addr) | |||
| 424 | extern void __iomem * ioremap(unsigned long offset, unsigned long size); | 424 | extern void __iomem * ioremap(unsigned long offset, unsigned long size); |
| 425 | extern void __iomem * ioremap_nocache (unsigned long offset, unsigned long size); | 425 | extern void __iomem * ioremap_nocache (unsigned long offset, unsigned long size); |
| 426 | extern void iounmap (volatile void __iomem *addr); | 426 | extern void iounmap (volatile void __iomem *addr); |
| 427 | extern void __iomem * early_ioremap (unsigned long phys_addr, unsigned long size); | ||
| 428 | extern void early_iounmap (volatile void __iomem *addr, unsigned long size); | ||
| 427 | 429 | ||
| 428 | /* | 430 | /* |
| 429 | * String version of IO memory access ops: | 431 | * String version of IO memory access ops: |
diff --git a/arch/ia64/mm/ioremap.c b/arch/ia64/mm/ioremap.c index 2a140627dfd6..3dccdd8eb275 100644 --- a/arch/ia64/mm/ioremap.c +++ b/arch/ia64/mm/ioremap.c | |||
| @@ -22,6 +22,12 @@ __ioremap (unsigned long phys_addr) | |||
| 22 | } | 22 | } |
| 23 | 23 | ||
| 24 | void __iomem * | 24 | void __iomem * |
| 25 | early_ioremap (unsigned long phys_addr, unsigned long size) | ||
| 26 | { | ||
| 27 | return __ioremap(phys_addr); | ||
| 28 | } | ||
| 29 | |||
| 30 | void __iomem * | ||
| 25 | ioremap (unsigned long phys_addr, unsigned long size) | 31 | ioremap (unsigned long phys_addr, unsigned long size) |
| 26 | { | 32 | { |
| 27 | void __iomem *addr; | 33 | void __iomem *addr; |
| @@ -102,6 +108,11 @@ ioremap_nocache (unsigned long phys_addr, unsigned long size) | |||
| 102 | EXPORT_SYMBOL(ioremap_nocache); | 108 | EXPORT_SYMBOL(ioremap_nocache); |
| 103 | 109 | ||
| 104 | void | 110 | void |
| 111 | early_iounmap (volatile void __iomem *addr, unsigned long size) | ||
| 112 | { | ||
| 113 | } | ||
| 114 | |||
| 115 | void | ||
| 105 | iounmap (volatile void __iomem *addr) | 116 | iounmap (volatile void __iomem *addr) |
| 106 | { | 117 | { |
| 107 | if (REGION_NUMBER(addr) == RGN_GATE) | 118 | if (REGION_NUMBER(addr) == RGN_GATE) |
