om-watchdog: add OpenMesh OM5P-ACv2 support
[openwrt.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                         "om5p-acv2")
23                                 return 12
24                                 ;;
25                         "om2pv2" | \
26                         "om2p-lc")
27                                 return 26
28                                 ;;
29                         "om5p" | \
30                         "om5p-an")
31                                 return 11
32                                 ;;
33                         "om5p-ac")
34                                 return 17
35                                 ;;
36                         "mr600v2")
37                                 return 15
38                                 ;;
39                         "mr900" | \
40                         "mr900v2" | \
41                         "mr1750")
42                                 return 16
43                                 ;;
44                 esac
45         else
46                 #we assume it is om1p in this case
47                 return 3
48         fi
49
50         return 255
51 }
52
53 start_service() {
54         get_gpio
55         gpio="$?"
56         [ "$gpio" != "255" ] || return
57
58         procd_open_instance
59         procd_set_param command "${PROG}" "${gpio}"
60         procd_set_param respawn
61         procd_close_instance
62 }