bcm53xx: sysupgrade: call nand_do_upgrade() from platform_do_upgrade()
[openwrt/openwrt.git] / target / linux / bcm53xx / base-files / lib / upgrade / platform.sh
index 5a42a36ae4f7af14be314f038ad465d8aff2e20b..1d829c65194e5fb40fe29ca59e6ba43fc22f5325 100644 (file)
@@ -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."
        }