[openwrt/openwrt] kernel: add the latest mtd patch extending ofpart parser

LEDE Commits lede-commits at lists.infradead.org
Wed Mar 17 22:23:10 GMT 2021


rmilecki pushed a commit to openwrt/openwrt.git, branch openwrt-21.02:
https://git.openwrt.org/543007917aaa191f1908974caa95d97b1f55a72c

commit 543007917aaa191f1908974caa95d97b1f55a72c
Author: Rafał Miłecki <rafal at milecki.pl>
AuthorDate: Mon Mar 1 18:12:48 2021 +0100

    kernel: add the latest mtd patch extending ofpart parser
    
    This adds the latest version of ofpart commit. It hopefully
    1. Doesn't break compilation
    2. Doesn't break partitioning
    (this time).
    
    It's required to implement fixed partitioning with some quirks. It's
    required by bcm53xx, bcm4908, kirkwood, lantiq and mvebu.
    
    Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
    (cherry picked from commit 7a7b2fd809809fbd7045bd3dad4fc896a6fef06f)
---
 .../patches-5.4/404-mtd-cybertan-trx-parser.patch    | 12 ++++++------
 ...rs-ofpart-support-BCM4908-fixed-partitions.patch} | 16 +++++++---------
 .../430-mtd-add-myloader-partition-parser.patch      |  4 ++--
 .../435-mtd-add-routerbootpart-parser-config.patch   |  4 ++--
 ...0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch |  4 ++--
 .../patches-5.4/202-linksys-find-active-root.patch   | 12 ++++++------
 .../lantiq/patches-5.4/0101-find_active_root.patch   | 20 ++++++++++----------
 .../mvebu/patches-5.4/400-find_active_root.patch     | 12 ++++++------
 8 files changed, 41 insertions(+), 43 deletions(-)

diff --git a/target/linux/ath79/patches-5.4/404-mtd-cybertan-trx-parser.patch b/target/linux/ath79/patches-5.4/404-mtd-cybertan-trx-parser.patch
index 1ebf87c610..59ee57d277 100644
--- a/target/linux/ath79/patches-5.4/404-mtd-cybertan-trx-parser.patch
+++ b/target/linux/ath79/patches-5.4/404-mtd-cybertan-trx-parser.patch
@@ -1,18 +1,18 @@
 --- a/drivers/mtd/parsers/Makefile
 +++ b/drivers/mtd/parsers/Makefile
-@@ -5,6 +5,7 @@ obj-$(CONFIG_MTD_BCM63XX_PARTS)		+= bcm6
- obj-$(CONFIG_MTD_CMDLINE_PARTS)		+= cmdlinepart.o
- obj-$(CONFIG_MTD_MYLOADER_PARTS)		+= myloader.o
+@@ -7,6 +7,7 @@ obj-$(CONFIG_MTD_MYLOADER_PARTS)		+= myl
  obj-$(CONFIG_MTD_OF_PARTS)		+= ofpart.o
+ ofpart-y				+= ofpart_core.o
+ ofpart-$(CONFIG_MTD_OF_PARTS_BCM4908)	+= ofpart_bcm4908.o
 +obj-$(CONFIG_MTD_PARSER_CYBERTAN)	+= parser_cybertan.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/Kconfig
 +++ b/drivers/mtd/parsers/Kconfig
-@@ -83,6 +83,14 @@ config MTD_OF_PARTS
- 	  flash memory node, as described in
- 	  Documentation/devicetree/bindings/mtd/partition.txt.
+@@ -92,6 +92,14 @@ config MTD_OF_PARTS_BCM4908
+ 	  that can have multiple "firmware" partitions. It takes care of
+ 	  finding currently used one and backup ones.
  
 +config MTD_PARSER_CYBERTAN
 +	tristate "Parser for Cybertan format partitions"
