[OpenWrt-Devel] [PATCH 1/2] treewide: sysupgrade: get rid of platform_nand_pre_upgrade()

Rafał Miłecki zajec5 at gmail.com
Wed Jul 17 05:32:54 EDT 2019


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

1) nand_do_upgrade() is always called by a target code
2) nand_do_upgrade() starts with calling platform_nand_pre_upgrade()

It means there is no need for the platform_nand_pre_upgrade() callback
at all. All code that was present there could bo moved & simplly called
by a target right before the nand_do_upgrade().

Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
 .../ar71xx/base-files/lib/upgrade/platform.sh | 73 ++++++++++---------
 .../base-files/lib/upgrade/platform.sh        | 34 +++------
 .../base-files/lib/upgrade/platform.sh        | 14 +---
 .../ipq806x/base-files/lib/upgrade/zyxel.sh   |  2 +
 .../base-files/lib/upgrade/platform.sh        |  5 +-
 .../ramips/base-files/lib/upgrade/platform.sh | 17 +----
 .../ramips/base-files/lib/upgrade/ubnt.sh     |  2 +
 .../rb532/base-files/lib/upgrade/platform.sh  |  5 +-
 8 files changed, 64 insertions(+), 88 deletions(-)

diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index 5de7af667f..6898c0e0c2 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -746,36 +746,35 @@ platform_check_image() {
 	return 1
 }
 
-platform_nand_pre_upgrade() {
-	local board=$(board_name)
+platform_do_upgrade_mikrotik_rb() {
+	CI_KERNPART=none
+	local fw_mtd=$(find_mtd_part kernel)
+	fw_mtd="${fw_mtd/block/}"
+	[ -n "$fw_mtd" ] || return
+	mtd erase kernel
+	tar xf "$1" sysupgrade-routerboard/kernel -O | nandwrite -o "$fw_mtd" -
+
+	nand_do_upgrade "$1"
+}
 
-	case "$board" in
-	rb*)
-		CI_KERNPART=none
-		local fw_mtd=$(find_mtd_part kernel)
-		fw_mtd="${fw_mtd/block/}"
-		[ -n "$fw_mtd" ] || return
-		mtd erase kernel
-		tar xf "$1" sysupgrade-routerboard/kernel -O | nandwrite -o "$fw_mtd" -
+platform_do_upgrade_nokia() {
+	case "$(fw_printenv -n dualPartition)" in
+		imgA)
+			fw_setenv dualPartition imgB
+			fw_setenv ActImg NokiaImageB
 		;;
-	wi2a-ac200i)
-		case "$(fw_printenv -n dualPartition)" in
-			imgA)
-				fw_setenv dualPartition imgB
-				fw_setenv ActImg NokiaImageB
-			;;
-			imgB)
-				fw_setenv dualPartition imgA
-				fw_setenv ActImg NokiaImageA
-			;;
-		esac
-		ubiblock -r /dev/ubiblock0_0 2>/dev/null >/dev/null
-		rm -f /dev/ubiblock0_0
-		ubidetach -d 0 2>/dev/null >/dev/null
-		CI_UBIPART=ubi_alt
-		CI_KERNPART=kernel_alt
+		imgB)
+			fw_setenv dualPartition imgA
+			fw_setenv ActImg NokiaImageA
 		;;
 	esac
+	ubiblock -r /dev/ubiblock0_0 2>/dev/null >/dev/null
+	rm -f /dev/ubiblock0_0
+	ubidetach -d 0 2>/dev/null >/dev/null
+	CI_UBIPART=ubi_alt
+	CI_KERNPART=kernel_alt
+
+	nand_do_upgrade "$1"
 }
 
 platform_do_upgrade() {
@@ -859,6 +858,14 @@ platform_do_upgrade() {
 	nbg6716|\
 	r6100|\
 	rambutan|\
+	wndr3700v4|\
+	wndr4300)
+		nand_do_upgrade "$1"
+		;;
+	mr18|\
+	z1)
+		merakinand_do_upgrade "$1"
+		;;
 	rb-411|\
 	rb-411u|\
 	rb-433|\
