[PATCH v3 7/7] ath79: bsap18x0: specify FIS directory location in dts
Tomasz Maciej Nowak
tmn505 at terefe.re
Tue Jun 7 06:58:32 PDT 2022
From: Tomasz Maciej Nowak <tmn505 at gmail.com>
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>
---
.../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(-)
delete mode 100644 target/linux/ath79/patches-5.10/408-mtd-redboot_partition_scan.patch
delete mode 100644 target/linux/ath79/patches-5.15/408-mtd-redboot_partition_scan.patch
diff --git a/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi b/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi
index d711ca92d3f4..a4cd6b4c8d7d 100644
--- a/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi
+++ b/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi
@@ -88,6 +88,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 0ac756642fe1..6739aa08d443 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 e5b06e14a568..000000000000
--- 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 07c0a258ae53..000000000000
--- 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;
--
2.36.1
More information about the openwrt-devel
mailing list