#!/bin/bash

. /lib/lsb/init-functions

cd /sys/bus/pnp/devices

DEVICENUM=14 # First serial port to try
WACOMNUM=0

case $1 in
    start|restart|reload|force-reload)
    log_begin_msg "Doing Wacom setup..."
    for x in *; do
	TYPE=none;    
	PORT=unknown;
	CONFIGURED=0;
	for y in `cat $x/id`; do
	    case "$y" in
		WACf006*|WACf005*|WACf004*)
	    # Ensure that the device is enabled
		echo "activate" >$x/resources
	    # And now figure out what port and IRQ it's on
		IOPORT=`grep io $x/resources | sed -e 's/io \(.*\)-.*/\1/'`
		IRQ=`grep irq $x/resources | sed -e 's/irq \(.*\)/\1/'`
		while [ "$CONFIGURED" = "0" ]; do
		    DEVICE="/dev/ttyS$DEVICENUM"
		    UART=`setserial -G $DEVICE | awk '{print $3}'`
		    if [ "$UART" = "unknown" ]; then
		    # Found an unused serial port
			setserial $DEVICE port $IOPORT irq $IRQ autoconfig
			if [ ! -e /dev/wacom$WACOMNUM ]; then
			    ln -s $DEVICE /dev/wacom$WACOMNUM
			fi
			let "WACOMNUM=$WACOMNUM+1";		    
			CONFIGURED=1;		    
		    fi
		    let "DEVICENUM=$DEVICENUM+1";
		done;
	    esac
	done
    done
    log_end_msg 0;
    ;;
    stop)
    exit 0;
    ;;
esac
