From f32bc2aa01edcba2f2ed5db151cf183eac9ef919 Mon Sep 17 00:00:00 2001 From: Abhimanyu Vishwakarma Date: Sat, 25 Feb 2017 16:42:50 +0000 Subject: mtd: nor: support mtd name from device tree Signed-off-by: Abhimanyu Vishwakarma --- drivers/mtd/spi-nor/spi-nor.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c @@ -2942,12 +2942,19 @@ static void spi_nor_set_mtd_info(struct { struct mtd_info *mtd = &nor->mtd; struct device *dev = nor->dev; + struct device_node *np = spi_nor_get_flash_node(nor); + const char __maybe_unused *of_mtd_name = NULL; spi_nor_set_mtd_locking_ops(nor); spi_nor_set_mtd_otp_ops(nor); mtd->dev.parent = dev; - if (!mtd->name) +#ifdef CONFIG_MTD_OF_PARTS + of_property_read_string(np, "linux,mtd-name", &of_mtd_name); +#endif + if (of_mtd_name) + mtd->name = of_mtd_name; + else if (!mtd->name) mtd->name = dev_name(dev); mtd->type = MTD_NORFLASH; mtd->flags = MTD_CAP_NORFLASH; --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c @@ -863,6 +863,17 @@ out_error: */ static void mtd_set_dev_defaults(struct mtd_info *mtd) { +#ifdef CONFIG_MTD_OF_PARTS + const char __maybe_unused *of_mtd_name = NULL; + struct device_node *np; + + np = mtd_get_of_node(mtd); + if (np && !mtd->name) { + of_property_read_string(np, "linux,mtd-name", &of_mtd_name); + if (of_mtd_name) + mtd->name = of_mtd_name; + } else +#endif if (mtd->dev.parent) { if (!mtd->owner && mtd->dev.parent->driver) mtd->owner = mtd->dev.parent->driver->owner;