diff options
-rw-r--r-- | package/kernel/om-watchdog/files/om-watchdog.init | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/package/kernel/om-watchdog/files/om-watchdog.init b/package/kernel/om-watchdog/files/om-watchdog.init index c792968e53..47105f2773 100644 --- a/package/kernel/om-watchdog/files/om-watchdog.init +++ b/package/kernel/om-watchdog/files/om-watchdog.init @@ -4,33 +4,49 @@ # 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 + return 12 ;; "om2pv2"|"om2p-lc") - service_start /sbin/om-watchdog 26 + return 26 ;; "om5p"|"om5p-an") - service_start /sbin/om-watchdog 11 + return 11 ;; "mr600v2") - service_start /sbin/om-watchdog 15 + return 15 ;; "mr900"|"mr900v2"|"mr1750") - service_start /sbin/om-watchdog 16 + 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 } |