openwrt/package/kernel/om-watchdog/files/om-watchdog.init

78 lines
1.0 KiB
Bash

#!/bin/sh /etc/rc.common
#
# Copyright (C) 2011 OpenWrt.org
#
START=11
STOP=11
USE_PROCD=1
NAME=om-watchdog
PROG=/sbin/om-watchdog
get_gpio() {
if [ -r /lib/ar71xx.sh ]; then
. /lib/ar71xx.sh
local board=$(ar71xx_board_name)
case "$board" in
"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
elif [ -r /lib/ramips.sh ]; then
. /lib/ramips.sh
local board=$(ramips_board_name)
case "$board" in
"rut5xx")
return 11
;;
esac
else
#we assume it is om1p in this case
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
}