#!/bin/sh
CRID_DRIVER="cpqrid"
HEALTH_DRIVER="cpqhealth"
CROM_DRIVER="cpqrom"
OS_VER=`uname -r`
OS_SMP=`uname -a|grep SMP`

if [ ${#OS_SMP} -eq 0 ]; then
	OS_SMP="up"
else 
	OS_SMP="smp"	
fi

#Health driver needs to be there, otherwise we are screwed
if [ -f /lib/modules/$OS_VER/misc/$HEALTH_DRIVER.o ]; then
	echo "Health & Wellness Driver present, proceeding.."
else 
	echo "No Health & Wellness Driver present, exiting.."
	exit 0
fi

#start the "right driver" for EISA ID 
echo "Inserting Health & Wellness and Remote Insight Board Driver..."
if [ -f /lib/modules/$OS_VER/misc/$CRID_DRIVER.o ]; then
	if test "$1" != "verbose"; then
		/sbin/insmod -f $CROM_DRIVER 2> /dev/null
		/sbin/insmod -f $HEALTH_DRIVER 2> /dev/null
		/sbin/insmod -f $CRID_DRIVER 2> /dev/null
		echo "...done. Please type 'man cpqhealth, man cpqrid' for more information."
		exit 0
	fi
fi

sh /lib/modules/Compaq/fixup /lib/modules/Compaq/drivers/$OS_SMP /lib/modules/$OS_VER/misc cpqeisaid.o
#cp -f /lib/modules/Compaq/drivers/$OS_SMP/cpqeisaid.o /lib/modules/$OS_VER/misc/cpqeisaid.o
/sbin/insmod -f cpqeisaid
EISA_ID=`cat /proc/cpqeid`
case "$EISA_ID" in
	9106110e)
			;;
	8906110e)
			;;
	7906110e)
			;;
	 907110e)
			;;
	 808110e)
			;;
	1008110e)
			;;
	 816110e)
			;;
	 916110e)
			;;
	8506110e)
			;;
	5506110e)
			;;
	1207110e)
			;;
	5306110e)
			;;
	9206110e)
			;;
	1507110e)
			;;
	1407110e)
			;;
	9006110e)
			;;
	2608110e)
			;;
	2508110e)
			;;
	*) 		EISA_ID=ffffffff
			;;
esac
/sbin/rmmod cpqeisaid
rm /lib/modules/$OS_VER/misc/cpqeisaid.o 
if test "${EISA_ID}" = "ffffffff"; then
	if test "$1" = "verbose"; then
		echo "Inserting Health & Wellness and Remote Insight Board Driver..."
	fi
#	exit -1
fi

#copy the "right driver" into location
sh /lib/modules/Compaq/fixup /lib/modules/Compaq/drivers/$OS_SMP /lib/modules/$OS_VER/misc $CRID_DRIVER.o
#sh /lib/modules/Compaq/fixup /lib/modules/Compaq/drivers/$OS_SMP /lib/modules/$OS_VER/misc $CROM_DRIVER.o
#sh /lib/modules/Compaq/fixup /lib/modules/Compaq/drivers/$OS_SMP /lib/modules/$OS_VER/misc $HEALTH_DRIVER.o
#cp -f /lib/modules/Compaq/drivers/$OS_SMP/$CRID_DRIVER.o /lib/modules/$OS_VER/misc/$CRID_DRIVER.o
#cp -f /lib/modules/Compaq/drivers/$OS_SMP/$CROM_DRIVER.o /lib/modules/$OS_VER/misc/$CROM_DRIVER.o
#cp -f /lib/modules/Compaq/drivers/$OS_SMP/$HEALTH_DRIVER.o /lib/modules/$OS_VER/misc/$HEALTH_DRIVER.o
#/sbin/depmod -a -e  2> /dev/null
/sbin/insmod -f $CROM_DRIVER 2> /dev/null
/sbin/insmod -f $HEALTH_DRIVER 2> /dev/null
/sbin/insmod -f $CRID_DRIVER 2> /dev/null
echo "...done. Please type 'man cpqhealth, man cpqrid' for more information."
