chiark / gitweb /
[PATCH] fix udev init.d script to handle all class devices in sysfs.
authorgreg@kroah.com <greg@kroah.com>
Mon, 24 Nov 2003 14:19:44 +0000 (06:19 -0800)
committerGreg KH <gregkh@suse.de>
Wed, 27 Apr 2005 04:13:02 +0000 (21:13 -0700)
etc/init.d/udev

index 99f06c2..5c09afd 100644 (file)
@@ -24,24 +24,31 @@ case "$1" in
        # device bring up
        action "Creating initial udev device nodes: " /bin/true
        export ACTION=add
-       # add tty devices
-       for i in ${sysfs_dir}/class/tty/*; do
-               export DEVPATH="/"`echo $i | cut --delimiter='/' --fields=3-`
-               $bin tty
-       done
        # add block devices and their partitions
        for i in ${sysfs_dir}/block/*; do
-               export DEVPATH="/"`echo $i | cut --delimiter='/' --fields=3-`
+               # add each drive
+               export DEVPATH=${i#${sysfs_dir}}
                $bin block
+
+               # add each partition, on each device
                for j in $i/*; do
                        if [ -f $j/dev ]; then
-                               export DEVPATH="/"`echo $j |  \
-                                       cut --delimiter='/' --fields=3-`
+                               export DEVPATH=${j#${sysfs_dir}}
                                $bin block
                        fi
                done
        done
-       # TODO: add other device classes
+       # all other device classes
+       for i in ${sysfs_dir}/class/*; do
+               for j in $i/*; do
+                       if [ -f $j/dev ]; then
+                               export DEVPATH=${j#${sysfs_dir}}
+                               CLASS=`echo ${i#${sysfs_dir}} | \
+                                       cut --delimiter='/' --fields=3-`
+                               $bin $CLASS
+                       fi
+               done
+       done
        ;;
   stop)
        # be careful