[openwrt/openwrt] ath79: bsap18x0: specify FIS directory location in dts

LEDE Commits lede-commits at lists.infradead.org
Fri Jun 24 08:11:26 PDT 2022


chunkeey pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/ecf936a70cce7a162d2ab29cb7a4668270fbe673

commit ecf936a70cce7a162d2ab29cb7a4668270fbe673
Author: Tomasz Maciej Nowak <tmn505 at gmail.com>
AuthorDate: Tue Jun 7 15:58:32 2022 +0200

    ath79: bsap18x0: specify FIS directory location in dts
    
    The redboot-fis parser has option to specify the location of FIS
    directory, use that, instead of patching the parser to scan for it, and
    specifying location in kernel config.
    
    Tested-by: Brian Gonyer <bgonyer at gmail.com>
    Signed-off-by: Tomasz Maciej Nowak <tmn505 at gmail.com>
---
 target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi |  1 +
 target/linux/ath79/generic/config-default          |  1 -
 .../408-mtd-redboot_partition_scan.patch           | 44 ---------------------
 .../408-mtd-redboot_partition_scan.patch           | 45 ----------------------
 4 files changed, 1 insertion(+), 90 deletions(-)

diff --git a/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi b/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi
index a6ad8e490a..d7b961d8f6 100644
--- a/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi
+++ b/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi
@@ -86,6 +86,7 @@
 			#address-cells = <1>;
 			#size-cells = <1>;
 			compatible = "redboot-fis";
+			fis-index-block = <0xfd>;
 		};
 	};
 };
diff --git a/target/linux/ath79/generic/config-default b/target/linux/ath79/generic/config-default
index 21e14aa3ab..f160cc8d07 100644
--- a/target/linux/ath79/generic/config-default
+++ b/target/linux/ath79/generic/config-default
@@ -13,7 +13,6 @@ CONFIG_IP17XX_PHY=y
 CONFIG_LEDS_RESET=y
 CONFIG_MARVELL_PHY=y
 CONFIG_MICREL_PHY=y
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-3
 CONFIG_MTD_REDBOOT_PARTS=y
 CONFIG_MTD_SPLIT_EVA_FW=y
 CONFIG_PHY_AR7100_USB=y
diff --git a/target/linux/ath79/patches-5.10/408-mtd-redboot_partition_scan.patch b/target/linux/ath79/patches-5.10/408-mtd-redboot_partition_scan.patch
deleted file mode 100644
index e5b06e14a5..0000000000
--- a/target/linux/ath79/patches-5.10/408-mtd-redboot_partition_scan.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- a/drivers/mtd/parsers/redboot.c
-+++ b/drivers/mtd/parsers/redboot.c
-@@ -90,12 +90,18 @@ static int parse_redboot_partitions(stru
- 
- 	parse_redboot_of(master);
- 
-+	buf = vmalloc(master->erasesize);
-+	if (!buf)
-+		return -ENOMEM;
-+
-+ restart:
- 	if ( directory < 0 ) {
- 		offset = master->size + directory * master->erasesize;
- 		while (mtd_block_isbad(master, offset)) {
- 			if (!offset) {
- 			nogood:
- 				printk(KERN_NOTICE "Failed to find a non-bad block to check for RedBoot partition table\n");
-+				vfree(buf);
- 				return -EIO;
- 			}
- 			offset -= master->erasesize;
-@@ -108,10 +114,6 @@ static int parse_redboot_partitions(stru
- 				goto nogood;
- 		}
- 	}
--	buf = vmalloc(master->erasesize);
--
--	if (!buf)
--		return -ENOMEM;
- 
- 	printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n",
- 	       master->name, offset);
-@@ -184,6 +186,11 @@ static int parse_redboot_partitions(stru
- 	}
- 	if (i == numslots) {
- 		/* Didn't find it */
-+		if (offset + master->erasesize < master->size) {
-+			/* not at the end of the flash yet, maybe next block :) */
-+			directory++;
-+			goto restart;
-+		}
- 		printk(KERN_NOTICE "No RedBoot partition table detected in %s\n",
- 		       master->name);
- 		ret = 0;
diff --git a/target/linux/ath79/patches-5.15/408-mtd-redboot_partition_scan.patch b/target/linux/ath79/patches-5.15/408-mtd-redboot_partition_scan.patch
deleted file mode 100644
index 07c0a258ae..0000000000
--- a/target/linux/ath79/patches-5.15/408-mtd-redboot_partition_scan.patch
+++ /dev/null
@@ -1,45 +0,0 @@
---- a/drivers/mtd/parsers/redboot.c
-+++ b/drivers/mtd/parsers/redboot.c
-@@ -90,12 +90,18 @@ static int parse_redboot_partitions(stru
- 
- 	parse_redboot_of(master);
- 
-+	buf = vmalloc(master->erasesize);
-+	if (!buf)
-+		return -ENOMEM;
-+
-+ restart:
- 	if (directory < 0) {
- 		offset = master->size + directory * master->erasesize;
- 		while (mtd_block_isbad(master, offset)) {
- 			if (!offset) {
- nogood:
- 				pr_notice("Failed to find a non-bad block to check for RedBoot partition table\n");
-+				vfree(buf);
- 				return -EIO;
- 			}
- 			offset -= master->erasesize;
-@@ -108,10 +114,6 @@ nogood:
- 				goto nogood;
- 		}
- 	}
--	buf = vmalloc(master->erasesize);
--
--	if (!buf)
--		return -ENOMEM;
- 
- 	pr_notice("Searching for RedBoot partition table in %s at offset 0x%lx\n",
- 		  master->name, offset);
-@@ -183,6 +185,12 @@ nogood:
- 	}
- 	if (i == numslots) {
- 		/* Didn't find it */
-+		if (offset + master->erasesize < master->size) {
-+			/* not at the end of the flash yet, maybe next block :) */
-+			directory++;
-+			goto restart;
-+		}
-+
- 		pr_notice("No RedBoot partition table detected in %s\n",
- 			  master->name);
- 		ret = 0;




More information about the lede-commits mailing list