[PATCH] mtd: make sure address-cells/size-cells are set when adding partition nodes

Michael Olbrich m.olbrich at pengutronix.de
Wed Sep 14 23:03:26 PDT 2016


address-cells/size-cells can either be set to 1 or 2 for 32 or 63 bit
addresses respectively. Barebox currently writes 32 bit addresses.
This makes sure that address-cells/size-cells are both set and have the
correct value.

Signed-off-by: Michael Olbrich <m.olbrich at pengutronix.de>
---

Hi,

this is just a minor fix. What is really needed it support for 64 bit
addressing. Also, the bindings documentation says that all partitions
should be in a 'partitions' sub node. The main question here is probably
which kernel version introduced these features and what should be supported
by barebox.

Michael

 drivers/mtd/core.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/mtd/core.c b/drivers/mtd/core.c
index 6d04b8855387..8d0e83415ae7 100644
--- a/drivers/mtd/core.c
+++ b/drivers/mtd/core.c
@@ -575,6 +575,14 @@ static int of_mtd_fixup(struct device_node *root, void *ctx)
 		of_delete_node(part);
 	}
 
+	ret = of_property_write_u32(np, "#address-cells", 1);
+	if (ret)
+		return ret;
+
+	ret = of_property_write_u32(np, "#size-cells", 1);
+	if (ret)
+		return ret;
+
 	list_for_each_entry(partmtd, &mtd->partitions, partitions_entry) {
 		int na, ns, len = 0;
 		char *name = basprintf("partition@%0llx",
-- 
2.8.1




More information about the barebox mailing list