4
4
* SPDX-License-Identifier: BSD-3-Clause
5
5
*/
6
6
7
- #include <metal/errno.h>
8
7
#include <limits.h>
8
+ #include <metal/errno.h>
9
9
#include <metal/io.h>
10
10
#include <metal/sys.h>
11
11
12
12
void metal_io_init (struct metal_io_region * io , void * virt ,
13
13
const metal_phys_addr_t * physmap , size_t size ,
14
- unsigned page_shift , unsigned int mem_flags ,
14
+ unsigned int page_shift , unsigned int mem_flags ,
15
15
const struct metal_io_ops * ops )
16
16
{
17
- const struct metal_io_ops nops = {NULL , NULL , NULL , NULL , NULL , NULL };
17
+ const struct metal_io_ops nops = {
18
+ NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL
19
+ };
18
20
19
21
io -> virt = virt ;
20
22
io -> physmap = physmap ;
@@ -37,7 +39,7 @@ int metal_io_block_read(struct metal_io_region *io, unsigned long offset,
37
39
unsigned char * dest = dst ;
38
40
int retlen ;
39
41
40
- if (offset > io -> size )
42
+ if (! ptr )
41
43
return - ERANGE ;
42
44
if ((offset + len ) > io -> size )
43
45
len = io -> size - offset ;
@@ -74,7 +76,7 @@ int metal_io_block_write(struct metal_io_region *io, unsigned long offset,
74
76
const unsigned char * source = src ;
75
77
int retlen ;
76
78
77
- if (offset > io -> size )
79
+ if (! ptr )
78
80
return - ERANGE ;
79
81
if ((offset + len ) > io -> size )
80
82
len = io -> size - offset ;
@@ -110,7 +112,7 @@ int metal_io_block_set(struct metal_io_region *io, unsigned long offset,
110
112
unsigned char * ptr = metal_io_virt (io , offset );
111
113
int retlen = len ;
112
114
113
- if (offset > io -> size )
115
+ if (! ptr )
114
116
return - ERANGE ;
115
117
if ((offset + len ) > io -> size )
116
118
len = io -> size - offset ;
@@ -123,7 +125,7 @@ int metal_io_block_set(struct metal_io_region *io, unsigned long offset,
123
125
unsigned int i ;
124
126
125
127
for (i = 1 ; i < sizeof (int ); i ++ )
126
- cint |= ((unsigned int )value << (8 * i ));
128
+ cint |= ((unsigned int )value << (CHAR_BIT * i ));
127
129
128
130
for (; len && ((uintptr_t )ptr % sizeof (int )); ptr ++ , len -- )
129
131
* (unsigned char * )ptr = (unsigned char ) value ;
0 commit comments