kernel: delete Linux 5.4 config and patches
[openwrt/staging/wigyori.git] / target / linux / generic / backport-5.4 / 407-v5.13-0002-mtd-parsers-ofpart-support-Linksys-Northstar-partiti.patch
diff --git a/target/linux/generic/backport-5.4/407-v5.13-0002-mtd-parsers-ofpart-support-Linksys-Northstar-partiti.patch b/target/linux/generic/backport-5.4/407-v5.13-0002-mtd-parsers-ofpart-support-Linksys-Northstar-partiti.patch
deleted file mode 100644 (file)
index 75eb939..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-From 7134a2d026d942210b4d26d6059c9d979ca7866e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
-Date: Fri, 12 Mar 2021 14:49:19 +0100
-Subject: [PATCH] mtd: parsers: ofpart: support Linksys Northstar partitions
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This allows extending ofpart parser with support for Linksys Northstar
-devices. That support uses recently added quirks mechanism.
-
-Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
-Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
-Link: https://lore.kernel.org/linux-mtd/20210312134919.7767-2-zajec5@gmail.com
----
- drivers/mtd/parsers/Kconfig             | 10 +++++
- drivers/mtd/parsers/Makefile            |  1 +
- drivers/mtd/parsers/ofpart_core.c       |  6 +++
- drivers/mtd/parsers/ofpart_linksys_ns.c | 50 +++++++++++++++++++++++++
- drivers/mtd/parsers/ofpart_linksys_ns.h | 18 +++++++++
- 5 files changed, 85 insertions(+)
- create mode 100644 drivers/mtd/parsers/ofpart_linksys_ns.c
- create mode 100644 drivers/mtd/parsers/ofpart_linksys_ns.h
-
---- a/drivers/mtd/parsers/Kconfig
-+++ b/drivers/mtd/parsers/Kconfig
-@@ -76,6 +76,16 @@ config MTD_OF_PARTS_BCM4908
-         that can have multiple "firmware" partitions. It takes care of
-         finding currently used one and backup ones.
-+config MTD_OF_PARTS_LINKSYS_NS
-+      bool "Linksys Northstar partitioning support"
-+      depends on MTD_OF_PARTS && (ARCH_BCM_5301X || ARCH_BCM4908 || COMPILE_TEST)
-+      default ARCH_BCM_5301X
-+      help
-+        This provides partitions parser for Linksys devices based on Broadcom
-+        Northstar architecture. Linksys commonly uses fixed flash layout with
-+        two "firmware" partitions. Currently used firmware has to be detected
-+        using CFE environment variable.
-+
- config MTD_PARSER_IMAGETAG
-       tristate "Parser for BCM963XX Image Tag format partitions"
-       depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST
---- a/drivers/mtd/parsers/Makefile
-+++ b/drivers/mtd/parsers/Makefile
-@@ -6,6 +6,7 @@ obj-$(CONFIG_MTD_CMDLINE_PARTS)                += cmdl
- obj-$(CONFIG_MTD_OF_PARTS)            += ofpart.o
- ofpart-y                              += ofpart_core.o
- ofpart-$(CONFIG_MTD_OF_PARTS_BCM4908) += ofpart_bcm4908.o
-+ofpart-$(CONFIG_MTD_OF_PARTS_LINKSYS_NS)+= ofpart_linksys_ns.o
- obj-$(CONFIG_MTD_PARSER_IMAGETAG)     += parser_imagetag.o
- obj-$(CONFIG_MTD_AFS_PARTS)           += afs.o
- obj-$(CONFIG_MTD_PARSER_TRX)          += parser_trx.o
---- a/drivers/mtd/parsers/ofpart_core.c
-+++ b/drivers/mtd/parsers/ofpart_core.c
-@@ -17,6 +17,7 @@
- #include <linux/mtd/partitions.h>
- #include "ofpart_bcm4908.h"
-+#include "ofpart_linksys_ns.h"
- struct fixed_partitions_quirks {
-       int (*post_parse)(struct mtd_info *mtd, struct mtd_partition *parts, int nr_parts);
-@@ -26,6 +27,10 @@ static struct fixed_partitions_quirks bc
-       .post_parse = bcm4908_partitions_post_parse,
- };
-+static struct fixed_partitions_quirks linksys_ns_partitions_quirks = {
-+      .post_parse = linksys_ns_partitions_post_parse,
-+};
-+
- static const struct of_device_id parse_ofpart_match_table[];
- static bool node_has_compatible(struct device_node *pp)
-@@ -164,6 +169,7 @@ static const struct of_device_id parse_o
-       { .compatible = "fixed-partitions" },
-       /* Customized */
-       { .compatible = "brcm,bcm4908-partitions", .data = &bcm4908_partitions_quirks, },
-+      { .compatible = "linksys,ns-partitions", .data = &linksys_ns_partitions_quirks, },
-       {},
- };
- MODULE_DEVICE_TABLE(of, parse_ofpart_match_table);
---- /dev/null
-+++ b/drivers/mtd/parsers/ofpart_linksys_ns.c
-@@ -0,0 +1,50 @@
-+// SPDX-License-Identifier: GPL-2.0
-+/*
-+ * Copyright (C) 2021 Rafał Miłecki <rafal@milecki.pl>
-+ */
-+
-+#include <linux/bcm47xx_nvram.h>
-+#include <linux/mtd/mtd.h>
-+#include <linux/mtd/partitions.h>
-+
-+#include "ofpart_linksys_ns.h"
-+
-+#define NVRAM_BOOT_PART               "bootpartition"
-+
-+static int ofpart_linksys_ns_bootpartition(void)
-+{
-+      char buf[4];
-+      int bootpartition;
-+
-+      /* Check CFE environment variable */
-+      if (bcm47xx_nvram_getenv(NVRAM_BOOT_PART, buf, sizeof(buf)) > 0) {
-+              if (!kstrtoint(buf, 0, &bootpartition))
-+                      return bootpartition;
-+              pr_warn("Failed to parse %s value \"%s\"\n", NVRAM_BOOT_PART,
-+                      buf);
-+      } else {
-+              pr_warn("Failed to get NVRAM \"%s\"\n", NVRAM_BOOT_PART);
-+      }
-+
-+      return 0;
-+}
-+
-+int linksys_ns_partitions_post_parse(struct mtd_info *mtd,
-+                                   struct mtd_partition *parts,
-+                                   int nr_parts)
-+{
-+      int bootpartition = ofpart_linksys_ns_bootpartition();
-+      int trx_idx = 0;
-+      int i;
-+
-+      for (i = 0; i < nr_parts; i++) {
-+              if (of_device_is_compatible(parts[i].of_node, "linksys,ns-firmware")) {
-+                      if (trx_idx++ == bootpartition)
-+                              parts[i].name = "firmware";
-+                      else
-+                              parts[i].name = "backup";
-+              }
-+      }
-+
-+      return 0;
-+}
---- /dev/null
-+++ b/drivers/mtd/parsers/ofpart_linksys_ns.h
-@@ -0,0 +1,18 @@
-+/* SPDX-License-Identifier: GPL-2.0 */
-+#ifndef __OFPART_LINKSYS_NS_H
-+#define __OFPART_LINKSYS_NS_H
-+
-+#ifdef CONFIG_MTD_OF_PARTS_LINKSYS_NS
-+int linksys_ns_partitions_post_parse(struct mtd_info *mtd,
-+                                   struct mtd_partition *parts,
-+                                   int nr_parts);
-+#else
-+static inline int linksys_ns_partitions_post_parse(struct mtd_info *mtd,
-+                                                 struct mtd_partition *parts,
-+                                                 int nr_parts)
-+{
-+      return -EOPNOTSUPP;
-+}
-+#endif
-+
-+#endif