uboot-envtools: filogic: de-duplicate UBI env settings
authorDaniel Golle <daniel@makrotopia.org>
Mon, 27 Nov 2023 03:59:32 +0000 (03:59 +0000)
committerDaniel Golle <daniel@makrotopia.org>
Thu, 15 Feb 2024 19:30:08 +0000 (19:30 +0000)
Use function instead of duplicating the env settings on UBI for
OpenWrt-built U-Boot over and over.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
package/boot/uboot-envtools/files/mediatek_filogic

index 17a63302c29d132d761296e9f647102eff592be6..01d816d99132135c13a06f550980058384759fe3 100644 (file)
@@ -11,6 +11,27 @@ touch /etc/config/ubootenv
 
 board=$(board_name)
 
+ubootenv_add_mmc_default() {
+       local envdev="$(find_mmc_part "ubootenv" "${1:-mmcblk0}")"
+       ubootenv_add_uci_config "$envdev" "0x0" "0x40000" "0x40000" "1"
+       ubootenv_add_uci_config "$envdev" "0x40000" "0x40000" "0x40000" "1"
+}
+
+ubootenv_add_nor_default() {
+       local envdev="/dev/mtd$(find_mtd_index "u-boot-env")"
+       ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1"
+       ubootenv_add_uci_config "$envdev" "0x20000" "0x20000" "0x20000" "1"
+}
+
+ubootenv_add_ubi_default() {
+       . /lib/upgrade/nand.sh
+       local envubi=$(nand_find_ubi ubi)
+       local envdev=/dev/$(nand_find_volume $envubi ubootenv)
+       local envdev2=/dev/$(nand_find_volume $envubi ubootenv2)
+       ubootenv_add_uci_config "$envdev" "0x0" "0x1f000" "0x1f000" "1"
+       ubootenv_add_uci_config "$envdev2" "0x0" "0x1f000" "0x1f000" "1"
+}
+
 case "$board" in
 asus,rt-ax59u)
        ubootenv_add_uci_config "/dev/mtd0" "0x100000" "0x20000" "0x20000"
@@ -21,39 +42,23 @@ bananapi,bpi-r3)
        rootdev="${rootdev%%p[0-9]*}"
        case "$rootdev" in
        mmc*)
-               local envdev=$(find_mmc_part "ubootenv" $rootdev)
-               ubootenv_add_uci_config "$envdev" "0x0" "0x40000" "0x40000" "1"
-               ubootenv_add_uci_config "$envdev" "0x40000" "0x40000" "0x40000" "1"
+               ubootenv_add_mmc_default
                ;;
        mtd*)
-               local envdev=/dev/mtd$(find_mtd_index "u-boot-env")
-               ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1"
-               ubootenv_add_uci_config "$envdev" "0x20000" "0x20000" "0x20000" "1"
+               ubootenv_add_nor_default
                ;;
        ubi*)
-               . /lib/upgrade/nand.sh
-               local envubi=$(nand_find_ubi ubi)
-               local envdev=/dev/$(nand_find_volume $envubi ubootenv)
-               local envdev2=/dev/$(nand_find_volume $envubi ubootenv2)
-               ubootenv_add_uci_config "$envdev" "0x0" "0x1f000" "0x1f000" "1"
-               ubootenv_add_uci_config "$envdev2" "0x0" "0x1f000" "0x1f000" "1"
+               ubootenv_add_ubi_default
                ;;
        esac
        ;;
 cmcc,rax3000m)
        case "$(cmdline_get_var root)" in
        /dev/mmc*)
-               local envdev=$(find_mmc_part "ubootenv" "mmcblk0")
-               ubootenv_add_uci_config "$envdev" "0x0" "0x40000" "0x40000" "1"
-               ubootenv_add_uci_config "$envdev" "0x40000" "0x40000" "0x40000" "1"
+               ubootenv_add_mmc_default
                ;;
        *)
-               . /lib/upgrade/nand.sh
-               local envubi=$(nand_find_ubi ubi)
-               local envdev=/dev/$(nand_find_volume $envubi ubootenv)
-               local envdev2=/dev/$(nand_find_volume $envubi ubootenv2)
-               ubootenv_add_uci_config "$envdev" "0x0" "0x1f000" "0x1f000" "1"
-               ubootenv_add_uci_config "$envdev2" "0x0" "0x1f000" "0x1f000" "1"
+               ubootenv_add_ubi_default
                ;;
        esac
        ;;
@@ -74,13 +79,9 @@ tplink,tl-xdr6086|\
 tplink,tl-xdr6088|\
 xiaomi,mi-router-ax3000t-ubootmod|\
 xiaomi,mi-router-wr30u-ubootmod|\
-xiaomi,redmi-router-ax6000-ubootmod)
-       . /lib/upgrade/nand.sh
-       local envubi=$(nand_find_ubi ubi)
-       local envdev=/dev/$(nand_find_volume $envubi ubootenv)
-       local envdev2=/dev/$(nand_find_volume $envubi ubootenv2)
-       ubootenv_add_uci_config "$envdev" "0x0" "0x1f000" "0x20000" "1"
-       ubootenv_add_uci_config "$envdev2" "0x0" "0x1f000" "0x20000" "1"
+xiaomi,redmi-router-ax6000-ubootmod|\
+zyxel,ex5601-t0-ubootmod)
+       ubootenv_add_ubi_default
        ;;
 glinet,gl-mt2500|\
 glinet,gl-mt6000)
@@ -113,14 +114,6 @@ zyxel,ex5601-t0)
        local envdev=/dev/mtd$(find_mtd_index "u-boot-env")
        ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x40000" "2"
        ;;
-zyxel,ex5601-t0-ubootmod)
-        . /lib/upgrade/nand.sh
-        local envubi=$(nand_find_ubi ubi)
-        local envdev=/dev/$(nand_find_volume $envubi ubootenv)
-        local envdev2=/dev/$(nand_find_volume $envubi ubootenv2)
-        ubootenv_add_uci_config "$envdev" "0x0" "0x1f000" "0x20000" "1"
-        ubootenv_add_uci_config "$envdev2" "0x0" "0x1f000" "0x20000" "1"
-        ;;
 zyxel,ex5700-telenor)
        ubootenv_add_uci_config "/dev/ubootenv" "0x0" "0x4000" "0x4000" "1"
        ;;