diff --git a/target/linux/bcm4908/patches-5.4/400-mtd-parsers-ofpart-support-BCM4908-fixed-partitions.patch b/target/linux/generic/pending-5.4/404-v5.13-mtd-parsers-ofpart-support-BCM4908-fixed-partitions.patch
similarity index 97%
rename from target/linux/bcm4908/patches-5.4/400-mtd-parsers-ofpart-support-BCM4908-fixed-partitions.patch
rename to target/linux/generic/pending-5.4/404-v5.13-mtd-parsers-ofpart-support-BCM4908-fixed-partitions.patch
index ace0c77c09..8f292bd177 100644
--- a/target/linux/bcm4908/patches-5.4/400-mtd-parsers-ofpart-support-BCM4908-fixed-partitions.patch
+++ b/target/linux/generic/pending-5.4/404-v5.13-mtd-parsers-ofpart-support-BCM4908-fixed-partitions.patch
@@ -1,4 +1,4 @@
-From 3924b0384a0cd20245e2ffb55c45c2ace737a061 Mon Sep 17 00:00:00 2001
+From afbef8efb591792579c633a7c545f914c6165f82 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal at milecki.pl>
 Date: Thu, 11 Feb 2021 23:04:27 +0100
 Subject: [PATCH] mtd: parsers: ofpart: support BCM4908 fixed partitions
@@ -22,17 +22,17 @@ Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
 ---
  drivers/mtd/parsers/Kconfig                   |  9 +++
  drivers/mtd/parsers/Makefile                  |  2 +
- drivers/mtd/parsers/ofpart_bcm4908.c          | 66 +++++++++++++++++++
+ drivers/mtd/parsers/ofpart_bcm4908.c          | 64 +++++++++++++++++++
  drivers/mtd/parsers/ofpart_bcm4908.h          | 15 +++++
  .../mtd/parsers/{ofpart.c => ofpart_core.c}   | 28 +++++++-
- 5 files changed, 118 insertions(+), 2 deletions(-)
+ 5 files changed, 116 insertions(+), 2 deletions(-)
  create mode 100644 drivers/mtd/parsers/ofpart_bcm4908.c
  create mode 100644 drivers/mtd/parsers/ofpart_bcm4908.h
  rename drivers/mtd/parsers/{ofpart.c => ofpart_core.c} (88%)
 
 --- a/drivers/mtd/parsers/Kconfig
 +++ b/drivers/mtd/parsers/Kconfig
-@@ -83,6 +83,15 @@ config MTD_OF_PARTS
+@@ -67,6 +67,15 @@ config MTD_OF_PARTS
  	  flash memory node, as described in
  	  Documentation/devicetree/bindings/mtd/partition.txt.
  
@@ -50,9 +50,9 @@ Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
  	depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST
 --- a/drivers/mtd/parsers/Makefile
 +++ b/drivers/mtd/parsers/Makefile
-@@ -5,6 +5,8 @@ obj-$(CONFIG_MTD_BCM63XX_PARTS)		+= bcm6
+@@ -4,6 +4,8 @@ obj-$(CONFIG_MTD_BCM47XX_PARTS)		+= bcm4
+ obj-$(CONFIG_MTD_BCM63XX_PARTS)		+= bcm63xxpart.o
  obj-$(CONFIG_MTD_CMDLINE_PARTS)		+= cmdlinepart.o
- obj-$(CONFIG_MTD_MYLOADER_PARTS)		+= myloader.o
  obj-$(CONFIG_MTD_OF_PARTS)		+= ofpart.o
 +ofpart-y				+= ofpart_core.o
 +ofpart-$(CONFIG_MTD_OF_PARTS_BCM4908)	+= ofpart_bcm4908.o
@@ -61,7 +61,7 @@ Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
  obj-$(CONFIG_MTD_PARSER_TRX)		+= parser_trx.o
 --- /dev/null
 +++ b/drivers/mtd/parsers/ofpart_bcm4908.c
-@@ -0,0 +1,66 @@
+@@ -0,0 +1,64 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
 + * Copyright (C) 2021 Rafał Miłecki <rafal at milecki.pl>
@@ -126,8 +126,6 @@ Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
 +
 +	return 0;
 +}
-+
-+MODULE_LICENSE("GPL");
 --- /dev/null
 +++ b/drivers/mtd/parsers/ofpart_bcm4908.h
 @@ -0,0 +1,15 @@
