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@xxxxxxxxxxxxx> Signed-off-by: Julian Vetter <jvetter@xxxxxxxxxxxxx> --- Changes for v8: - Mask the argument with 0xff because now it's an int and not a unsigned char anymore --- arch/parisc/include/asm/io.h | 3 --- arch/parisc/lib/io.c | 12 ++++++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/arch/parisc/include/asm/io.h b/arch/parisc/include/asm/io.h index a63190af2f05..5cfaa76bb899 100644 --- a/arch/parisc/include/asm/io.h +++ b/arch/parisc/include/asm/io.h @@ -135,9 +135,6 @@ static inline void gsc_writeq(unsigned long long val, unsigned long addr) #define pci_iounmap pci_iounmap -void memset_io(volatile void __iomem *addr, unsigned char val, int count); -void memcpy_fromio(void *dst, const volatile void __iomem *src, int count); -void memcpy_toio(volatile void __iomem *dst, const void *src, int count); #define memset_io memset_io #define memcpy_fromio memcpy_fromio #define memcpy_toio memcpy_toio diff --git a/arch/parisc/lib/io.c b/arch/parisc/lib/io.c index 7c00496b47d4..aef9b0124811 100644 --- a/arch/parisc/lib/io.c +++ b/arch/parisc/lib/io.c @@ -16,7 +16,7 @@ * Assumes the device can cope with 32-bit transfers. If it can't, * don't use this function. */ -void memcpy_toio(volatile void __iomem *dst, const void *src, int count) +void memcpy_toio(volatile void __iomem *dst, const void *src, size_t count) { if (((unsigned long)dst & 3) != ((unsigned long)src & 3)) goto bytecopy; @@ -51,7 +51,7 @@ void memcpy_toio(volatile void __iomem *dst, const void *src, int count) ** Minimize total number of transfers at cost of CPU cycles. ** TODO: only look at src alignment and adjust the stores to dest. */ -void memcpy_fromio(void *dst, const volatile void __iomem *src, int count) +void memcpy_fromio(void *dst, const volatile void __iomem *src, size_t count) { /* first compare alignment of src/dst */ if ( (((unsigned long)dst ^ (unsigned long)src) & 1) || (count < 2) ) @@ -103,9 +103,13 @@ void memcpy_fromio(void *dst, const volatile void __iomem *src, int count) * Assumes the device can cope with 32-bit transfers. If it can't, * don't use this function. */ -void memset_io(volatile void __iomem *addr, unsigned char val, int count) +void memset_io(volatile void __iomem *addr, int val, size_t count) { - u32 val32 = (val << 24) | (val << 16) | (val << 8) | val; + u32 val32; + + val &= 0xff; + val32 = (val << 24) | (val << 16) | (val << 8) | val; + while ((unsigned long)addr & 3) { writeb(val, addr++); count--; -- 2.34.1