om-watchdog: cosmetic code style fixes
[openwrt/openwrt.git] / package / kernel / om-watchdog / files / om-watchdog.init
index eb24226f93e038b012674bdfbd1126f30e1aac7b..7d5d2165096fb84ffc1d8a5d6870f1813d60de34 100644 (file)
@@ -4,33 +4,65 @@
 #
 
 START=11
+STOP=11
 
-SERVICE_DAEMONIZE=1
+USE_PROCD=1
+NAME=om-watchdog
+PROG=/sbin/om-watchdog
 
-boot() {
+get_gpio() {
        if [ -r /lib/ar71xx.sh ]; then
                . /lib/ar71xx.sh
                local board=$(ar71xx_board_name)
 
                case "$board" in
-                       "om2p"|"om2p-hs"|"om2p-hsv2")
-                               service_start /sbin/om-watchdog 12
-                               ;;
-                       "om2pv2"|"om2p-lc")
-                               service_start /sbin/om-watchdog 26
-                               ;;
-                       "om5p")
-                               service_start /sbin/om-watchdog 11
-                               ;;
-                       "mr600v2")
-                               service_start /sbin/om-watchdog 15
-                               ;;
-                       "mr900")
-                               service_start /sbin/om-watchdog 16
-                               ;;
+               "a40"|\
+               "a60"|\
+               "mr1750"|\
+               "mr1750v2"|\
+               "mr900"|\
+               "mr900v2")
+                       return 16
+                       ;;
+               "mr600v2")
+                       return 15
+                       ;;
+               "om2p"|\
+               "om2p-hs"|\
+               "om2p-hsv2"|\
+               "om2p-hsv3"|\
+               "om2p-hsv4"|\
+               "om2pv4"|\
+               "om5p-acv2")
+                       return 12
+                       ;;
+               "om2p-lc"|\
+               "om2pv2")
+                       return 26
+                       ;;
+               "om5p"|\
+               "om5p-an")
+                       return 11
+                       ;;
+               "om5p-ac")
+                       return 17
+                       ;;
                esac
        else
                #we assume it is om1p in this case
-               service_start /sbin/om-watchdog 3
+               return 3
        fi
+
+       return 255
+}
+
+start_service() {
+       get_gpio
+       gpio="$?"
+       [ "$gpio" != "255" ] || return
+
+       procd_open_instance
+       procd_set_param command "${PROG}" "${gpio}"
+       procd_set_param respawn
+       procd_close_instance
 }