diff --git a/target/linux/generic/pending-5.4/430-mtd-add-myloader-partition-parser.patch b/target/linux/generic/pending-5.4/430-mtd-add-myloader-partition-parser.patch
index 9600dfc67a..3319ed94c2 100644
--- a/target/linux/generic/pending-5.4/430-mtd-add-myloader-partition-parser.patch
+++ b/target/linux/generic/pending-5.4/430-mtd-add-myloader-partition-parser.patch
@@ -41,8 +41,8 @@ Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
  obj-$(CONFIG_MTD_CMDLINE_PARTS)		+= cmdlinepart.o
 +obj-$(CONFIG_MTD_MYLOADER_PARTS)		+= myloader.o
  obj-$(CONFIG_MTD_OF_PARTS)		+= ofpart.o
- obj-$(CONFIG_MTD_PARSER_IMAGETAG)	+= parser_imagetag.o
- obj-$(CONFIG_MTD_AFS_PARTS)		+= afs.o
+ ofpart-y				+= ofpart_core.o
+ ofpart-$(CONFIG_MTD_OF_PARTS_BCM4908)	+= ofpart_bcm4908.o
 --- /dev/null
 +++ b/drivers/mtd/parsers/myloader.c
 @@ -0,0 +1,181 @@
diff --git a/target/linux/generic/pending-5.4/435-mtd-add-routerbootpart-parser-config.patch b/target/linux/generic/pending-5.4/435-mtd-add-routerbootpart-parser-config.patch
index 1523e757c7..7853cae325 100644
--- a/target/linux/generic/pending-5.4/435-mtd-add-routerbootpart-parser-config.patch
+++ b/target/linux/generic/pending-5.4/435-mtd-add-routerbootpart-parser-config.patch
@@ -16,7 +16,7 @@ Signed-off-by: Thibaut VARÈNE <hacks at slashdirt.org>
 
 --- a/drivers/mtd/parsers/Kconfig
 +++ b/drivers/mtd/parsers/Kconfig
-@@ -176,3 +176,12 @@ config MTD_REDBOOT_PARTS_READONLY
+@@ -185,3 +185,12 @@ config MTD_REDBOOT_PARTS_READONLY
  	  'FIS directory' images, enable this option.
  
  endif # MTD_REDBOOT_PARTS
@@ -31,7 +31,7 @@ Signed-off-by: Thibaut VARÈNE <hacks at slashdirt.org>
 +	 formatted DTS.
 --- a/drivers/mtd/parsers/Makefile
 +++ b/drivers/mtd/parsers/Makefile
-@@ -10,3 +10,4 @@ obj-$(CONFIG_MTD_AFS_PARTS)		+= afs.o
+@@ -12,3 +12,4 @@ obj-$(CONFIG_MTD_AFS_PARTS)		+= afs.o
  obj-$(CONFIG_MTD_PARSER_TRX)		+= parser_trx.o
  obj-$(CONFIG_MTD_SHARPSL_PARTS)		+= sharpslpart.o
  obj-$(CONFIG_MTD_REDBOOT_PARTS)		+= redboot.o
diff --git a/target/linux/ipq806x/patches-5.4/0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch b/target/linux/ipq806x/patches-5.4/0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch
index 6aa404c8c5..0b54e0772e 100644
--- a/target/linux/ipq806x/patches-5.4/0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch
+++ b/target/linux/ipq806x/patches-5.4/0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch
@@ -18,7 +18,7 @@ Signed-off-by: Ram Chandra Jangir <rjangi at codeaurora.org>
 
 --- a/drivers/mtd/parsers/Kconfig
 +++ b/drivers/mtd/parsers/Kconfig
-@@ -119,6 +119,13 @@ config MTD_PARSER_TRX
+@@ -128,6 +128,13 @@ config MTD_PARSER_TRX
  	  This driver will parse TRX header and report at least two partitions:
  	  kernel and rootfs.
  
@@ -34,7 +34,7 @@ Signed-off-by: Ram Chandra Jangir <rjangi at codeaurora.org>
  	depends on MTD_NAND_SHARPSL || MTD_NAND_TMIO || COMPILE_TEST
 --- a/drivers/mtd/parsers/Makefile
 +++ b/drivers/mtd/parsers/Makefile
