--- 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);