@@ -890,21 +897,17 @@ platform_do_upgrade() {
 	rb-2011uias-2hnd|\
 	rb-2011uias-2hnd-r2|\
 	rb-sxt2n|\
-	rb-sxt5n|\
-	wi2a-ac200i|\
-	wndr3700v4|\
-	wndr4300)
-		nand_do_upgrade "$1"
-		;;
-	mr18|\
-	z1)
-		merakinand_do_upgrade "$1"
+	rb-sxt5n)
+		platform_do_upgrade_mikrotik_rb "$1"
 		;;
 	uap-pro|\
 	unifi-outdoor-plus)
 		MTD_CONFIG_ARGS="-s 0x180000"
 		default_do_upgrade "$1"
 		;;
+	wi2a-ac200i)
+		platform_do_upgrade_nokia "$1"
+		;;
 	wp543|\
 	wpe72)
 		platform_do_upgrade_compex "$1"
diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
index a5e39c280c..dac773d2fe 100644
--- a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
@@ -47,12 +47,22 @@ zyxel_do_upgrade() {
 platform_do_upgrade() {
 	case "$(board_name)" in
 	8dev,jalapeno |\
-	alfa-network,ap120c-ac |\
 	avm,fritzbox-7530 |\
 	avm,fritzrepeater-3000 |\
 	qxwlan,e2600ac-c2)
 		nand_do_upgrade "$1"
 		;;
+	alfa-network,ap120c-ac)
+		part="$(awk -F 'ubi.mtd=' '{printf $2}' /proc/cmdline | sed -e 's/ .*$//')"
+		if [ "$part" = "rootfs1" ]; then
+			fw_setenv active 2 || exit 1
+			CI_UBIPART="rootfs2"
+		else
+			fw_setenv active 1 || exit 1
+			CI_UBIPART="rootfs1"
+		fi
+		nand_do_upgrade "$1"
+		;;
 	asus,map-ac2200)
 		CI_KERNPART="linux"
 		nand_do_upgrade "$1"
@@ -83,25 +93,3 @@ platform_do_upgrade() {
 		;;
 	esac
 }
-
-platform_nand_pre_upgrade() {
-	case "$(board_name)" in
-	alfa-network,ap120c-ac)
-		part="$(awk -F 'ubi.mtd=' '{printf $2}' /proc/cmdline | sed -e 's/ .*$//')"
-		if [ "$part" = "rootfs1" ]; then
-			fw_setenv active 2 || exit 1
-			CI_UBIPART="rootfs2"
-		else
-			fw_setenv active 1 || exit 1
-			CI_UBIPART="rootfs1"
-		fi
-		;;
-	asus,rt-ac58u)
-		CI_UBIPART="UBI_DEV"
-		CI_KERNPART="linux"
-		;;
-	meraki,mr33)
-		CI_KERNPART="part.safe"
-		;;
-	esac
-}
diff --git a/target/linux/ipq806x/base-files/lib/upgrade/platform.sh b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
index 5919613cb9..b61047ff70 100644
--- a/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
@@ -21,10 +21,12 @@ platform_do_upgrade() {
 	netgear,r7500v2 |\
 	netgear,r7800 |\
 	qcom,ipq8064-ap148 |\
-	qcom,ipq8064-ap161 |\
-	zyxel,nbg6817)
+	qcom,ipq8064-ap161)
 		nand_do_upgrade "$1"
 		;;
+	zyxel,nbg6817)
+		zyxel_do_upgrade "$1"
+		;;
 	linksys,ea8500)
 		platform_do_upgrade_linksys "$1"
 		;;
@@ -44,11 +46,3 @@ platform_do_upgrade() {
 		;;
 	esac
 }