-@@ -8,6 +8,7 @@ obj-$(CONFIG_MTD_OF_PARTS)		+= ofpart.o
+@@ -10,6 +10,7 @@ ofpart-$(CONFIG_MTD_OF_PARTS_BCM4908)	+=
  obj-$(CONFIG_MTD_PARSER_IMAGETAG)	+= parser_imagetag.o
  obj-$(CONFIG_MTD_AFS_PARTS)		+= afs.o
  obj-$(CONFIG_MTD_PARSER_TRX)		+= parser_trx.o
diff --git a/target/linux/kirkwood/patches-5.4/202-linksys-find-active-root.patch b/target/linux/kirkwood/patches-5.4/202-linksys-find-active-root.patch
index b7e7f50271..cc35583b98 100644
--- a/target/linux/kirkwood/patches-5.4/202-linksys-find-active-root.patch
+++ b/target/linux/kirkwood/patches-5.4/202-linksys-find-active-root.patch
@@ -3,9 +3,9 @@ Dynamically rename the active partition to "ubi".
 
 Signed-off-by: Imre Kaloz <kaloz at openwrt.org>
 ---
---- a/drivers/mtd/parsers/ofpart.c
-+++ b/drivers/mtd/parsers/ofpart.c
-@@ -21,6 +21,8 @@ static bool node_has_compatible(struct d
+--- a/drivers/mtd/parsers/ofpart_core.c
++++ b/drivers/mtd/parsers/ofpart_core.c
+@@ -33,6 +33,8 @@ static bool node_has_compatible(struct d
  	return of_get_property(pp, "compatible", NULL);
  }
  
@@ -14,7 +14,7 @@ Signed-off-by: Imre Kaloz <kaloz at openwrt.org>
  static int parse_fixed_partitions(struct mtd_info *master,
  				  const struct mtd_partition **pparts,
  				  struct mtd_part_parser_data *data)
-@@ -28,6 +30,7 @@ static int parse_fixed_partitions(struct
+@@ -42,6 +44,7 @@ static int parse_fixed_partitions(struct
  	struct mtd_partition *parts;
  	struct device_node *mtd_node;
  	struct device_node *ofpart_node;
@@ -22,7 +22,7 @@ Signed-off-by: Imre Kaloz <kaloz at openwrt.org>
  	const char *partname;
  	struct device_node *pp;
  	int nr_parts, i, ret = 0;
-@@ -106,9 +109,15 @@ static int parse_fixed_partitions(struct
+@@ -124,9 +127,15 @@ static int parse_fixed_partitions(struct
  		parts[i].size = of_read_number(reg + a_cells, s_cells);
  		parts[i].of_node = pp;
  
@@ -41,7 +41,7 @@ Signed-off-by: Imre Kaloz <kaloz at openwrt.org>
  		parts[i].name = partname;
  
  		if (of_get_property(pp, "read-only", &len))
-@@ -215,6 +224,18 @@ static int __init ofpart_parser_init(voi
+@@ -239,6 +248,18 @@ static int __init ofpart_parser_init(voi
  	return 0;
  }
  
diff --git a/target/linux/lantiq/patches-5.4/0101-find_active_root.patch b/target/linux/lantiq/patches-5.4/0101-find_active_root.patch
index b6b4ab7409..d541cc247c 100644
--- a/target/linux/lantiq/patches-5.4/0101-find_active_root.patch
+++ b/target/linux/lantiq/patches-5.4/0101-find_active_root.patch
@@ -1,6 +1,6 @@
---- a/drivers/mtd/parsers/ofpart.c
-+++ b/drivers/mtd/parsers/ofpart.c
-@@ -21,6 +21,38 @@ static bool node_has_compatible(struct d
+--- a/drivers/mtd/parsers/ofpart_core.c
++++ b/drivers/mtd/parsers/ofpart_core.c
+@@ -33,6 +33,38 @@ static bool node_has_compatible(struct d
  	return of_get_property(pp, "compatible", NULL);
  }
  
@@ -39,17 +39,16 @@
  static int parse_fixed_partitions(struct mtd_info *master,
  				  const struct mtd_partition **pparts,
  				  struct mtd_part_parser_data *data)
-@@ -32,7 +64,8 @@ static int parse_fixed_partitions(struct
+@@ -46,6 +78,8 @@ static int parse_fixed_partitions(struct
  	struct device_node *pp;
  	int nr_parts, i, ret = 0;
  	bool dedicated = true;
--
 +	uint8_t *proot_id = NULL;
 +	struct device_node **part_nodes;
  
  	/* Pull of_node from the master device node */
  	mtd_node = mtd_get_of_node(master);
-@@ -68,7 +101,9 @@ static int parse_fixed_partitions(struct
+@@ -86,7 +120,9 @@ static int parse_fixed_partitions(struct
  		return 0;
  
  	parts = kcalloc(nr_parts, sizeof(*parts), GFP_KERNEL);
@@ -60,7 +59,7 @@
  		return -ENOMEM;
  
  	i = 0;
-@@ -117,12 +152,22 @@ static int parse_fixed_partitions(struct
+@@ -135,6 +171,11 @@ static int parse_fixed_partitions(struct
  		if (of_get_property(pp, "lock", &len))
  			parts[i].mask_flags |= MTD_POWERUP_LOCK;
  
@@ -72,8 +71,9 @@
  		i++;
  	}
  
- 	if (!nr_parts)
- 		goto ofpart_none;
+@@ -144,6 +185,11 @@ static int parse_fixed_partitions(struct
+ 	if (quirks && quirks->post_parse)
+ 		quirks->post_parse(master, parts, nr_parts);
  
 +	if (proot_id)
 +		brnboot_set_active_root_part(parts, part_nodes, nr_parts, proot_id);
@@ -83,7 +83,7 @@
  	*pparts = parts;
  	return nr_parts;
  
-@@ -133,6 +178,7 @@ ofpart_fail:
+@@ -154,6 +200,7 @@ ofpart_fail:
  ofpart_none:
  	of_node_put(pp);
  	kfree(parts);
diff --git a/target/linux/mvebu/patches-5.4/400-find_active_root.patch b/target/linux/mvebu/patches-5.4/400-find_active_root.patch
index 854031b0d5..8475bec925 100644
--- a/target/linux/mvebu/patches-5.4/400-find_active_root.patch
+++ b/target/linux/mvebu/patches-5.4/400-find_active_root.patch
@@ -3,9 +3,9 @@ Dynamically rename the active partition to "ubi".
 
 Signed-off-by: Imre Kaloz <kaloz at openwrt.org>
 
---- a/drivers/mtd/parsers/ofpart.c
-+++ b/drivers/mtd/parsers/ofpart.c
-@@ -21,6 +21,8 @@ static bool node_has_compatible(struct d
+--- a/drivers/mtd/parsers/ofpart_core.c
++++ b/drivers/mtd/parsers/ofpart_core.c
+@@ -33,6 +33,8 @@ static bool node_has_compatible(struct d
  	return of_get_property(pp, "compatible", NULL);
  }
  
@@ -14,7 +14,7 @@ Signed-off-by: Imre Kaloz <kaloz at openwrt.org>
  static int parse_fixed_partitions(struct mtd_info *master,
  				  const struct mtd_partition **pparts,
  				  struct mtd_part_parser_data *data)
-@@ -29,6 +31,7 @@ static int parse_fixed_partitions(struct
+@@ -43,6 +45,7 @@ static int parse_fixed_partitions(struct
  	struct device_node *mtd_node;
  	struct device_node *ofpart_node;
  	const char *partname;
@@ -22,7 +22,7 @@ Signed-off-by: Imre Kaloz <kaloz at openwrt.org>
  	struct device_node *pp;
  	int nr_parts, i, ret = 0;
  	bool dedicated = true;
-@@ -106,9 +109,13 @@ static int parse_fixed_partitions(struct
+@@ -124,9 +127,13 @@ static int parse_fixed_partitions(struct
  		parts[i].size = of_read_number(reg + a_cells, s_cells);
  		parts[i].of_node = pp;
  
@@ -39,7 +39,7 @@ Signed-off-by: Imre Kaloz <kaloz at openwrt.org>
  		parts[i].name = partname;
  
  		if (of_get_property(pp, "read-only", &len))
-@@ -215,6 +222,18 @@ static int __init ofpart_parser_init(voi
+@@ -239,6 +246,18 @@ static int __init ofpart_parser_init(voi
  	return 0;
  }
  



More information about the lede-commits mailing list