mvebu: use device-tree board detection
[openwrt/staging/dedeckeh.git] / target / linux / mvebu / base-files / lib / preinit / 81_linksys_syscfg
index d665cb14aac7d88225a54e0fbb852e2fb5971ea0..b107eacb1146c588c14171187b804287ecf02e71 100644 (file)
@@ -1,22 +1,23 @@
 #
-# Copyright (C) 2014 OpenWrt.org
+# Copyright (C) 2014-2016 OpenWrt.org
+# Copyright (C) 2016 LEDE-Project.org
 #
 
 preinit_mount_syscfg() {
 
        . /lib/functions.sh
-       . /lib/mvebu.sh
 
-       case $(mvebu_board_name) in
-       armada-385-linksys-caiman|armada-385-linksys-cobra|armada-xp-linksys-mamba)
+       case $(board_name) in
+       linksys,caiman|linksys,cobra|linksys,mamba|linksys,rango|linksys,shelby|linksys,venom)
                needs_recovery=0
-               ubiattach -m 8 || needs_recovery=1
+               syscfg_part=$(grep syscfg /proc/mtd |cut -c4)
+               ubiattach -m $syscfg_part || needs_recovery=1
                if [ $needs_recovery -eq 1 ]
                then
                        echo "ubifs syscfg partition is damaged, reformatting"
-                       ubidetach -m 8
-                       ubiformat -y -O 2048 -q /dev/mtd8
-                       ubiattach -m 8
+                       ubidetach -m $syscfg_part
+                       ubiformat -y -O 2048 -q /dev/mtd$syscfg_part
+                       ubiattach -m $syscfg_part
                        ubimkvol /dev/ubi1 -n 0 -N syscfg -t dynamic --maxavsize
                fi
                mkdir /tmp/syscfg