diff options
Diffstat (limited to 'recipes/irda-utils/files/init')
-rwxr-xr-x | recipes/irda-utils/files/init | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/recipes/irda-utils/files/init b/recipes/irda-utils/files/init new file mode 100755 index 0000000000..a00596fc85 --- /dev/null +++ b/recipes/irda-utils/files/init @@ -0,0 +1,77 @@ +#! /bin/sh + +NAME="irattach" + +module_id() { + awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo +} +cpuid_id() { + awk '/Processor/ { print $3; exit; }' /proc/cpuinfo +} + +if [ ! -f /etc/sysconfig/irda ]; then + + case `cpuid_id` in + "XScale-PXA2"*) + IRDA=yes + DEVICE=/dev/ttyS2 + DONGLE= + DISCOVERY= + ;; + *) + IRDA=no + DEVICE=/dev/null + DONGLE= + DISCOVERY= + ;; + esac + + mkdir -p /etc/sysconfig + echo "IRDA=$IRDA" > /etc/sysconfig/irda + if [ $IRDA = "yes" ]; then + echo "DEVICE=$DEVICE" >> /etc/sysconfig/irda + echo "DONGLE=$DONGLE" >> /etc/sysconfig/irda + echo "DISCOVERY=$DISCOVERY" >> /etc/sysconfig/irda + fi +fi + +. /etc/sysconfig/irda + +# Check if irda is present. +[ $IRDA = "no" ] && exit 0 + +[ -f /usr/sbin/irattach ] || exit 0 + +ARGS= +if [ $DONGLE ]; then + ARGS="$ARGS -d $DONGLE" +fi +if [ "$DISCOVERY" = "yes" ];then + ARGS="$ARGS -s" +fi + +case "$1" in + start) + echo -n "Starting IrDA: " + irattach ${DEVICE} ${ARGS} > /dev/null 2>&1 + echo "$NAME." + ;; + stop) + echo -n "Stopping IrDA: " + killall irattach > /dev/null 2>&1 + echo "$NAME." + ;; + restart|force-reload) + echo -n "Restarting IrDA: " + irattach ${DEVICE} ${ARGS} > /dev/null 2>&1 + sleep 1 + killall irattach > /dev/null 2>&1 + echo "$NAME." + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + |