--- a/drivers/mtd/nand/plat_nand.c
+++ b/drivers/mtd/nand/plat_nand.c
@@ -31,6 +31,7 @@ static int plat_nand_probe(struct platfo
 {
 	struct platform_nand_data *pdata = dev_get_platdata(&pdev->dev);
 	struct mtd_part_parser_data ppdata;
+	struct device_node *np = pdev->dev.of_node;
 	struct plat_nand_data *data;
 	struct resource *res;
 	const char **part_types;
@@ -58,6 +59,7 @@ static int plat_nand_probe(struct platfo
 		return PTR_ERR(data->io_base);
 
 	data->chip.priv = &data;
+	data->chip.flash_node = np;
 	data->mtd.priv = &data->chip;
 	data->mtd.dev.parent = &pdev->dev;
 
@@ -105,7 +107,7 @@ static int plat_nand_probe(struct platfo
 
 	part_types = pdata->chip.part_probe_types;
 
-	ppdata.of_node = pdev->dev.of_node;
+	ppdata.of_node = np;
 	err = mtd_device_parse_register(&data->mtd, part_types, &ppdata,
 					pdata->chip.partitions,
 					pdata->chip.nr_partitions);
