1 // SPDX-License-Identifier: GPL-2.0
2 
3 #include <linux/io.h>
4 
rust_helper_ioremap(phys_addr_t offset,size_t size)5 void __iomem *rust_helper_ioremap(phys_addr_t offset, size_t size)
6 {
7 	return ioremap(offset, size);
8 }
9 
rust_helper_iounmap(void __iomem * addr)10 void rust_helper_iounmap(void __iomem *addr)
11 {
12 	iounmap(addr);
13 }
14 
rust_helper_readb(const void __iomem * addr)15 u8 rust_helper_readb(const void __iomem *addr)
16 {
17 	return readb(addr);
18 }
19 
rust_helper_readw(const void __iomem * addr)20 u16 rust_helper_readw(const void __iomem *addr)
21 {
22 	return readw(addr);
23 }
24 
rust_helper_readl(const void __iomem * addr)25 u32 rust_helper_readl(const void __iomem *addr)
26 {
27 	return readl(addr);
28 }
29 
30 #ifdef CONFIG_64BIT
rust_helper_readq(const void __iomem * addr)31 u64 rust_helper_readq(const void __iomem *addr)
32 {
33 	return readq(addr);
34 }
35 #endif
36 
rust_helper_writeb(u8 value,void __iomem * addr)37 void rust_helper_writeb(u8 value, void __iomem *addr)
38 {
39 	writeb(value, addr);
40 }
41 
rust_helper_writew(u16 value,void __iomem * addr)42 void rust_helper_writew(u16 value, void __iomem *addr)
43 {
44 	writew(value, addr);
45 }
46 
rust_helper_writel(u32 value,void __iomem * addr)47 void rust_helper_writel(u32 value, void __iomem *addr)
48 {
49 	writel(value, addr);
50 }
51 
52 #ifdef CONFIG_64BIT
rust_helper_writeq(u64 value,void __iomem * addr)53 void rust_helper_writeq(u64 value, void __iomem *addr)
54 {
55 	writeq(value, addr);
56 }
57 #endif
58 
rust_helper_readb_relaxed(const void __iomem * addr)59 u8 rust_helper_readb_relaxed(const void __iomem *addr)
60 {
61 	return readb_relaxed(addr);
62 }
63 
rust_helper_readw_relaxed(const void __iomem * addr)64 u16 rust_helper_readw_relaxed(const void __iomem *addr)
65 {
66 	return readw_relaxed(addr);
67 }
68 
rust_helper_readl_relaxed(const void __iomem * addr)69 u32 rust_helper_readl_relaxed(const void __iomem *addr)
70 {
71 	return readl_relaxed(addr);
72 }
73 
74 #ifdef CONFIG_64BIT
rust_helper_readq_relaxed(const void __iomem * addr)75 u64 rust_helper_readq_relaxed(const void __iomem *addr)
76 {
77 	return readq_relaxed(addr);
78 }
79 #endif
80 
rust_helper_writeb_relaxed(u8 value,void __iomem * addr)81 void rust_helper_writeb_relaxed(u8 value, void __iomem *addr)
82 {
83 	writeb_relaxed(value, addr);
84 }
85 
rust_helper_writew_relaxed(u16 value,void __iomem * addr)86 void rust_helper_writew_relaxed(u16 value, void __iomem *addr)
87 {
88 	writew_relaxed(value, addr);
89 }
90 
rust_helper_writel_relaxed(u32 value,void __iomem * addr)91 void rust_helper_writel_relaxed(u32 value, void __iomem *addr)
92 {
93 	writel_relaxed(value, addr);
94 }
95 
96 #ifdef CONFIG_64BIT
rust_helper_writeq_relaxed(u64 value,void __iomem * addr)97 void rust_helper_writeq_relaxed(u64 value, void __iomem *addr)
98 {
99 	writeq_relaxed(value, addr);
100 }
101 #endif
102