package/om-watchdog: add OpenMesh A60 support
[openwrt/openwrt.git] / package / kernel / om-watchdog / files / om-watchdog.init
index eb24226..caed170 100644 (file)
@@ -4,33 +4,64 @@
 #
 
 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
+                       "om2p" | \
+                       "om2pv4" | \
+                       "om2p-hs" | \
+                       "om2p-hsv2" | \
+                       "om2p-hsv3" | \
+                       "om2p-hsv4" | \
+                       "om5p-acv2")
+                               return 12
                                ;;
-                       "om2pv2"|"om2p-lc")
-                               service_start /sbin/om-watchdog 26
+                       "om2pv2" | \
+                       "om2p-lc")
+                               return 26
                                ;;
-                       "om5p")
-                               service_start /sbin/om-watchdog 11
+                       "om5p" | \
+                       "om5p-an")
+                               return 11
+                               ;;
+                       "om5p-ac")
+                               return 17
                                ;;
                        "mr600v2")
-                               service_start /sbin/om-watchdog 15
+                               return 15
                                ;;
-                       "mr900")
-                               service_start /sbin/om-watchdog 16
+                       "mr900" | \
+                       "mr900v2" | \
+                       "mr1750" | \
+                       "mr1750v2" | \
+                       "a60")
+                               return 16
                                ;;
                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
 }