Commit 6c06f8dc4ab02890ef93b50dac129c2b43cc9ea3
Committed by
Tom Rini
1 parent
b27af39935
Exists in
smarc_8mq_lf_v2020.04
and in
17 other branches
linux/io.h: import generic ioread* / iowrite* accessors from Linux
Some drivers in Linux (ex. drivers/mtd/nand/denali.c) use ioread*/iowrite* accessors. Import them to make drivers more synced. I copied code from include/asm-generic/io.h of Linux. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Showing 1 changed file with 44 additions and 0 deletions Side-by-side Diff
include/linux/io.h
... | ... | @@ -9,6 +9,50 @@ |
9 | 9 | #include <linux/types.h> |
10 | 10 | #include <asm/io.h> |
11 | 11 | |
12 | +static inline u8 ioread8(const volatile void __iomem *addr) | |
13 | +{ | |
14 | + return readb(addr); | |
15 | +} | |
16 | + | |
17 | +static inline u16 ioread16(const volatile void __iomem *addr) | |
18 | +{ | |
19 | + return readw(addr); | |
20 | +} | |
21 | + | |
22 | +static inline u32 ioread32(const volatile void __iomem *addr) | |
23 | +{ | |
24 | + return readl(addr); | |
25 | +} | |
26 | + | |
27 | +#ifdef CONFIG_64BIT | |
28 | +static inline u64 ioread64(const volatile void __iomem *addr) | |
29 | +{ | |
30 | + return readq(addr); | |
31 | +} | |
32 | +#endif /* CONFIG_64BIT */ | |
33 | + | |
34 | +static inline void iowrite8(u8 value, volatile void __iomem *addr) | |
35 | +{ | |
36 | + writeb(value, addr); | |
37 | +} | |
38 | + | |
39 | +static inline void iowrite16(u16 value, volatile void __iomem *addr) | |
40 | +{ | |
41 | + writew(value, addr); | |
42 | +} | |
43 | + | |
44 | +static inline void iowrite32(u32 value, volatile void __iomem *addr) | |
45 | +{ | |
46 | + writel(value, addr); | |
47 | +} | |
48 | + | |
49 | +#ifdef CONFIG_64BIT | |
50 | +static inline void iowrite64(u64 value, volatile void __iomem *addr) | |
51 | +{ | |
52 | + writeq(value, addr); | |
53 | +} | |
54 | +#endif /* CONFIG_64BIT */ | |
55 | + | |
12 | 56 | #ifndef CONFIG_HAVE_ARCH_IOREMAP |
13 | 57 | static inline void __iomem *ioremap(resource_size_t offset, |
14 | 58 | resource_size_t size) |