| 197 | } |
| 198 | |
| 199 | static rt_err_t fdt_reserved_mem_check_root(int nodeoffset) |
| 200 | { |
| 201 | rt_err_t err = RT_EOK; |
| 202 | const fdt32_t *prop = fdt_getprop(_fdt, nodeoffset, "#size-cells", RT_NULL); |
| 203 | |
| 204 | if (!prop || fdt32_to_cpu(*prop) != _root_size_cells) |
| 205 | { |
| 206 | err = -RT_EINVAL; |
| 207 | } |
| 208 | |
| 209 | if (!err) |
| 210 | { |
| 211 | prop = fdt_getprop(_fdt, nodeoffset, "#address-cells", RT_NULL); |
| 212 | |
| 213 | if (!prop || fdt32_to_cpu(*prop) != _root_addr_cells) |
| 214 | { |
| 215 | err = -RT_EINVAL; |
| 216 | } |
| 217 | } |
| 218 | |
| 219 | if (!err && !(prop = fdt_getprop(_fdt, nodeoffset, "ranges", RT_NULL))) |
| 220 | { |
| 221 | err = -RT_EINVAL; |
| 222 | } |
| 223 | |
| 224 | return err; |
| 225 | } |
| 226 | |
| 227 | static rt_err_t fdt_reserved_memory_reg(int nodeoffset, const char *uname) |
| 228 | { |
no test coverage detected