package/om-watchdog: add OpenMesh OM2P-HSv3 support
[librecmc/librecmc.git] / package / kernel / om-watchdog / files / om-watchdog.init
1 #!/bin/sh /etc/rc.common
2 #
3 # Copyright (C) 2011 OpenWrt.org
4 #
5
6 START=11
7 STOP=11
8
9 USE_PROCD=1
10 NAME=om-watchdog
11 PROG=/sbin/om-watchdog
12
13 get_gpio() {
14         if [ -r /lib/ar71xx.sh ]; then
15                 . /lib/ar71xx.sh
16                 local board=$(ar71xx_board_name)
17
18                 case "$board" in
19                         "om2p" | \
20                         "om2p-hs" | \
21                         "om2p-hsv2" | \
22                         "om2p-hsv3" | \
23                         "om5p-acv2")
24                                 return 12
25                                 ;;
26                         "om2pv2" | \
27                         "om2p-lc")
28                                 return 26
29                                 ;;
30                         "om5p" | \
31                         "om5p-an")
32                                 return 11
33                                 ;;
34                         "om5p-ac")
35                                 return 17
36                                 ;;
37                         "mr600v2")
38                                 return 15
39                                 ;;
40                         "mr900" | \
41                         "mr900v2" | \
42                         "mr1750")
43                                 return 16
44                                 ;;
45                 esac
46         else
47                 #we assume it is om1p in this case
48                 return 3
49         fi
50
51         return 255
52 }
53
54 start_service() {
55         get_gpio
56         gpio="$?"
57         [ "$gpio" != "255" ] || return
58
59         procd_open_instance
60         procd_set_param command "${PROG}" "${gpio}"
61         procd_set_param respawn
62         procd_close_instance
63 }