• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <linux/string.h>
2 #include <linux/module.h>
3 #include <asm/io.h>
4 
__memcpy_toio(unsigned long dst,const void * src,unsigned len)5 void __memcpy_toio(unsigned long dst, const void *src, unsigned len)
6 {
7 	__inline_memcpy((void *)dst, src, len);
8 }
9 EXPORT_SYMBOL(__memcpy_toio);
10 
__memcpy_fromio(void * dst,unsigned long src,unsigned len)11 void __memcpy_fromio(void *dst, unsigned long src, unsigned len)
12 {
13 	__inline_memcpy(dst, (const void *)src, len);
14 }
15 EXPORT_SYMBOL(__memcpy_fromio);
16 
memset_io(volatile void __iomem * a,int b,size_t c)17 void memset_io(volatile void __iomem *a, int b, size_t c)
18 {
19 	/*
20 	 * TODO: memset can mangle the IO patterns quite a bit.
21 	 * perhaps it would be better to use a dumb one:
22 	 */
23 	memset((void *)a, b, c);
24 }
25 EXPORT_SYMBOL(memset_io);
26