From e68e3982890e4ced2a04ad5e9a7e27b94fd4869d Mon Sep 17 00:00:00 2001 From: Magnus Damm Date: Mon, 10 Sep 2007 12:08:42 +0900 Subject: [PATCH] --- yaml --- r: 68237 b: refs/heads/master c: da6b003adc73011fd441a89c30d4f896667e24ba h: refs/heads/master i: 68235: da9389546b675fb92f257a1b50b9e48b0357a437 v: v3 --- [refs] | 2 +- trunk/include/asm-sh/io.h | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 0284ae712997..ca0e65ef7249 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9d4c82625914c31fd21e341765d476784cc74f14 +refs/heads/master: da6b003adc73011fd441a89c30d4f896667e24ba diff --git a/trunk/include/asm-sh/io.h b/trunk/include/asm-sh/io.h index e6a1877dcb20..1a336cdc75fe 100644 --- a/trunk/include/asm-sh/io.h +++ b/trunk/include/asm-sh/io.h @@ -135,6 +135,32 @@ void __raw_readsl(unsigned long addr, void *data, int longlen); # define writel(v,a) ({ __raw_writel((v),(a)); mb(); }) #endif +#define __BUILD_MEMORY_STRING(bwlq, type) \ + \ +static inline void writes##bwlq(volatile void __iomem *mem, \ + const void *addr, unsigned int count) \ +{ \ + const volatile type *__addr = addr; \ + \ + while (count--) { \ + __raw_write##bwlq(*__addr, mem); \ + __addr++; \ + } \ +} \ + \ +static inline void reads##bwlq(volatile void __iomem *mem, void *addr, \ + unsigned int count) \ +{ \ + volatile type *__addr = addr; \ + \ + while (count--) { \ + *__addr = __raw_read##bwlq(mem); \ + __addr++; \ + } \ +} + +__BUILD_MEMORY_STRING(b, u8) +__BUILD_MEMORY_STRING(w, u16) #define writesl __raw_writesl #define readsl __raw_readsl