[PATCH] mtd: of_mtd_fixup(): fix given DT not the default one

Marc Kleine-Budde mkl at pengutronix.de
Thu Apr 30 07:21:18 PDT 2015

We have to start searching for the mtd node starting in the given root node not
the defaukt (= barebox internal) one. This means the internal DT is always
fixed up. This leads to booting not fixed up DT when using external DTs.

This patch fixes the problem.

Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
 drivers/mtd/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mtd/core.c b/drivers/mtd/core.c
index 63b1e4a824fa..0197d2c8a3e1 100644
--- a/drivers/mtd/core.c
+++ b/drivers/mtd/core.c
@@ -488,7 +488,7 @@ static int of_mtd_fixup(struct device_node *root, void *ctx)
 	struct device_node *np, *part, *tmp;
 	int ret, i = 0;
-	np = of_find_node_by_path(mtd->of_path);
+	np = of_find_node_by_path_from(root, mtd->of_path);
 	if (!np) {
 		dev_err(&mtd->class_dev, "Cannot find nodepath %s, cannot fixup\n",

More information about the barebox mailing list