#!/bin/sh
# Automatically setup for murasaki rc-script
#                            shuu@dotaster.com
#
# based on rcusbmgr by Olaf Hering
#

########################### You can modify settings
MOUSEDEV="mousedev hid"
MODPROBE=/sbin/modprobe
UHCI_1ST=usb-uhci			# compatible for 2.4
UHCI_2ND=uhci				# compatible for 2.4
OHCI=usb-ohci				# compatible for 2.4
EHCI=ehci-hcd				# USB 2.0
########################### You can modify settings

UHCI_MOD="uhci-hcd $UHCI_1ST $UHCI_2ND"
OHCI_MOD="ohci-hcd $OHCI"
EHCI_MOD="$EHCI"

UHCI_FLAG=0
OHCI_FLAG=0
EHCI_FLAG=0

if [ -f /usr/X11R6/bin/xterm ];then
	MODULE=$MOUSEDEV
fi

[ -f /proc/cpuinfo ] || mount -n -t proc proc /proc
if [ -x /sbin/lspci ];then
	METHOD="/sbin/lspci"
else
	METHOD="cat /proc/pci"
fi
HOST=`$METHOD | while read line
do
	case $line in
	*USB*Intel*|*USB*VIA*)
		if [ $UHCI_FLAG -eq 0 ];then
			UHCI_FLAG=1
			for mod in $UHCI_MOD
			do
				if $MODPROBE -l | grep /${mod}. > /dev/null;then
					echo $mod
					break
				fi
			done
		fi
		;;
	*USB\ 2.0*|*USB*1033:00e0*)
		if [ $EHCI_FLAG -eq 0 ];then
			EHCI_FLAG=1
			if $MODPROBE -l | grep /${EHCI}.o > /dev/null;then
				echo ${EHCI}
			fi
		fi
		;;	
	*USB*)
		if [ $OHCI_FLAG -eq 0 ];then
			OHCI_FLAG=1
			if $MODPROBE -l | grep /${OHCI}.o > /dev/null;then
				echo ${OHCI}
			fi
		fi
		;;	
	esac
done`

for f in $MODULE
do
	if $MODPROBE -l | egrep "/$f.(o|ko)" > /dev/null;then
		echo $f
	fi
done
for mod in $HOST
do
	echo $mod
done
