#!/bin/bash

# rc.sd 1.00 2001/08/08 22:40:44 (Hideki Hayami)
#
# Tags for init configuration tools
#
# processname: sdmgr
# pidfile: /var/run/sdmgr.pid
# control script: /etc/sdcontrol
# description: currently SD support is only for memory devices \
#              which is used as block device.

# Source function library.
. /etc/rc.d/init.d/functions

KERNEL=`/bin/uname -r`
SD_MODULE=sharp_mmcsd_m
MODULE=/lib/modules/$KERNEL/kernel/drivers/block/$SD_MODULE.o
SDMGR_MODULE=sdcardmgr

usage()
{
    echo "Usage: $0 {start|start_save|stop|status|restart|reload}"
}



if [ $# -lt 1 ] ; then usage ; exit 0 ; fi
action=$1

case "$action" in

start)
    /sbin/insmod $SDMGR_MODULE 2>/dev/null >/dev/null
    ;;
start_save)
    msg -n "Start SD services:"
    if grep -q $SDMGR_MODULE /proc/modules ; then
	/sbin/rmmod $SDMGR_MODULE 2>/dev/null >/dev/null
    fi
    if [ -f $MODULE ] ; then
	/sbin/insmod $MODULE 2>/dev/null >/dev/null
	if [ -s /var/run/sdmgr.pid ] && \
	    kill -0 `cat /var/run/sdmgr.pid` 2>/dev/null ; then
	    msg -n " running."
	else
	    if [ -f /sbin/sdmgr ]; then
		daemon --survive=5 /sbin/sdmgr
		touch /var/lock/subsys/sd
	    fi
	fi
    fi
    msg
    sleep 1
    ;;

stop)
    if grep -q $SDMGR_MODULE /proc/modules ; then
	/sbin/rmmod $SDMGR_MODULE 2>/dev/null >/dev/null
	#exit 0
    fi
    msg -n "Stop SD services:"
    if [ -f /var/lock/subsys/sd ]; then
	killproc /sbin/sdmgr
	rm -f /var/lock/subsys/sd
    fi
    msg
    if grep -q $SD_MODULE /proc/modules ; then
	/sbin/rmmod $SD_MODULE 2>/dev/null >/dev/null
    fi
    ;;

status)
    ;;

restart|reload)
    $0 stop
    $0 start_save
    ;;

*)
    usage
    ;;

esac

exit 0
