# !/bin/sh
# chkconfig: 2345 59 61
# description: Init script for Dta1xx device driver

# ==============================================================================
# Script to start or stop the Dta1xx device driver
#

# Module name
MODULE=Dta1xx
MODPATH=/lib/modules/`uname -r`/kernel/drivers/misc

# ==============================================================================
# Loads the Dta1xx device driver
#
load_device () {

	# Load the driver module
	/sbin/insmod $MODPATH/$MODULE.ko $* || exit 1

	# Remove any left over nodes
	rm -f /dev/${MODULE}[0-9]

	# Get our major number from the /proc/devices file
	MAJOR=`cat /proc/devices | awk "\\$2==\"$MODULE\" {print \\$1}"`

	# Create 10 new device nodes (i.e. support 10 DTA-1XX cards in the system)
	mknod /dev/${MODULE}0 c -m 777 $MAJOR 0
	mknod /dev/${MODULE}1 c -m 777 $MAJOR 1
	mknod /dev/${MODULE}2 c -m 777 $MAJOR 2
	mknod /dev/${MODULE}3 c -m 777 $MAJOR 3
	mknod /dev/${MODULE}4 c -m 777 $MAJOR 4
	mknod /dev/${MODULE}5 c -m 777 $MAJOR 5
	mknod /dev/${MODULE}6 c -m 777 $MAJOR 6
	mknod /dev/${MODULE}7 c -m 777 $MAJOR 7
	mknod /dev/${MODULE}8 c -m 777 $MAJOR 8
	mknod /dev/${MODULE}9 c -m 777 $MAJOR 9
}

# ==============================================================================
# Unloads the Dta1xx device driver
#
unload_device () {

	# Unload the driver module
	/sbin/rmmod $MODULE.ko $* || exit 1

	# Remove all the device nodes
	rm -f /dev/${MODULE}[0-9]
}

# ==============================================================================
# Command switch (start, stop etc)
#
case "$1" in
  start)
     echo -n "Loading $MODULE "
     load_device
     echo "."
     ;;
  stop)
     echo -n "Unloading $MODULE "
     unload_device
     echo "."
     ;;
  force-reload|restart)
     echo -n "Reloading $MODULE "
     unload_device
     load_device
     echo "."
     ;;
  *)
     echo "Usage: $0 {start|stop|restart|force-reload}"
     exit 1
esac

exit 0