-
-platform_nand_pre_upgrade() {
-	case "$(board_name)" in
-	zyxel,nbg6817)
-		zyxel_do_upgrade "$1"
-		;;
-	esac
-}
diff --git a/target/linux/ipq806x/base-files/lib/upgrade/zyxel.sh b/target/linux/ipq806x/base-files/lib/upgrade/zyxel.sh
index ba8e825956..33cd98339c 100644
--- a/target/linux/ipq806x/base-files/lib/upgrade/zyxel.sh
+++ b/target/linux/ipq806x/base-files/lib/upgrade/zyxel.sh
@@ -118,5 +118,7 @@ zyxel_do_upgrade() {
 
 	zyxel_do_flash $tar_file $kernel $rootfs $dualflagmtd
 
+	nand_do_upgrade "$1"
+
 	return 0
 }
diff --git a/target/linux/pistachio/base-files/lib/upgrade/platform.sh b/target/linux/pistachio/base-files/lib/upgrade/platform.sh
index 4de019a27c..174c321d38 100755
--- a/target/linux/pistachio/base-files/lib/upgrade/platform.sh
+++ b/target/linux/pistachio/base-files/lib/upgrade/platform.sh
@@ -26,10 +26,7 @@ platform_do_upgrade() {
 	# stage2 directly but need to refactor nand_upgrade_success
 	# for this to work.
 	#   Also the nand functions don't allow url to be used
-	nand_do_upgrade $1
-}
 
-platform_nand_pre_upgrade() {
 	local board=$(board_name)
 
 	case "$board" in
@@ -48,4 +45,6 @@ platform_nand_pre_upgrade() {
 		echo "Upgrading partition $CI_UBIPART (/dev/mtd$(find_mtd_index $CI_UBIPART))"
 		;;
 	esac
+
+	nand_do_upgrade $1
 }
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index ae7a72c649..a65492a309 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -9,17 +9,6 @@ platform_check_image() {
 	return 0
 }
 
-platform_nand_pre_upgrade() {
-	local board=$(board_name)
-
-	case "$board" in
-	ubiquiti,edgerouterx|\
-	ubiquiti,edgerouterx-sfp)
-		platform_upgrade_ubnt_erx "$1"
-		;;
-	esac
-}
-
 platform_do_upgrade() {
 	local board=$(board_name)
 
@@ -35,8 +24,6 @@ platform_do_upgrade() {
 	hiwifi,hc5962|\
 	netgear,r6220|\
 	netgear,r6350|\
-	ubiquiti,edgerouterx|\
-	ubiquiti,edgerouterx-sfp|\
 	xiaomi,mir3g|\
 	xiaomi,mir3p)
 		nand_do_upgrade "$1"
@@ -45,6 +32,10 @@ platform_do_upgrade() {
 		MTD_ARGS="-t romfile"
 		default_do_upgrade "$1"
 		;;
+	ubiquiti,edgerouterx|\
+	ubiquiti,edgerouterx-sfp)
+		platform_upgrade_ubnt_erx "$1"
+		;;
 	*)
 		default_do_upgrade "$1"
 		;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/ubnt.sh b/target/linux/ramips/base-files/lib/upgrade/ubnt.sh
index 316a70444f..748ec8e628 100644
--- a/target/linux/ramips/base-files/lib/upgrade/ubnt.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/ubnt.sh
@@ -73,4 +73,6 @@ platform_upgrade_ubnt_erx() {
 	fi
 
 	ubnt_update_target_kernel ${factory_mtd} ${kernel_part} || exit 1
+
+	nand_do_upgrade "$1"
 }
diff --git a/target/linux/rb532/base-files/lib/upgrade/platform.sh b/target/linux/rb532/base-files/lib/upgrade/platform.sh
index a6a6e9b8d3..334d6e2ff6 100644
--- a/target/linux/rb532/base-files/lib/upgrade/platform.sh
+++ b/target/linux/rb532/base-files/lib/upgrade/platform.sh
@@ -10,11 +10,8 @@ platform_check_image() {
 	return 0;
 }
 
-platform_nand_pre_upgrade() {
+platform_do_upgrade() {
 	mtd erase kernel
 	tar xf "$1" "sysupgrade-$(board_name)/kernel" -O | nandwrite -o /dev/mtd0 -
-}
-
-platform_do_upgrade() {
 	nand_do_upgrade "$1"
 }
-- 
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