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

63 lines
844 B
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
"om2p" | \
"om2p-hs" | \
"om2p-hsv2" | \
"om5p-acv2")
return 12
;;
"om2pv2" | \
"om2p-lc")
return 26
;;
"om5p" | \
"om5p-an")
return 11
;;
"om5p-ac")
return 17
;;
"mr600v2")
return 15
;;
"mr900" | \
"mr900v2" | \
"mr1750")
return 16
;;
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
}