aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/irda-utils/files/init
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/irda-utils/files/init')
-rwxr-xr-xrecipes/irda-utils/files/init77
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
+