Revision 23e0affd ioport.c
b/ioport.c | ||
---|---|---|
121 | 121 |
#endif |
122 | 122 |
} |
123 | 123 |
|
124 |
static int ioport_bsize(int size, int *bsize) |
|
125 |
{ |
|
126 |
if (size == 1) { |
|
127 |
*bsize = 0; |
|
128 |
} else if (size == 2) { |
|
129 |
*bsize = 1; |
|
130 |
} else if (size == 4) { |
|
131 |
*bsize = 2; |
|
132 |
} else { |
|
133 |
return -1; |
|
134 |
} |
|
135 |
return 0; |
|
136 |
} |
|
137 |
|
|
124 | 138 |
/* size is the word size in byte */ |
125 | 139 |
int register_ioport_read(int start, int length, int size, |
126 | 140 |
IOPortReadFunc *func, void *opaque) |
127 | 141 |
{ |
128 | 142 |
int i, bsize; |
129 | 143 |
|
130 |
if (size == 1) { |
|
131 |
bsize = 0; |
|
132 |
} else if (size == 2) { |
|
133 |
bsize = 1; |
|
134 |
} else if (size == 4) { |
|
135 |
bsize = 2; |
|
136 |
} else { |
|
144 |
if (ioport_bsize(size, &bsize)) { |
|
137 | 145 |
hw_error("register_ioport_read: invalid size"); |
138 | 146 |
return -1; |
139 | 147 |
} |
... | ... | |
152 | 160 |
{ |
153 | 161 |
int i, bsize; |
154 | 162 |
|
155 |
if (size == 1) { |
|
156 |
bsize = 0; |
|
157 |
} else if (size == 2) { |
|
158 |
bsize = 1; |
|
159 |
} else if (size == 4) { |
|
160 |
bsize = 2; |
|
161 |
} else { |
|
163 |
if (ioport_bsize(size, &bsize)) { |
|
162 | 164 |
hw_error("register_ioport_write: invalid size"); |
163 | 165 |
return -1; |
164 | 166 |
} |
Also available in: Unified diff