diff options
author | Tomasz Maciej Nowak <tmn505@gmail.com> | 2022-06-07 15:58:32 +0200 |
---|---|---|
committer | Christian Lamparter <chunkeey@gmail.com> | 2022-06-24 17:10:24 +0200 |
commit | ecf936a70cce7a162d2ab29cb7a4668270fbe673 (patch) | |
tree | b0b9103078119022d71b53aca72ef3d846738743 | |
parent | 5fca475b1ade5dd9bf093bc4afef56badf8cf2f7 (diff) | |
download | upstream-ecf936a70cce7a162d2ab29cb7a4668270fbe673.tar.gz upstream-ecf936a70cce7a162d2ab29cb7a4668270fbe673.tar.bz2 upstream-ecf936a70cce7a162d2ab29cb7a4668270fbe673.zip |
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@gmail.com>
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
4 files changed, 1 insertions, 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; |