"Das U-Boot" Source Tree
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

pstore: Use root address-cells/size-cells as defaults for reserved-memory

u-boot adds reserve-memory node, if it's missing, with following
properties:

```
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
}
```

But with these default address-cells and size-cells values, pstore
isn't working on A64. Root node for A64 defines 'address-cells' and
'size-cells' as 1.

dtc complains if reserved-memory has different address-cells and
size-cells.

```
Warning (ranges_format): /reserved-memory:ranges: empty "ranges"
property but its #address-cells (2) differs from / (1)
```

This patch takes into account address-cells and size-cells of the root
node and uses them as values for new reserved-memory node.

Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>

authored by

Andrey Skvortsov and committed by
Tom Rini
9859edd3 801c4822

+8 -2
+8 -2
cmd/pstore.c
··· 486 486 { 487 487 char node[32]; 488 488 int nodeoffset; /* node offset from libfdt */ 489 + u32 addr_cells_root; 490 + u32 size_cells_root; 489 491 u32 addr_cells; 490 492 u32 size_cells; 491 493 ··· 495 497 log_err("fdt_path_offset() returned %s\n", fdt_strerror(nodeoffset)); 496 498 return; 497 499 } 500 + addr_cells_root = fdt_getprop_u32_default_node(blob, nodeoffset, 0, "#address-cells", 2); 501 + size_cells_root = fdt_getprop_u32_default_node(blob, nodeoffset, 0, "#size-cells", 2); 498 502 499 503 nodeoffset = fdt_find_or_add_subnode(blob, nodeoffset, "reserved-memory"); 500 504 if (nodeoffset < 0) { ··· 503 507 return; 504 508 } 505 509 506 - addr_cells = fdt_getprop_u32_default_node(blob, nodeoffset, 0, "#address-cells", 2); 507 - size_cells = fdt_getprop_u32_default_node(blob, nodeoffset, 0, "#size-cells", 2); 510 + addr_cells = fdt_getprop_u32_default_node(blob, nodeoffset, 0, 511 + "#address-cells", addr_cells_root); 512 + size_cells = fdt_getprop_u32_default_node(blob, nodeoffset, 0, 513 + "#size-cells", size_cells_root); 508 514 fdt_setprop_u32(blob, nodeoffset, "#address-cells", addr_cells); 509 515 fdt_setprop_u32(blob, nodeoffset, "#size-cells", size_cells); 510 516