openwrt/target/linux/ath79/patches-5.15/400-mtd-nor-support-mtd-name-from-device-tree.patch

55 lines
1.6 KiB
Diff
Raw Normal View History

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
@@ -3108,6 +3108,7 @@ int spi_nor_scan(struct spi_nor *nor, co
struct device *dev = nor->dev;
struct mtd_info *mtd = &nor->mtd;
struct device_node *np = spi_nor_get_flash_node(nor);
+ const char __maybe_unused *of_mtd_name = NULL;
int ret;
int i;
@@ -3162,7 +3163,12 @@ int spi_nor_scan(struct spi_nor *nor, co
if (ret)
return ret;
- 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
kernel: bump 5.15 to 5.15.86 Removed upstreamed: pending-5.15/101-Use-stddefs.h-instead-of-compiler.h.patch[1] ipq806x/patches-5.15/122-01-clk-qcom-clk-krait-fix-wrong-div2-functions.patch[2] bcm27xx/patches-5.15/950-0198-drm-fourcc-Add-packed-10bit-YUV-4-2-0-format.patch[3] Manually rebased: ramips/patches-5.15/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch[4] Added patch/backported: ramips/patches-5.15/107-PCI-mt7621-Add-sentinel-to-quirks-table.patch[5] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.86&id=c160505c9b574b346031fdf2c649d19e7939ca11 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.86&id=a051e10bfc6906d29dae7a31f0773f2702edfe1b 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.86&id=ec1727f89ecd6f2252c0c75e200058819f7ce47a 4. Quilt gave this output when I applied the patch to rebase it: % quilt push -f Applying patch platform/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch patching file arch/mips/ralink/Kconfig patching file drivers/pci/controller/Kconfig patching file drivers/pci/controller/Makefile patching file drivers/staging/Kconfig patching file drivers/staging/Makefile patching file drivers/staging/mt7621-pci/Kconfig patching file drivers/staging/mt7621-pci/Makefile patching file drivers/staging/mt7621-pci/TODO patching file drivers/staging/mt7621-pci/mediatek,mt7621-pci.txt patching file drivers/staging/mt7621-pci/pci-mt7621.c Hunk #1 FAILED at 1. Not deleting file drivers/staging/mt7621-pci/pci-mt7621.c as content differs from patch 1 out of 1 hunk FAILED -- saving rejects to file drivers/staging/mt7621-pci/pci-mt7621.c.rej patching file drivers/pci/controller/pcie-mt7621.c Applied patch platform/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch (forced; needs refresh) Upon inspecting drivers/staging/mt7621-pci/pci-mt7621.c.rej, it seems that the original patch wants to delete drivers/staging/mt7621-pci/pci-mt7621.c but upstream's version was not an exact match. I opted to delete that file. 5. Suggestion by hauke: https://github.com/torvalds/linux/commit/19098934f910b4d47cb30251dd39ffa57bef9523 "This patch is in upstream kernel, but it was backported to the old staging driver in kernel 5.15." Build system: x86_64 Build-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me>
2022-12-31 15:29:53 +00:00
@@ -847,6 +847,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;