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