postinstall revision fcf3ce441efd61da9bb2884968af01cb7c1452cc
#!/bin/sh
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
PATH="/usr/bin:/usr/sbin:$PATH"; export PATH
# Driver definitions
DRVR_NAME=emlxs
PERM_OPT="-m '* 0600 root sys'"
CLASS_OPT="-c fibre-channel"
ALIAS_FILE=/etc/driver_aliases
SUPPORT_LIST="\
pci10df,fc00 \
pci10df,f800 \
pci10df,f900 \
pci10df,f980 \
pci10df,fa00 \
pci10df,fd00 \
pci10df,f0a5 \
pci10df,fc10 \
pci10df,fc20 \
pci10df,fe00 \
pciex10df,f100 \
pciex10df,f111 \
pciex10df,f112 \
pciex10df,fc20 \
pciex10df,fc40 \
pciex10df,fe00 \
pciex10df,fe05 \
lpfs \
"
CheckAlias()
{
DRIVER=$1
PCI_STRING=$2
grep "^${DRIVER}[ ]\"*${PCI_STRING}\"*" ${BASEDIR}${ALIAS_FILE} > /dev/null 2>&1
STATUS=$?
return $STATUS
}
GenerateSupportList()
{
LPFC_DRVR=lpfc
GEN_LIST=""
for HBA in ${SUPPORT_LIST}
do
CheckAlias ${LPFC_DRVR} ${HBA}
if [ $STATUS -ne 0 ]; then
if [ -z "${GEN_LIST}" ]; then
GEN_LIST="\"$HBA\""
else
GEN_LIST="${GEN_LIST} \"$HBA\""
fi
fi
done
}
GenerateSupportList
ALIASES_OPT="-i '${GEN_LIST}'"
if [ -z "${BASEDIR}" ]; then
echo "\n$0 Failed: BASEDIR is not set.\n" >&2
exit 1
fi
# Remove existing definition, if it exists.
/usr/sbin/rem_drv -b "${BASEDIR}" ${DRVR_NAME} > /dev/null 2>&1
ADD_DRV="add_drv -n -b ${BASEDIR}"
eval ${ADD_DRV} "${PERM_OPT}" ${CLASS_OPT} "${ALIASES_OPT}" ${DRVR_NAME}
STATUS=$?
if [ $STATUS -ne 0 ]; then
echo "\nCommand Failed:" >&2
echo "\t${ADD_DRV} "${PERM_OPT}" ${CLASS_OPT} "${ALIASES_OPT}" ${DRVR_NAME}\n" >&2
echo "\tReturned: $STATUS" >&2
exit 1
fi
exit 0