Message ID | 20241008075023.3052370-7-jvetter@kalrayinc.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | Consolidate IO memcpy functions | expand |
On 10/8/24 00:50, Julian Vetter wrote: > Align the prototypes of the memcpy_{from,to}io and memset_io functions > with the new ones from iomap_copy.c and remove function declarations, > because they are now declared in asm-generic/io.h. > > Reviewed-by: Yann Sionneau <ysionneau@kalrayinc.com> > Signed-off-by: Julian Vetter <jvetter@kalrayinc.com> > --- > Changes for v8: > - Mask the argument with 0xff because now it's an int and not a u8 > anymore Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~ > --- > arch/alpha/include/asm/io.h | 6 ++---- > arch/alpha/kernel/io.c | 4 ++-- > 2 files changed, 4 insertions(+), 6 deletions(-) > > diff --git a/arch/alpha/include/asm/io.h b/arch/alpha/include/asm/io.h > index b191d87f89c4..e7d52c8159b0 100644 > --- a/arch/alpha/include/asm/io.h > +++ b/arch/alpha/include/asm/io.h > @@ -591,13 +591,11 @@ extern inline u64 readq_relaxed(const volatile void __iomem *addr) > /* > * String version of IO memory access ops: > */ > -extern void memcpy_fromio(void *, const volatile void __iomem *, long); > -extern void memcpy_toio(volatile void __iomem *, const void *, long); > extern void _memset_c_io(volatile void __iomem *, unsigned long, long); > > -static inline void memset_io(volatile void __iomem *addr, u8 c, long len) > +static inline void memset_io(volatile void __iomem *dst, int c, size_t count) > { > - _memset_c_io(addr, 0x0101010101010101UL * c, len); > + _memset_c_io(dst, 0x0101010101010101UL * (c & 0xff), count); > } > > #define __HAVE_ARCH_MEMSETW_IO > diff --git a/arch/alpha/kernel/io.c b/arch/alpha/kernel/io.c > index c28035d6d1e6..69c06f1b158d 100644 > --- a/arch/alpha/kernel/io.c > +++ b/arch/alpha/kernel/io.c > @@ -481,7 +481,7 @@ EXPORT_SYMBOL(outsl); > * Copy data from IO memory space to "real" memory space. > * This needs to be optimized. > */ > -void memcpy_fromio(void *to, const volatile void __iomem *from, long count) > +void memcpy_fromio(void *to, const volatile void __iomem *from, size_t count) > { > /* Optimize co-aligned transfers. Everything else gets handled > a byte at a time. */ > @@ -535,7 +535,7 @@ EXPORT_SYMBOL(memcpy_fromio); > * Copy data from "real" memory space to IO memory space. > * This needs to be optimized. > */ > -void memcpy_toio(volatile void __iomem *to, const void *from, long count) > +void memcpy_toio(volatile void __iomem *to, const void *from, size_t count) > { > /* Optimize co-aligned transfers. Everything else gets handled > a byte at a time. */
diff --git a/arch/alpha/include/asm/io.h b/arch/alpha/include/asm/io.h index b191d87f89c4..e7d52c8159b0 100644 --- a/arch/alpha/include/asm/io.h +++ b/arch/alpha/include/asm/io.h @@ -591,13 +591,11 @@ extern inline u64 readq_relaxed(const volatile void __iomem *addr) /* * String version of IO memory access ops: */ -extern void memcpy_fromio(void *, const volatile void __iomem *, long); -extern void memcpy_toio(volatile void __iomem *, const void *, long); extern void _memset_c_io(volatile void __iomem *, unsigned long, long); -static inline void memset_io(volatile void __iomem *addr, u8 c, long len) +static inline void memset_io(volatile void __iomem *dst, int c, size_t count) { - _memset_c_io(addr, 0x0101010101010101UL * c, len); + _memset_c_io(dst, 0x0101010101010101UL * (c & 0xff), count); } #define __HAVE_ARCH_MEMSETW_IO diff --git a/arch/alpha/kernel/io.c b/arch/alpha/kernel/io.c index c28035d6d1e6..69c06f1b158d 100644 --- a/arch/alpha/kernel/io.c +++ b/arch/alpha/kernel/io.c @@ -481,7 +481,7 @@ EXPORT_SYMBOL(outsl); * Copy data from IO memory space to "real" memory space. * This needs to be optimized. */ -void memcpy_fromio(void *to, const volatile void __iomem *from, long count) +void memcpy_fromio(void *to, const volatile void __iomem *from, size_t count) { /* Optimize co-aligned transfers. Everything else gets handled a byte at a time. */ @@ -535,7 +535,7 @@ EXPORT_SYMBOL(memcpy_fromio); * Copy data from "real" memory space to IO memory space. * This needs to be optimized. */ -void memcpy_toio(volatile void __iomem *to, const void *from, long count) +void memcpy_toio(volatile void __iomem *to, const void *from, size_t count) { /* Optimize co-aligned transfers. Everything else gets handled a byte at a time. */