#! /bin/sh
#
#pragma ident	"@(#)preinstall	1.7	99/10/24 SMI"
#
# Copyright (c) 1999 by Sun Microsystems, Inc.
# All rights reserved.
#

PATH="/usr/bin:/usr/sbin:${PATH}"
export PATH

DEVLINKTB=${BASEDIR}/etc/devlink.tab

TMP=/tmp/$$

#
# remove_minor - removes minor node in /dev for passed driver
#
#    Usage:	remove_minor {driver_name}
#
remove_minor()
{
	DRIVER="$1"
	DEVNODE="${BASEDIR}/dev/${DRIVER}"
	rm -f $DEVNODE
}

#
# rem_devlink - removes an entry from ${DEVLINKTB}
#
rem_devlink()
{
	PATTERN="$1"
	LINK="$2"
	PLINK="`echo $LINK | sed 's/[$*^|\]/\\\&/g'`"
	grep -v "^$PATTERN      $PLINK$" ${DEVLINKTB} >$TMP.devlink
	cp $TMP.devlink ${DEVLINKTB}
	rm -f $TMP.devlink
}


#
# Remove the existing ${BASEDIR}/devices/pcmcia directory since
#	we will recreate the appropriate directories when the
#	PCMCIA user daemon loads
#
rm -rf ${BASEDIR}/devices/pcmcia

#
# We remove any dangling /dev links in this order:
#
#    SPARC:
#	/dev/stp4020
#	/dev/pem
#
#    x86:
#	/dev/ra
#	/dev/pcic
#	/dev/pem
#
case "${ARCH}" in
	sparc)
		remove_minor stp4020
		;;
	i386)
		remove_minor ra
		remove_minor pcic
		;;
esac

remove_minor pem

#
# remove all traces of the former pcmcia nexus.  This allows upgrade
# to work and not leave the system unbootable
#
grep pcmcia ${BASEDIR}/etc/name_to_major >/dev/null &&
rem_drv -b ${BASEDIR} pcmcia

[ -c ${BASEDIR}/dev/pcmcia ] && rm -f ${BASEDIR}/dev/pcmcia

#
# make sure we don't have left over /dev/ra, /dev/pcic or /dev/stp4020
#
[ ! -h ${BASEDIR}/dev/ra ]      && rm -f ${BASEDIR}/dev/ra
[ ! -h ${BASEDIR}/dev/pcic ]    && rm -f ${BASEDIR}/dev/pcic
[ ! -h ${BASEDIR}/dev/stp4020 ] && rm -f ${BASEDIR}/dev/stp4020

#
# remove devlink from Solaris 7
#
rem_devlink 'type=ddi_nexus;minor=initpcmcia' 'pcmcia/\N0'
rem_devlink 'type=ddi_nexus;minor=probepcmcia' 'pcmcia/probe_\N0'

exit 0
