treewide: use the generic board_name function
[openwrt/staging/dedeckeh.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 local board=$(board_name)
15
16 if [ -r /lib/ar71xx.sh ]; then
17 case "$board" in
18 "a40"|\
19 "a60"|\
20 "mr1750"|\
21 "mr1750v2"|\
22 "mr900"|\
23 "mr900v2")
24 return 16
25 ;;
26 "mr600v2")
27 return 15
28 ;;
29 "om2p"|\
30 "om2p-hs"|\
31 "om2p-hsv2"|\
32 "om2p-hsv3"|\
33 "om2p-hsv4"|\
34 "om2pv4"|\
35 "om5p-acv2")
36 return 12
37 ;;
38 "om2p-lc"|\
39 "om2pv2")
40 return 26
41 ;;
42 "om5p"|\
43 "om5p-an")
44 return 11
45 ;;
46 "om5p-ac")
47 return 17
48 ;;
49 esac
50 elif [ -r /lib/ramips.sh ]; then
51 case "$board" in
52 "rut5xx")
53 return 11
54 ;;
55 esac
56 else
57 #we assume it is om1p in this case
58 return 3
59 fi
60
61 return 255
62 }
63
64 start_service() {
65 get_gpio
66 gpio="$?"
67 [ "$gpio" != "255" ] || return
68
69 procd_open_instance
70 procd_set_param command "${PROG}" "${gpio}"
71 procd_set_param respawn
72 procd_close_instance
73 }