| From f32bc2aa01edcba2f2ed5db151cf183eac9ef919 Mon Sep 17 00:00:00 2001 |
| From: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com> |
| Date: Sat, 25 Feb 2017 16:42:50 +0000 |
| Subject: mtd: nor: support mtd name from device tree |
| |
| Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com> |
| --- |
| drivers/mtd/spi-nor/spi-nor.c | 8 +++++++- |
| 1 file changed, 7 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/mtd/spi-nor/spi-nor.c |
| +++ b/drivers/mtd/spi-nor/spi-nor.c |
| @@ -4941,6 +4941,7 @@ int spi_nor_scan(struct spi_nor *nor, co |
| struct mtd_info *mtd = &nor->mtd; |
| struct device_node *np = spi_nor_get_flash_node(nor); |
| struct spi_nor_flash_parameter *params = &nor->params; |
| + const char __maybe_unused *of_mtd_name = NULL; |
| int ret; |
| int i; |
| |
| @@ -5003,7 +5004,12 @@ int spi_nor_scan(struct spi_nor *nor, co |
| /* Init flash parameters based on flash_info struct and SFDP */ |
| spi_nor_init_params(nor); |
| |
| - 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->priv = nor; |
| mtd->type = MTD_NORFLASH; |
| --- a/drivers/mtd/mtdcore.c |
| +++ b/drivers/mtd/mtdcore.c |
| @@ -836,6 +836,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; |