arch/score/include/asm/io.h: Add generic io map functions when MMU enabled
PATCH 1/1 arch/score/include/asm/io.h: Add generic io map functions when MMU enabled
score did not implement some io map functions when MMU enabled, so need add generic io map functions, just like some other architectures have done (e.g. sparc64, s390, and mn10300), or will cause compiling issue.
The related error (allmodconfig under score):
CC drivers/clocksource/sh_cmt.o
drivers/clocksource/sh_cmt.c: In function 'sh_cmt_map_memory':
drivers/clocksource/sh_cmt.c:932:2: error: implicit declaration of function 'ioremap_nocache' [-Werror=implicit-function-declaration]
cmt->mapbase = ioremap_nocache(mem->start, resource_size(mem));
^
drivers/clocksource/sh_cmt.c:932:15: warning: assignment makes pointer from integer without a cast
cmt->mapbase = ioremap_nocache(mem->start, resource_size(mem));
^
drivers/clocksource/sh_cmt.c: In function 'sh_cmt_map_memory_legacy':
drivers/clocksource/sh_cmt.c:953:18: warning: assignment makes pointer from integer without a cast
cmt->mapbase_ch = ioremap_nocache(res->start, resource_size(res));
^
drivers/clocksource/sh_cmt.c:963:15: warning: assignment makes pointer from integer without a cast
cmt->mapbase = ioremap_nocache(res2 ? res2->start :
^
drivers/clocksource/sh_cmt.c:968:3: error: implicit declaration of function 'iounmap' [-Werror=implicit-function-declaration]
iounmap(cmt->mapbase_ch);
^ cc1: some warnings being treated as errors make[2]: *** [drivers/clocksource/sh_cmt.o] Error 1 make[1]: *** [drivers/clocksource] Error 2
make: *** [drivers] Error 2
--- arch/score/include/asm/io.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
arch/score/include/asm/io.h +16 -0
@@ -3,6 +3,22 @@#include <asm-generic/io.h> +#ifdef CONFIG_MMU +static inline void __iomem *ioremap (phys_addr_t offset,unsigned long size) +{ +return (void __iomem *) (unsigned long )offset; +} + +#define __ioremap (offset, size, flags) ioremap(offset, size) + +#define ioremap_nocache ioremap +#define ioremap_wc ioremap_nocache + +static inline void iounmap (void __iomem *addr) +{ +} +#endif +#define virt_to_bus virt_to_phys#define bus_to_virt phys_to_virt#endif /* _ASM_SCORE_IO_H */
Signature · 1 line
1.9.2.459.g68773ac
Hi Chen,
Although "SuperH Timer Support" are never used in our platforms, we can still consider if these functions are necessary. Could you send the config to us?
Best,
Lennox
2014-06-18 13:06 GMT+08:00 Chen Gang <[email protected]>:
Quoted 63 lines
score did not implement some io map functions when MMU enabled, so need add generic io map functions, just like some other architectures have done (e.g. sparc64, s390, and mn10300), or will cause compiling issue.
The related error (allmodconfig under score):
CC
drivers/clocksource/sh_cmt.o
drivers/clocksource/sh_cmt.c: In function 'sh_cmt_map_memory':
drivers/clocksource/sh_cmt.c:932:2: error: implicit declaration of function 'ioremap_nocache' [-Werror=implicit-function-declaration]cmt->mapbase = ioremap_nocache(mem->start, resource_size(mem)); ^ drivers/clocksource/sh_cmt.c:932:15: warning: assignment makes pointer from integer without a cast cmt->mapbase = ioremap_nocache(mem->start, resource_size(mem)); ^ drivers/clocksource/sh_cmt.c: In function 'sh_cmt_map_memory_legacy': drivers/clocksource/sh_cmt.c:953:18: warning: assignment makes pointer from integer without a cast cmt->mapbase_ch = ioremap_nocache(res->start, resource_size(res)); ^ drivers/clocksource/sh_cmt.c:963:15: warning: assignment makes pointer from integer without a cast cmt->mapbase = ioremap_nocache(res2 ? res2->start : ^ drivers/clocksource/sh_cmt.c:968:3: error: implicit declaration of function 'iounmap' [-Werror=implicit-function-declaration] iounmap(cmt->mapbase_ch); ^cc1: some warnings being treated as errors make[2]: *** [
drivers/clocksource/sh_cmt.o] Error 1 make[1]: *** [drivers/clocksource] Error 2
make: *** [drivers] Error 2Signed-off-by Chen Gang <[email protected]>--- arch/score/include/asm/io.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)arch/score/include/asm/io.h +16
-1@@ -3,6 +3,22 @@#include <asm-generic/io.h> +#ifdef CONFIG_MMU +static inline void __iomem *ioremap (phys_addr_t offset,unsigned long size) +{ +return (void __iomem *) (unsigned long )offset; +} + +#define __ioremap (offset, size, flags) ioremap(offset, size) + +#define ioremap_nocache ioremap +#define ioremap_wc ioremap_nocache + +static inline void iounmap (void __iomem *addr) +{ +} +#endif +#define virt_to_bus virt_to_phys#define bus_to_virt phys_to_virt#endif /* _ASM_SCORE_IO_H */ --1.9.2.459.g68773ac
Quoted 4 lines · Lennox Wu
Hi Chen,
Although "SuperH Timer Support" are never used in our platforms, we can still consider if these functions are necessary. Could you send the config to us?
It is allmodconfig under score for next-20140616, please check the attachment for details.
Thanks.
Signature · 3 lines
Chen Gang Open, share, and attitude like air, water, and life which God blessed