[OpenWrt-Devel] [PATCH 1/2] bcm53xx: sysupgrade: call nand_do_upgrade() from platform_do_upgrade()

Rafał Miłecki zajec5 at gmail.com
Tue Jul 2 10:10:56 EDT 2019


From: Rafał Miłecki <rafal at milecki.pl>

Calling nand_do_upgrade() from platform_pre_upgrade() was obsoleted in
the commit 30f61a34b4cf ("base-files: always use staged sysupgrade").

This change brings bcm53xx in sync with other targets and allows
dropping backward compatibility code. It shouldn't change any user
visible behavior.

Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
 .../base-files/lib/upgrade/platform.sh        | 29 ++++++++-----------
 1 file changed, 12 insertions(+), 17 deletions(-)

diff --git a/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
index 5a42a36ae4..1d829c6519 100644
--- a/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
@@ -1,4 +1,4 @@
-RAMFS_COPY_BIN='osafeloader oseama'
+RAMFS_COPY_BIN='osafeloader oseama otrx'
 
 PART_NAME=firmware
 
@@ -147,7 +147,7 @@ platform_check_image() {
 
 # $(1): image for upgrade (with possible extra header)
 # $(2): offset of trx in image
-platform_pre_upgrade_trx() {
+platform_do_upgrade_nand_trx() {
 	local dir="/tmp/sysupgrade-bcm53xx"
 	local trx="$1"
 	local offset="$2"
@@ -210,7 +210,7 @@ platform_pre_upgrade_trx() {
 	nand_do_upgrade /tmp/root.ubi
 }
 
-platform_pre_upgrade_seama() {
+platform_do_upgrade_nand_seama() {
 	local dir="/tmp/sysupgrade-bcm53xx"
 	local seama="$1"
 	local tmp
@@ -257,20 +257,6 @@ platform_pre_upgrade_seama() {
 	nand_do_upgrade $dir/root.ubi
 }
 
-platform_pre_upgrade() {
-	local file_type=$(platform_identify "$1")
-
-	[ "$(platform_flash_type)" != "nand" ] && return
-
-	# Find trx offset
-	case "$file_type" in
-		"chk")		platform_pre_upgrade_trx "$1" $((0x$(get_magic_long_at "$1" 4)));;
-		"cybertan")	platform_pre_upgrade_trx "$1" 32;;
-		"seama")	platform_pre_upgrade_seama "$1";;
-		"trx")		platform_pre_upgrade_trx "$1";;
-	esac
-}
-
 platform_trx_from_chk_cmd() {
 	local header_len=$((0x$(get_magic_long_at "$1" 4)))
 
@@ -321,6 +307,15 @@ platform_do_upgrade() {
 	local cmd=
 
 	[ "$(platform_flash_type)" == "nand" ] && {
+		case "$file_type" in
+			"chk")		platform_do_upgrade_nand_trx "$1" $((0x$(get_magic_long_at "$1" 4)));;
+			"cybertan")	platform_do_upgrade_nand_trx "$1" 32;;
+			"seama")	platform_do_upgrade_nand_seama "$1";;
+			"trx")		platform_do_upgrade_nand_trx "$1";;
+		esac
+
+		# Above calls exit on success.
+		# If we got here something went wrong.
 		echo "Writing whole image to NAND flash. All erase counters will be lost."
 	}
 
-- 
2.21.0


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list