By adding asm-generic/io.h support, there are some duplicated function implementation, like phys_to_virt, memset_io, memcpy_(from|to)io. Let's remove them to use the default version in asm-neneric/io.h. Meanwhile move isa_bus_to_virt() down below <asm-generic/io.h> including line to fix the compiling error of missing phys_to_virt definition. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Serge Semin <fancer.lancer@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Huacai Chen <chenhuacai@xxxxxxxxxx> Cc: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxxx --- arch/mips/include/asm/io.h | 45 +++++--------------------------------- 1 file changed, 5 insertions(+), 40 deletions(-) diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h index da0a625c3c6d..1b38f02bc608 100644 --- a/arch/mips/include/asm/io.h +++ b/arch/mips/include/asm/io.h @@ -114,24 +114,6 @@ static inline phys_addr_t virt_to_phys(const volatile void *x) return __virt_to_phys(x); } -/* - * phys_to_virt - map physical address to virtual - * @address: address to remap - * - * The returned virtual address is a current CPU mapping for - * the memory address given. It is only valid to use this function on - * addresses that have a kernel mapping - * - * This function does not handle bus mappings for DMA transfers. In - * almost all conceivable cases a device driver should not be using - * this function - */ -#define phys_to_virt phys_to_virt -static inline void * phys_to_virt(unsigned long address) -{ - return __va(address); -} - /* * ISA I/O bus memory addresses are 1:1 with the physical address. */ @@ -140,11 +122,6 @@ static inline unsigned long isa_virt_to_bus(volatile void *address) return virt_to_phys(address); } -static inline void *isa_bus_to_virt(unsigned long address) -{ - return phys_to_virt(address); -} - /* * Change "struct page" to physical address. */ @@ -535,23 +512,6 @@ BUILDSTRING(q, u64) #define writesq writesq #endif - -#define memset_io memset_io -static inline void memset_io(volatile void __iomem *addr, unsigned char val, int count) -{ - memset((void __force *) addr, val, count); -} -#define memcpy_fromio memcpy_fromio -static inline void memcpy_fromio(void *dst, const volatile void __iomem *src, int count) -{ - memcpy(dst, (void __force *) src, count); -} -#define memcpy_toio memcpy_toio -static inline void memcpy_toio(volatile void __iomem *dst, const void *src, int count) -{ - memcpy((void __force *) dst, src, count); -} - /* * The caches on some architectures aren't dma-coherent and have need to * handle this in software. There are three types of operations that @@ -617,4 +577,9 @@ void __ioread64_copy(void *to, const void __iomem *from, size_t count); #include <asm-generic/io.h> +static inline void *isa_bus_to_virt(unsigned long address) +{ + return phys_to_virt(address); +} + #endif /* _ASM_IO_H */ -- 2.34.1