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/26 21:26:33 @@ -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/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/26 21:26:33 @@ -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,11 @@ pci_map_modules () while read module vendor device subvendor subdevice class class_mask ignored do : checkmatch $module + case $module in + \#*) + #this line is a comment + continue ;; + esac : 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/26 21:26:34 @@ -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,13 @@ usb_map_modules () do : checkmatch $module + #this is a better way to handle comments + case $module in + \#*) + #this line is comment + continue ;; + esac + # FIXME: tests against USB_ANY should be replaced # by tests against bits in match_flags # ... if it's there, and nonzero @@ -273,7 +281,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/26 21:26:34 @@ -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