Loading include/asm-mips/io.h +32 −25 Original line number Original line Diff line number Diff line Loading @@ -387,11 +387,11 @@ static inline void pfx##out##bwlq##p(type val, unsigned long port) \ \ \ __val = pfx##ioswab##bwlq(val); \ __val = pfx##ioswab##bwlq(val); \ \ \ if (sizeof(type) != sizeof(u64)) { \ /* Really, we want this to be atomic */ \ BUILD_BUG_ON(sizeof(type) > sizeof(unsigned long)); \ \ *__addr = __val; \ *__addr = __val; \ slow; \ slow; \ } else \ BUILD_BUG(); \ } \ } \ \ \ static inline type pfx##in##bwlq##p(unsigned long port) \ static inline type pfx##in##bwlq##p(unsigned long port) \ Loading @@ -402,13 +402,10 @@ static inline type pfx##in##bwlq##p(unsigned long port) \ port = __swizzle_addr_##bwlq(port); \ port = __swizzle_addr_##bwlq(port); \ __addr = (void *)(mips_io_port_base + port); \ __addr = (void *)(mips_io_port_base + port); \ \ \ if (sizeof(type) != sizeof(u64)) { \ BUILD_BUG_ON(sizeof(type) > sizeof(unsigned long)); \ \ __val = *__addr; \ __val = *__addr; \ slow; \ slow; \ } else { \ __val = 0; \ BUILD_BUG(); \ } \ \ \ return pfx##ioswab##bwlq(__val); \ return pfx##ioswab##bwlq(__val); \ } } Loading @@ -417,28 +414,36 @@ static inline type pfx##in##bwlq##p(unsigned long port) \ \ \ __BUILD_MEMORY_SINGLE(bus, bwlq, type, 1) __BUILD_MEMORY_SINGLE(bus, bwlq, type, 1) #define __BUILD_IOPORT_PFX(bus, bwlq, type) \ #define BUILDIO_MEM(bwlq, type) \ \ __BUILD_IOPORT_SINGLE(bus, bwlq, type, ,) \ __BUILD_IOPORT_SINGLE(bus, bwlq, type, _p, SLOW_DOWN_IO) #define BUILDIO(bwlq, type) \ \ \ __BUILD_MEMORY_PFX(__raw_, bwlq, type) \ __BUILD_MEMORY_PFX(__raw_, bwlq, type) \ __BUILD_MEMORY_PFX(, bwlq, type) \ __BUILD_MEMORY_PFX(, bwlq, type) \ __BUILD_MEMORY_PFX(mem_, bwlq, type) \ __BUILD_MEMORY_PFX(mem_, bwlq, type) \ BUILDIO_MEM(b, u8) BUILDIO_MEM(w, u16) BUILDIO_MEM(l, u32) BUILDIO_MEM(q, u64) #define __BUILD_IOPORT_PFX(bus, bwlq, type) \ __BUILD_IOPORT_SINGLE(bus, bwlq, type, ,) \ __BUILD_IOPORT_SINGLE(bus, bwlq, type, _p, SLOW_DOWN_IO) #define BUILDIO_IOPORT(bwlq, type) \ __BUILD_IOPORT_PFX(, bwlq, type) \ __BUILD_IOPORT_PFX(, bwlq, type) \ __BUILD_IOPORT_PFX(mem_, bwlq, type) __BUILD_IOPORT_PFX(mem_, bwlq, type) BUILDIO_IOPORT(b, u8) BUILDIO_IOPORT(w, u16) BUILDIO_IOPORT(l, u32) #ifdef CONFIG_64BIT BUILDIO_IOPORT(q, u64) #endif #define __BUILDIO(bwlq, type) \ #define __BUILDIO(bwlq, type) \ \ \ __BUILD_MEMORY_SINGLE(____raw_, bwlq, type, 0) __BUILD_MEMORY_SINGLE(____raw_, bwlq, type, 0) BUILDIO(b, u8) BUILDIO(w, u16) BUILDIO(l, u32) BUILDIO(q, u64) __BUILDIO(q, u64) __BUILDIO(q, u64) #define readb_relaxed readb #define readb_relaxed readb Loading Loading @@ -508,7 +513,9 @@ __BUILD_IOPORT_STRING(bwlq, type) BUILDSTRING(b, u8) BUILDSTRING(b, u8) BUILDSTRING(w, u16) BUILDSTRING(w, u16) BUILDSTRING(l, u32) BUILDSTRING(l, u32) #ifdef CONFIG_64BIT BUILDSTRING(q, u64) BUILDSTRING(q, u64) #endif /* Depends on MIPS II instruction set */ /* Depends on MIPS II instruction set */ Loading Loading
include/asm-mips/io.h +32 −25 Original line number Original line Diff line number Diff line Loading @@ -387,11 +387,11 @@ static inline void pfx##out##bwlq##p(type val, unsigned long port) \ \ \ __val = pfx##ioswab##bwlq(val); \ __val = pfx##ioswab##bwlq(val); \ \ \ if (sizeof(type) != sizeof(u64)) { \ /* Really, we want this to be atomic */ \ BUILD_BUG_ON(sizeof(type) > sizeof(unsigned long)); \ \ *__addr = __val; \ *__addr = __val; \ slow; \ slow; \ } else \ BUILD_BUG(); \ } \ } \ \ \ static inline type pfx##in##bwlq##p(unsigned long port) \ static inline type pfx##in##bwlq##p(unsigned long port) \ Loading @@ -402,13 +402,10 @@ static inline type pfx##in##bwlq##p(unsigned long port) \ port = __swizzle_addr_##bwlq(port); \ port = __swizzle_addr_##bwlq(port); \ __addr = (void *)(mips_io_port_base + port); \ __addr = (void *)(mips_io_port_base + port); \ \ \ if (sizeof(type) != sizeof(u64)) { \ BUILD_BUG_ON(sizeof(type) > sizeof(unsigned long)); \ \ __val = *__addr; \ __val = *__addr; \ slow; \ slow; \ } else { \ __val = 0; \ BUILD_BUG(); \ } \ \ \ return pfx##ioswab##bwlq(__val); \ return pfx##ioswab##bwlq(__val); \ } } Loading @@ -417,28 +414,36 @@ static inline type pfx##in##bwlq##p(unsigned long port) \ \ \ __BUILD_MEMORY_SINGLE(bus, bwlq, type, 1) __BUILD_MEMORY_SINGLE(bus, bwlq, type, 1) #define __BUILD_IOPORT_PFX(bus, bwlq, type) \ #define BUILDIO_MEM(bwlq, type) \ \ __BUILD_IOPORT_SINGLE(bus, bwlq, type, ,) \ __BUILD_IOPORT_SINGLE(bus, bwlq, type, _p, SLOW_DOWN_IO) #define BUILDIO(bwlq, type) \ \ \ __BUILD_MEMORY_PFX(__raw_, bwlq, type) \ __BUILD_MEMORY_PFX(__raw_, bwlq, type) \ __BUILD_MEMORY_PFX(, bwlq, type) \ __BUILD_MEMORY_PFX(, bwlq, type) \ __BUILD_MEMORY_PFX(mem_, bwlq, type) \ __BUILD_MEMORY_PFX(mem_, bwlq, type) \ BUILDIO_MEM(b, u8) BUILDIO_MEM(w, u16) BUILDIO_MEM(l, u32) BUILDIO_MEM(q, u64) #define __BUILD_IOPORT_PFX(bus, bwlq, type) \ __BUILD_IOPORT_SINGLE(bus, bwlq, type, ,) \ __BUILD_IOPORT_SINGLE(bus, bwlq, type, _p, SLOW_DOWN_IO) #define BUILDIO_IOPORT(bwlq, type) \ __BUILD_IOPORT_PFX(, bwlq, type) \ __BUILD_IOPORT_PFX(, bwlq, type) \ __BUILD_IOPORT_PFX(mem_, bwlq, type) __BUILD_IOPORT_PFX(mem_, bwlq, type) BUILDIO_IOPORT(b, u8) BUILDIO_IOPORT(w, u16) BUILDIO_IOPORT(l, u32) #ifdef CONFIG_64BIT BUILDIO_IOPORT(q, u64) #endif #define __BUILDIO(bwlq, type) \ #define __BUILDIO(bwlq, type) \ \ \ __BUILD_MEMORY_SINGLE(____raw_, bwlq, type, 0) __BUILD_MEMORY_SINGLE(____raw_, bwlq, type, 0) BUILDIO(b, u8) BUILDIO(w, u16) BUILDIO(l, u32) BUILDIO(q, u64) __BUILDIO(q, u64) __BUILDIO(q, u64) #define readb_relaxed readb #define readb_relaxed readb Loading Loading @@ -508,7 +513,9 @@ __BUILD_IOPORT_STRING(bwlq, type) BUILDSTRING(b, u8) BUILDSTRING(b, u8) BUILDSTRING(w, u16) BUILDSTRING(w, u16) BUILDSTRING(l, u32) BUILDSTRING(l, u32) #ifdef CONFIG_64BIT BUILDSTRING(q, u64) BUILDSTRING(q, u64) #endif /* Depends on MIPS II instruction set */ /* Depends on MIPS II instruction set */ Loading