4
4
5
5
#define weak __attribute__((__weak__))
6
6
7
- int resource_io_write (void * src , resource_t * r ,
7
+ int resource_io_write (void * src , resource_t * r ,
8
8
resource_type_t off , size_t n ) weak ;
9
- int resource_io_write (void * src , resource_t * r , resource_type_t off , size_t n )
9
+ int resource_io_write (void * src , resource_t * r , resource_type_t off , size_t n )
10
10
{
11
- return -1 ;
11
+ return - ENOTSUPP ;
12
12
}
13
13
14
- int resource_io_read (void * dest , resource_t * r ,
14
+ int resource_io_read (void * dest , resource_t * r ,
15
15
resource_type_t off , size_t n ) weak ;
16
16
int resource_io_read (void * dest , resource_t * r , resource_type_t off , size_t n )
17
17
{
18
- return -1 ;
18
+ return - ENOTSUPP ;
19
19
}
20
20
21
21
static void resource_mem_read_8 (void * buf , void * reg )
@@ -74,7 +74,7 @@ static void resource_mem_write_64(void *reg, void *buf)
74
74
* (dest ) = * (src );
75
75
}
76
76
77
- static int resource_mem_write (void * buf , resource_t * r , resource_type_t off ,
77
+ static int resource_mem_write (void * buf , resource_t * r , resource_type_t off ,
78
78
size_t n )
79
79
{
80
80
size_t i , width = 1 ;
@@ -112,7 +112,8 @@ size_t n)
112
112
return 0 ;
113
113
}
114
114
115
- static int resource_mem_read (void * buf , resource_t * r , resource_type_t off , size_t n )
115
+ static int resource_mem_read (void * buf , resource_t * r , resource_type_t off ,
116
+ size_t n )
116
117
{
117
118
size_t i , width = 1 ;
118
119
void (* io_op )(void * , void * );
@@ -138,7 +139,7 @@ static int resource_mem_read(void *buf, resource_t *r, resource_type_t off, size
138
139
default :
139
140
return - EIO ;
140
141
}
141
-
142
+
142
143
off *= width ;
143
144
off += r -> start ;
144
145
@@ -151,7 +152,7 @@ static int resource_mem_read(void *buf, resource_t *r, resource_type_t off, size
151
152
152
153
/**
153
154
* @brief Perform a data write to a resource.
154
- *
155
+ *
155
156
* @param dest Buffer which contains data to write
156
157
* @param r Resource to write to
157
158
* @param off Offset from start of resource to start writing to
@@ -172,13 +173,13 @@ int resource_write(void *src, resource_t *r, resource_type_t off, size_t n)
172
173
case RESOURCE_IO :
173
174
return resource_io_write (src , r , off , n );
174
175
}
175
-
176
+
176
177
return - ENOTSUPP ;
177
178
}
178
179
179
180
/**
180
181
* @brief Perform a data read of a resource.
181
- *
182
+ *
182
183
* @param dest Buffer to store read results
183
184
* @param r Resource to read from
184
185
* @param off Offset from start of resource to start reading from
@@ -191,7 +192,7 @@ int resource_read(void *dest, resource_t *r, resource_type_t off, size_t n)
191
192
{
192
193
return - EINVAL ;
193
194
}
194
-
195
+
195
196
switch (r -> flags & RESOURCE_TYPE )
196
197
{
197
198
case RESOURCE_MEM :
@@ -205,7 +206,7 @@ int resource_read(void *dest, resource_t *r, resource_type_t off, size_t n)
205
206
206
207
/**
207
208
* @brief Register a resource with a parent node
208
- *
209
+ *
209
210
* @param r The resource to register
210
211
* @param parent The parent resource to add this to.
211
212
*/
@@ -216,7 +217,7 @@ void resource_register(resource_t *r, resource_t *parent)
216
217
{
217
218
return ; // Not linking this resource to a parent, end early
218
219
}
219
-
220
+
220
221
r -> parent = parent ;
221
222
222
223
if (parent -> child == NULL )
@@ -227,19 +228,19 @@ void resource_register(resource_t *r, resource_t *parent)
227
228
next = parent -> child ;
228
229
while (next -> sibling != NULL )
229
230
{
230
- next = next -> sibling ; // Iterate through children until the youngest
231
+ next = next -> sibling ; // Iterate through children until the youngest
231
232
}
232
233
next -> sibling = r ; // Become new youngest sibling
233
234
}
234
235
235
236
/**
236
237
* @brief Find a resource by it's name
237
- *
238
+ *
238
239
* @todo Add recursive search
239
- *
240
+ *
240
241
* @param name The name of the resource to find
241
242
* @param parent The parent node to search against
242
- * @return resource_t* NULL on failure, else the resource requested
243
+ * @return resource_t* NULL on failure, else the resource requested
243
244
*/
244
245
resource_t * resource_find (const char * name , resource_t * parent )
245
246
{
0 commit comments