summaryrefslogtreecommitdiff
path: root/include/asm-parisc/io.h
diff options
context:
space:
mode:
authorHelge Deller <deller@parisc-linux.org>2006-03-08 00:12:13 +0300
committerKyle McMartin <kyle@hera.kernel.org>2006-03-30 21:48:46 +0400
commitb8ce0aadcdebbaf5ec013c57e2a0803060817bcc (patch)
treec910b16935911a5cfaee98b5e6040fe6e1918fd9 /include/asm-parisc/io.h
parentb31059f7634931a06f6811247ae9217d1a833a46 (diff)
downloadlinux-b8ce0aadcdebbaf5ec013c57e2a0803060817bcc.tar.xz
[PARISC] Add CONFIG_HPPA_IOREMAP to conditionally enable ioremap
Instead of making it a #define in asm/io.h, allow user to select to turn on IOREMAP from the config menu. Signed-off-by: Helge Deller <deller@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'include/asm-parisc/io.h')
-rw-r--r--include/asm-parisc/io.h16
1 files changed, 5 insertions, 11 deletions
diff --git a/include/asm-parisc/io.h b/include/asm-parisc/io.h
index be0c7234a6da..2fb253255102 100644
--- a/include/asm-parisc/io.h
+++ b/include/asm-parisc/io.h
@@ -26,11 +26,7 @@ extern unsigned long parisc_vmerge_max_size;
*/
#ifdef CONFIG_DEBUG_IOREMAP
-#ifdef CONFIG_64BIT
-#define NYBBLE_SHIFT 60
-#else
-#define NYBBLE_SHIFT 28
-#endif
+#define NYBBLE_SHIFT (BITS_PER_LONG - 4)
extern void gsc_bad_addr(unsigned long addr);
extern void __raw_bad_addr(const volatile void __iomem *addr);
#define gsc_check_addr(addr) \
@@ -181,13 +177,11 @@ extern inline void * ioremap_nocache(unsigned long offset, unsigned long size)
extern void iounmap(void __iomem *addr);
/*
- * USE_HPPA_IOREMAP is the magic flag to enable or disable real ioremap()
+ * CONFIG_HPPA_IOREMAP is the magic flag to enable or disable real ioremap()
* functionality. It's currently disabled because it may not work on some
* machines.
*/
-#define USE_HPPA_IOREMAP 0
-
-#if USE_HPPA_IOREMAP
+#ifdef CONFIG_HPPA_IOREMAP
static inline unsigned char __raw_readb(const volatile void __iomem *addr)
{
return (*(volatile unsigned char __force *) (addr));
@@ -221,7 +215,7 @@ static inline void __raw_writeq(unsigned long long b, volatile void __iomem *add
{
*(volatile unsigned long long __force *) addr = b;
}
-#else /* !USE_HPPA_IOREMAP */
+#else /* !CONFIG_HPPA_IOREMAP */
static inline unsigned char __raw_readb(const volatile void __iomem *addr)
{
__raw_check_addr(addr);
@@ -271,7 +265,7 @@ static inline void __raw_writeq(unsigned long long b, volatile void __iomem *add
gsc_writeq(b, (unsigned long) addr);
}
-#endif /* !USE_HPPA_IOREMAP */
+#endif /* !CONFIG_HPPA_IOREMAP */
/* readb can never be const, so use __fswab instead of le*_to_cpu */
#define readb(addr) __raw_readb(addr)