diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2016-06-28 10:48:42 +0900 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-07-14 18:22:26 -0400 |
commit | 9a387128e341debb6d7e32df8e0f72669a3a079b (patch) | |
tree | 855db996d332cc0edcbcd4adcd65dd163fa585e3 | |
parent | c74b8fcdd7193cfcaf8b3c6dab9a59c6feb8a49a (diff) |
linux/io.h: add generic ioremap()/iounmap() defines
For most of architectures in U-Boot, virtual address is straight
mapped to physical address. So, it makes sense to have generic
defines of ioremap and friends in <linux/io.h>.
All of them are just empty and will disappear at compile time, but
they will be helpful to implement drivers which are counterparts of
Linux ones.
I notice MIPS already has its own implementation, so I added a
Kconfig symbol CONFIG_HAVE_ARCH_IOREMAP which MIPS (and maybe
Sandbox as well) can select.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-rw-r--r-- | arch/Kconfig | 4 | ||||
-rw-r--r-- | include/linux/io.h | 16 |
2 files changed, 20 insertions, 0 deletions
diff --git a/arch/Kconfig b/arch/Kconfig index c43787c6396..92d4b97701b 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -1,6 +1,9 @@ config CREATE_ARCH_SYMLINK bool +config HAVE_ARCH_IOREMAP + bool + choice prompt "Architecture select" default SANDBOX @@ -33,6 +36,7 @@ config MICROBLAZE config MIPS bool "MIPS architecture" + select HAVE_ARCH_IOREMAP select HAVE_PRIVATE_LIBGCC select SUPPORT_OF_CONTROL diff --git a/include/linux/io.h b/include/linux/io.h index 1b36a2299e1..a104b7e69f7 100644 --- a/include/linux/io.h +++ b/include/linux/io.h @@ -5,6 +5,22 @@ #ifndef _LINUX_IO_H #define _LINUX_IO_H +#include <linux/compiler.h> +#include <linux/types.h> #include <asm/io.h> +#ifndef CONFIG_HAVE_ARCH_IOREMAP +static inline void __iomem *ioremap(resource_size_t offset, + resource_size_t size) +{ + return (void __iomem *)(unsigned long)offset; +} + +static inline void iounmap(void __iomem *addr) +{ +} + +#define devm_ioremap(dev, offset, size) ioremap(offset, size) +#endif + #endif /* _LINUX_IO_H */ |