diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-08-04 17:15:07 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-08-04 17:15:07 -0700 |
commit | 5941de8eadc287f3f47b87ce9888734ee07d210b (patch) | |
tree | 2f5a8e84c33ae2df61e4e807798a153d6b7f6fbb /arch/s390/include/asm/io.h | |
parent | c44df7413fd711bca818111b94cbd7ce5f3600a9 (diff) | |
parent | c6557e7f2b6ae76a44653d38f835174074c42e05 (diff) | |
download | kernel_samsung_smdk4412-5941de8eadc287f3f47b87ce9888734ee07d210b.zip kernel_samsung_smdk4412-5941de8eadc287f3f47b87ce9888734ee07d210b.tar.gz kernel_samsung_smdk4412-5941de8eadc287f3f47b87ce9888734ee07d210b.tar.bz2 |
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
[S390] move include/asm-s390 to arch/s390/include/asm
Diffstat (limited to 'arch/s390/include/asm/io.h')
-rw-r--r-- | arch/s390/include/asm/io.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/arch/s390/include/asm/io.h b/arch/s390/include/asm/io.h new file mode 100644 index 0000000..b7ff6af --- /dev/null +++ b/arch/s390/include/asm/io.h @@ -0,0 +1,54 @@ +/* + * include/asm-s390/io.h + * + * S390 version + * Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation + * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com) + * + * Derived from "include/asm-i386/io.h" + */ + +#ifndef _S390_IO_H +#define _S390_IO_H + +#ifdef __KERNEL__ + +#include <asm/page.h> + +#define IO_SPACE_LIMIT 0xffffffff + +/* + * Change virtual addresses to physical addresses and vv. + * These are pretty trivial + */ +static inline unsigned long virt_to_phys(volatile void * address) +{ + unsigned long real_address; + asm volatile( + " lra %0,0(%1)\n" + " jz 0f\n" + " la %0,0\n" + "0:" + : "=a" (real_address) : "a" (address) : "cc"); + return real_address; +} + +static inline void * phys_to_virt(unsigned long address) +{ + return (void *) address; +} + +/* + * Convert a physical pointer to a virtual kernel pointer for /dev/mem + * access + */ +#define xlate_dev_mem_ptr(p) __va(p) + +/* + * Convert a virtual cached pointer to an uncached pointer + */ +#define xlate_dev_kmem_ptr(p) p + +#endif /* __KERNEL__ */ + +#endif |