#!/bin/sh

MOD=linpsm
ABSMOD=/usr/lib/$MOD.o
DEV=/dev/linpsm
PERM=666
OWNER=root
GROUP=root

#----------------------------------------------------------------------
# Note: edit INSMOD_ARGS to fit your system...
#
# Examples:
#  INSMOD_ARGS="io=0x278"
#  INSMOD_ARGS="io=0x378 verbose=3"
INSMOD_ARGS=""


start() {
    if insmod $ABSMOD $INSMOD_ARGS; then
	:
    else
	echo "$ABSMOD: failed to insmod"
	exit 1
    fi

    major=`awk '$2 == "'$MOD'" {print $1;exit}' /proc/devices`
    if [ "x$major" = x ]; then
	echo "$ABSMOD: not registered"
	exit 1
    fi

    echo "registered $ABSMOD as major $major"

    rm -f $DEV
    mknod $DEV c $major 0 || (echo "$DEV: mknod failed"; exit 1)
    chown $OWNER $DEV || (echo "$DEV: chown failed"; exit 1)
    chgrp $GROUP $DEV || (echo "$DEV: chgrp failed"; exit 1)
    chmod $PERM $DEV || (echo "$DEV: chmod failed"; exit 1)
}

stop() {
    rm -f $DEV
    rmmod $MOD
}



case "$1" in
start)
    echo -n "Starting PSX memory card driver: "
    start
    ;;

stop)
    echo -n "Stopping PSX memory card driver: "
    echo "done"
    stop
    ;;

restart|force-reload)
    echo -n "Stopping PSX memory card driver: "
    echo "done"
    stop
    echo -n "Starting PSX memory card driver: "
    start
    ;;

*)
    echo "usage: $0 {start|stop}"
    ;;
esac
