xref: /linux/rust/helpers/io.c (revision 22c5696e3fe029f4fc2decbe7cc6663b5d281223)
1 // SPDX-License-Identifier: GPL-2.0
2 
3 #include <linux/io.h>
4 #include <linux/ioport.h>
5 
rust_helper_ioremap(phys_addr_t offset,size_t size)6 void __iomem *rust_helper_ioremap(phys_addr_t offset, size_t size)
7 {
8 	return ioremap(offset, size);
9 }
10 
rust_helper_ioremap_np(phys_addr_t offset,size_t size)11 void __iomem *rust_helper_ioremap_np(phys_addr_t offset, size_t size)
12 {
13 	return ioremap_np(offset, size);
14 }
15 
rust_helper_iounmap(void __iomem * addr)16 void rust_helper_iounmap(void __iomem *addr)
17 {
18 	iounmap(addr);
19 }
20 
rust_helper_readb(const void __iomem * addr)21 u8 rust_helper_readb(const void __iomem *addr)
22 {
23 	return readb(addr);
24 }
25 
rust_helper_readw(const void __iomem * addr)26 u16 rust_helper_readw(const void __iomem *addr)
27 {
28 	return readw(addr);
29 }
30 
rust_helper_readl(const void __iomem * addr)31 u32 rust_helper_readl(const void __iomem *addr)
32 {
33 	return readl(addr);
34 }
35 
36 #ifdef CONFIG_64BIT
rust_helper_readq(const void __iomem * addr)37 u64 rust_helper_readq(const void __iomem *addr)
38 {
39 	return readq(addr);
40 }
41 #endif
42 
rust_helper_writeb(u8 value,void __iomem * addr)43 void rust_helper_writeb(u8 value, void __iomem *addr)
44 {
45 	writeb(value, addr);
46 }
47 
rust_helper_writew(u16 value,void __iomem * addr)48 void rust_helper_writew(u16 value, void __iomem *addr)
49 {
50 	writew(value, addr);
51 }
52 
rust_helper_writel(u32 value,void __iomem * addr)53 void rust_helper_writel(u32 value, void __iomem *addr)
54 {
55 	writel(value, addr);
56 }
57 
58 #ifdef CONFIG_64BIT
rust_helper_writeq(u64 value,void __iomem * addr)59 void rust_helper_writeq(u64 value, void __iomem *addr)
60 {
61 	writeq(value, addr);
62 }
63 #endif
64 
rust_helper_readb_relaxed(const void __iomem * addr)65 u8 rust_helper_readb_relaxed(const void __iomem *addr)
66 {
67 	return readb_relaxed(addr);
68 }
69 
rust_helper_readw_relaxed(const void __iomem * addr)70 u16 rust_helper_readw_relaxed(const void __iomem *addr)
71 {
72 	return readw_relaxed(addr);
73 }
74 
rust_helper_readl_relaxed(const void __iomem * addr)75 u32 rust_helper_readl_relaxed(const void __iomem *addr)
76 {
77 	return readl_relaxed(addr);
78 }
79 
80 #ifdef CONFIG_64BIT
rust_helper_readq_relaxed(const void __iomem * addr)81 u64 rust_helper_readq_relaxed(const void __iomem *addr)
82 {
83 	return readq_relaxed(addr);
84 }
85 #endif
86 
rust_helper_writeb_relaxed(u8 value,void __iomem * addr)87 void rust_helper_writeb_relaxed(u8 value, void __iomem *addr)
88 {
89 	writeb_relaxed(value, addr);
90 }
91 
rust_helper_writew_relaxed(u16 value,void __iomem * addr)92 void rust_helper_writew_relaxed(u16 value, void __iomem *addr)
93 {
94 	writew_relaxed(value, addr);
95 }
96 
rust_helper_writel_relaxed(u32 value,void __iomem * addr)97 void rust_helper_writel_relaxed(u32 value, void __iomem *addr)
98 {
99 	writel_relaxed(value, addr);
100 }
101 
102 #ifdef CONFIG_64BIT
rust_helper_writeq_relaxed(u64 value,void __iomem * addr)103 void rust_helper_writeq_relaxed(u64 value, void __iomem *addr)
104 {
105 	writeq_relaxed(value, addr);
106 }
107 #endif
108 
rust_helper_resource_size(struct resource * res)109 resource_size_t rust_helper_resource_size(struct resource *res)
110 {
111 	return resource_size(res);
112 }
113 
rust_helper_request_mem_region(resource_size_t start,resource_size_t n,const char * name)114 struct resource *rust_helper_request_mem_region(resource_size_t start,
115 						resource_size_t n,
116 						const char *name)
117 {
118 	return request_mem_region(start, n, name);
119 }
120 
rust_helper_release_mem_region(resource_size_t start,resource_size_t n)121 void rust_helper_release_mem_region(resource_size_t start, resource_size_t n)
122 {
123 	release_mem_region(start, n);
124 }
125 
rust_helper_request_region(resource_size_t start,resource_size_t n,const char * name)126 struct resource *rust_helper_request_region(resource_size_t start,
127 					    resource_size_t n, const char *name)
128 {
129 	return request_region(start, n, name);
130 }
131 
rust_helper_request_muxed_region(resource_size_t start,resource_size_t n,const char * name)132 struct resource *rust_helper_request_muxed_region(resource_size_t start,
133 						  resource_size_t n,
134 						  const char *name)
135 {
136 	return request_muxed_region(start, n, name);
137 }
138 
rust_helper_release_region(resource_size_t start,resource_size_t n)139 void rust_helper_release_region(resource_size_t start, resource_size_t n)
140 {
141 	release_region(start, n);
142 }
143