* memory location directly.
*/
-static inline __u8 __readb(const volatile void __iomem *addr)
+static inline __u8 __readb(volatile void __iomem *addr)
{
return *(__force volatile __u8 *)addr;
}
-static inline __u16 __readw(const volatile void __iomem *addr)
+static inline __u16 __readw(volatile void __iomem *addr)
{
return *(__force volatile __u16 *)addr;
}
-static inline __u32 __readl(const volatile void __iomem *addr)
+static inline __u32 __readl(volatile void __iomem *addr)
{
return *(__force volatile __u32 *)addr;
}
-static inline __u64 __readq(const volatile void __iomem *addr)
+static inline __u64 __readq(volatile void __iomem *addr)
{
return *(__force volatile __u64 *)addr;
}
#define __raw_writel writel
#define __raw_writeq writeq
-void __memcpy_fromio(void*,unsigned long,unsigned);
-void __memcpy_toio(unsigned long,const void*,unsigned);
+void *__memcpy_fromio(void*,unsigned long,unsigned);
+void *__memcpy_toio(unsigned long,const void*,unsigned);
-static inline void memcpy_fromio(void *to, const volatile void __iomem *from, unsigned len)
+static inline void *memcpy_fromio(void *to, volatile void __iomem *from, unsigned len)
{
- __memcpy_fromio(to,(unsigned long)from,len);
+ return __memcpy_fromio(to,(unsigned long)from,len);
}
-static inline void memcpy_toio(volatile void __iomem *to, const void *from, unsigned len)
+static inline void *memcpy_toio(volatile void __iomem *to, const void *from, unsigned len)
{
- __memcpy_toio((unsigned long)to,from,len);
+ return __memcpy_toio((unsigned long)to,from,len);
+}
+static inline void *memset_io(volatile void __iomem *a, int b, size_t c)
+{
+ return memset((__force void *)a,b,c);
}
-
-void memset_io(volatile void __iomem *a, int b, size_t c);
/*
* ISA space is 'always mapped' on a typical x86 system, no need to