#!/bin/bash
#
# No tunable parameters, dagmem is autoconfiguring and uses /etc/modules
# for parameters
#

here=`dirname $0`
me=`basename $0`
module="dag"
device="dag"
group="root"
mode="664"

if [ "`lsmod | grep dagmem`" ] ; then
	echo $me: Using dagmem
else
	echo $me: Error, dagmem driver module not loaded! This must be done at boot time
	exit
fi
cd $here

( /sbin/modprobe $module $* 2>&1 || exit 1 ) | grep -v taint

major=`cat /proc/devices | awk "\\$2==\"$module\" {print \\$1}"`
if [ -z $major ]; then
        exit 1
fi

# Remove stale nodes and replace them, then give gid and perms

#
# The minor numbers need to be syncronized with the values in dag.c
#

for i in `seq 0 15` ; do
    rm -f /dev/${device}${i}
    rm -f /dev/${device}iom${i}
    rm -f /dev/${device}mem${i}
    rm -f /dev/${device}arm${i}

    mknod /dev/${device}$i    c $major $i
    mknod /dev/${device}mem$i c $major $((16+$i))
    mknod /dev/${device}iom$i c $major $((32+$i))
    mknod /dev/${device}arm$i c $major $((48+$i))

    chgrp $group /dev/${device}$i
    chgrp $group /dev/${device}mem$i
    chgrp $group /dev/${device}iom$i
    chgrp $group /dev/${device}arm$i

    chmod $mode  /dev/${device}$i
    chmod $mode  /dev/${device}mem$i
    chmod $mode  /dev/${device}iom$i
    chmod $mode  /dev/${device}arm$i
done

ln -sf ${device}0 /dev/${device}
