linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Yet another patch
@ 2001-02-26 21:58 Gioele Barabucci
  2001-02-27  1:36 ` David Brownell
  0 siblings, 1 reply; 2+ messages in thread
From: Gioele Barabucci @ 2001-02-26 21:58 UTC (permalink / raw)
  To: linux-hotplug

[-- Attachment #1: Type: text/plain, Size: 266 bytes --]

This patch is like to previous one but adds the ability to use comments in 
*map files, but this this time the lines just have to start with "#" followed 
by any string (in the past patch "##" were not recognized as comment)

the patch is done against CVS at 22:20


[-- Attachment #2: another patch --]
[-- Type: text/plain, Size: 6052 bytes --]

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Yet another patch
  2001-02-26 21:58 Yet another patch Gioele Barabucci
@ 2001-02-27  1:36 ` David Brownell
  0 siblings, 0 replies; 2+ messages in thread
From: David Brownell @ 2001-02-27  1:36 UTC (permalink / raw)
  To: linux-hotplug

Thanks, I think I'll be checking this stuff in soon.
I tested it with bash1 and bash2; found a bug
from somewhere for bash1 systems, "unset IFS"
was failing.

Comments should be good in "usb.handmap"
(which will likely collect lots of HID devices
like joysticks and mice) and other places that
users edit by hand.

One thing to watch out for is that this way of
handling comment lines expects BASH to be
able to parse the comments, so this "comment"

    # Don't use punctuation.

would cause at least two errors (unterminated
string literal and strange number format).

But it's still better than no comments at all!

- Dave

----- Original Message ----- 
From: "Gioele Barabucci" <dev@gioelebarabucci.com>
To: <linux-hotplug-devel@lists.sourceforge.net>
Sent: Monday, February 26, 2001 1:58 PM
Subject: Yet another patch


> This patch is like to previous one but adds the ability to use comments in 
> *map files, but this this time the lines just have to start with "#" followed 
> by any string (in the past patch "##" were not recognized as comment)
> 
> the patch is done against CVS at 22:20
> 
> 


_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-02-27  1:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-02-26 21:58 Yet another patch Gioele Barabucci
2001-02-27  1:36 ` David Brownell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).