apm821xx: add support for the Western Digital MyBook Live Series
[openwrt/openwrt.git] / target / linux / apm821xx / base-files / lib / upgrade / platform.sh
1 #!/bin/sh
2
3 . /lib/apm821xx.sh
4
5 PART_NAME=firmware
6 RAMFS_COPY_DATA=/lib/apm821xx.sh
7
8 platform_check_image() {
9 local board=$(apm821xx_board_name)
10
11 [ "$#" -gt 1 ] && return 1
12
13 case "$board" in
14 mbl)
15 mbl_do_platform_check $board "$1"
16 return $?;
17 ;;
18
19 mr24)
20 merakinand_do_platform_check $board "$1"
21 return $?;
22 ;;
23
24 *)
25 ;;
26 esac
27
28 echo "Sysupgrade is not yet supported on $board."
29 return 1
30 }
31
32 platform_pre_upgrade() {
33 local board=$(apm821xx_board_name)
34
35 case "$board" in
36 mr24)
37 merakinand_do_upgrade "$1"
38 ;;
39
40 *)
41 ;;
42 esac
43 }
44
45 platform_do_upgrade() {
46 local board=$(apm821xx_board_name)
47
48 case "$board" in
49 mbl)
50 mbl_do_upgrade "$ARGV"
51 ;;
52
53 *)
54 default_do_upgrade "$ARGV"
55 ;;
56 esac
57 }
58
59 platform_copy_config() {
60 local board=$(apm821xx_board_name)
61
62 case "$board" in
63 mbl)
64 mbl_copy_config
65 ;;
66
67 *)
68 ;;
69 esac
70 }
71
72 disable_watchdog() {
73 killall watchdog
74 ( ps | grep -v 'grep' | grep '/dev/watchdog' ) && {
75 echo 'Could not disable watchdog'
76 return 1
77 }
78 }
79
80 append sysupgrade_pre_upgrade disable_watchdog