mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
869d72e988
Backport patches for support of generic spi-nor from SFDP data for kernel 6.1. Kernel 5.15 have major rework of the info flags and it's not trustable to backport this amount of changes and expect correct function of it. All affected patches automatically refreshed using make target/linux/refresh. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
54 lines
1.6 KiB
Diff
54 lines
1.6 KiB
Diff
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/core.c
|
|
+++ b/drivers/mtd/spi-nor/core.c
|
|
@@ -2964,12 +2964,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;
|