Index: etc/hotplug/hotplug.functions =================================================================== RCS file: /cvsroot/linux-hotplug/admin/etc/hotplug/hotplug.functions,v retrieving revision 1.2 diff -u -3 -p -r1.2 hotplug.functions --- etc/hotplug/hotplug.functions 2001/02/04 20:16:19 1.2 +++ etc/hotplug/hotplug.functions 2001/02/25 15:54:17 @@ -58,8 +58,13 @@ MODPROBE="/sbin/modprobe" # load_drivers () { - DRIVERS= + DRIVERS="" + # make this routine more readable + TYPE=$1 + FILENAME=$2 + DESCRIPTION=$3 + # NOTE: usbmodules isn't currently in the trusted path; also, # something later than "usbutils-0.7" is needed ("--mapfile" # and modutils 2.4.2 support are both needed ... patch avail @@ -69,16 +74,16 @@ load_drivers () # choose which way they use to generate module listings. # can we use usbmodules, pcimodules? - LISTER=`type -p $1modules` - if [ x$LISTER != x ]; then - case $1 in + LISTER=`type -p ${TYPE}modules` + if [ "$LISTER" != "" ]; then + case $TYPE in usb) # only works if we have usbdevfs # ... reads more descriptors than are passed in env - if [ x$DEVICE = x ]; then + if [ "$DEVICE" = "" ]; then LISTER= else - DRIVERS=`$LISTER --mapfile $2 --device $DEVICE` + DRIVERS=`$LISTER --mapfile $FILENAME --device $DEVICE` fi ;; pci) @@ -88,14 +93,14 @@ load_drivers () DRIVERS=`$LISTER` ;; - *) mesg "how to invoke $1modules ??" + *) mesg "how to invoke ${TYPE}modules ??" LISTER= esac fi # do it with just shell scripts - if [ x$LISTER = x ]; then - $1_map_modules < $2 + if [ "$LISTER" = "" ]; then + ${TYPE}_map_modules < $FILENAME fi if [ "$DRIVERS" = "" ]; then @@ -103,7 +108,7 @@ load_drivers () fi if [ "$DEBUG" != "" ]; then - mesg Modprobe and setup $DRIVERS for $3 + mesg Modprobe and setup $DRIVERS for $DESCRIPTION fi # maybe driver modules need loading and configuring @@ -114,11 +119,11 @@ load_drivers () if ! $MODPROBE $MODULE >/dev/null 2>&1 then mesg "... can't load module $MODULE" - elif [ -x /etc/hotplug/$1/$MODULE ]; then + elif [ -x /etc/hotplug/$TYPE/$MODULE ]; then if [ "$DEBUG" != "" ]; then - mesg Module setup $MODULE for $3 + mesg Module setup $MODULE for $DESCRIPTION fi - /etc/hotplug/$1/$MODULE + /etc/hotplug/$TYPE/$MODULE fi fi done Index: etc/hotplug/net.agent =================================================================== RCS file: /cvsroot/linux-hotplug/admin/etc/hotplug/net.agent,v retrieving revision 1.4 diff -u -3 -p -r1.4 net.agent --- etc/hotplug/net.agent 2001/02/16 23:12:30 1.4 +++ etc/hotplug/net.agent 2001/02/25 15:54:17 @@ -18,7 +18,7 @@ . hotplug.functions # DEBUG=yes export DEBUG -if [ x$INTERFACE = x ]; then +if [ "$INTERFACE" = "" ]; then mesg Bad NET invocation exit 1 fi Index: etc/hotplug/pci.agent =================================================================== RCS file: /cvsroot/linux-hotplug/admin/etc/hotplug/pci.agent,v retrieving revision 1.7 diff -u -3 -p -r1.7 pci.agent --- etc/hotplug/pci.agent 2001/02/17 14:56:50 1.7 +++ etc/hotplug/pci.agent 2001/02/25 15:54:17 @@ -38,7 +38,7 @@ MAP_CURRENT=$MODULE_DIR/modules.pcimap # accumulates list of modules we may care about DRIVERS= -if [ x$PCI_CLASS = x -o x$PCI_CLASS = x ]; then +if [ "$PCI_CLASS" = "" -o "$PCI_CLASS" = "" ]; then mesg Bad PCI agent invocation exit 1 fi @@ -102,6 +102,9 @@ pci_map_modules () while read module vendor device subvendor subdevice class class_mask ignored do : checkmatch $module + if [ "$module" = "#" ]; then + continue + fi : vendor $vendor $pci_id_vendor if [ $vendor -ne $PCI_ANY -a $vendor -ne $pci_id_vendor ]; then Index: etc/hotplug/usb.agent =================================================================== RCS file: /cvsroot/linux-hotplug/admin/etc/hotplug/usb.agent,v retrieving revision 1.7 diff -u -3 -p -r1.7 usb.agent --- etc/hotplug/usb.agent 2001/02/16 22:46:10 1.7 +++ etc/hotplug/usb.agent 2001/02/25 15:54:18 @@ -44,7 +44,7 @@ if [ -f /etc/sysconfig/usb ]; then . /etc/sysconfig/usb - if [ x$USBD_ENABLE = xfalse ]; then + if [ "$USBD_ENABLE" = "false" ]; then exit 0 fi fi @@ -80,7 +80,7 @@ MAP_USERMAP=$HOTPLUG_DIR/usb.usermap # accumulates list of modules we may care about DRIVERS= -if [ x$PRODUCT = x -o x$ACTION = x ]; then +if [ "$PRODUCT" = "" -o "$ACTION" = "" ]; then mesg Bad USB agent invocation exit 1 fi @@ -111,7 +111,7 @@ usb_convert_vars () usb_idProduct=$2 usb_idDevice=$3 - if [ x$TYPE != x ]; then + if [ "$TYPE" != "" ]; then IFS=/ set $TYPE '' usb_bDeviceClass=$1 @@ -125,7 +125,7 @@ usb_convert_vars () usb_bDeviceProtocol=1000 fi - if [ x$INTERFACE != x ]; then + if [ "$INTERFACE" != "" ]; then IFS=/ set $INTERFACE '' usb_bInterfaceClass=$1 @@ -160,6 +160,7 @@ usb_map_modules () # expected to work on any line! # comment line lists (current) usb_device_id field names + # is this still needed? read ignored # look at each usb_device_id entry @@ -169,6 +170,11 @@ usb_map_modules () do : checkmatch $module + # ok, now it read comment, but only if the line starts with "# " + if [ "$module" = "#" ]; then + continue + fi + # FIXME: tests against USB_ANY should be replaced # by tests against bits in match_flags # ... if it's there, and nonzero @@ -273,7 +279,7 @@ add) fi fi - if [ $FOUND = false ]; then + if [ "$FOUND" = "false" ]; then mesg "... no drivers for $LABEL" exit 2 fi Index: etc/hotplug/usb.rc =================================================================== RCS file: /cvsroot/linux-hotplug/admin/etc/hotplug/usb.rc,v retrieving revision 1.5 diff -u -3 -p -r1.5 usb.rc --- etc/hotplug/usb.rc 2001/02/23 22:05:59 1.5 +++ etc/hotplug/usb.rc 2001/02/25 15:54:18 @@ -53,7 +53,7 @@ usb_boot_events () # synthesize hotplug events if we can # we need (non-bash) programs to parse descriptors. LISTER=`type -p usbmodules` - if [ x$LISTER = x -o ! -f /proc/bus/usb/devices ]; then + if [ "$LISTER" = "" -o ! -f /proc/bus/usb/devices ]; then echo $"** can't synthesize root hub events" return fi @@ -98,6 +98,7 @@ maybe_start_usb () then mount /proc/bus/usb else + # why do not use usbdevfs instead of none? mount -t usbdevfs none /proc/bus/usb fi fi Index: sbin/hotplug =================================================================== RCS file: /cvsroot/linux-hotplug/admin/sbin/hotplug,v retrieving revision 1.3 diff -u -3 -p -r1.3 hotplug --- sbin/hotplug 2001/02/14 18:21:27 1.3 +++ sbin/hotplug 2001/02/25 15:54:18 @@ -32,14 +32,14 @@ fi # Examples: usb, pci, isapnp, net, ieee1394, printer, disk, # parport, ... # -if [ $# -lt 1 -o "$1" = help -o "$1" = '--help' ]; then +if [ $# -lt 1 -o "$1" = "help" -o "$1" = "--help" ]; then if [ -t ]; then echo "Usage: $0 AgentName ..." AGENTS="" for AGENT in /etc/hotplug/*.agent ; do TYPE=`basename $AGENT | sed s/.agent//` - if [ -x $AGENT ] ; then + if [ -x $AGENT ]; then AGENTS="$AGENTS $TYPE" else AGENTS="$AGENTS ($TYPE)"