diff options
Diffstat (limited to 'include/asm-generic/io-64-nonatomic-hi-lo.h')
| -rw-r--r-- | include/asm-generic/io-64-nonatomic-hi-lo.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/include/asm-generic/io-64-nonatomic-hi-lo.h b/include/asm-generic/io-64-nonatomic-hi-lo.h index a6806a94250d..2e29d13fc154 100644 --- a/include/asm-generic/io-64-nonatomic-hi-lo.h +++ b/include/asm-generic/io-64-nonatomic-hi-lo.h | |||
| @@ -4,8 +4,7 @@ | |||
| 4 | #include <linux/io.h> | 4 | #include <linux/io.h> |
| 5 | #include <asm-generic/int-ll64.h> | 5 | #include <asm-generic/int-ll64.h> |
| 6 | 6 | ||
| 7 | #ifndef readq | 7 | static inline __u64 hi_lo_readq(const volatile void __iomem *addr) |
| 8 | static inline __u64 readq(const volatile void __iomem *addr) | ||
| 9 | { | 8 | { |
| 10 | const volatile u32 __iomem *p = addr; | 9 | const volatile u32 __iomem *p = addr; |
| 11 | u32 low, high; | 10 | u32 low, high; |
| @@ -15,14 +14,19 @@ static inline __u64 readq(const volatile void __iomem *addr) | |||
| 15 | 14 | ||
| 16 | return low + ((u64)high << 32); | 15 | return low + ((u64)high << 32); |
| 17 | } | 16 | } |
| 18 | #endif | ||
| 19 | 17 | ||
| 20 | #ifndef writeq | 18 | static inline void hi_lo_writeq(__u64 val, volatile void __iomem *addr) |
| 21 | static inline void writeq(__u64 val, volatile void __iomem *addr) | ||
| 22 | { | 19 | { |
| 23 | writel(val >> 32, addr + 4); | 20 | writel(val >> 32, addr + 4); |
| 24 | writel(val, addr); | 21 | writel(val, addr); |
| 25 | } | 22 | } |
| 23 | |||
| 24 | #ifndef readq | ||
| 25 | #define readq hi_lo_readq | ||
| 26 | #endif | ||
| 27 | |||
| 28 | #ifndef writeq | ||
| 29 | #define writeq hi_lo_writeq | ||
| 26 | #endif | 30 | #endif |
| 27 | 31 | ||
| 28 | #endif /* _ASM_IO_64_NONATOMIC_HI_LO_H_ */ | 32 | #endif /* _ASM_IO_64_NONATOMIC_HI_LO_H_ */ |
