chiark / gitweb /
[PATCH] udev - switch SYSFS_file to SYSFS{file}
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>
Tue, 17 Feb 2004 09:27:01 +0000 (01:27 -0800)
committerGreg KH <gregkh@suse.de>
Wed, 27 Apr 2005 04:32:28 +0000 (21:32 -0700)
Here we switch the configs and man pages to the new attribute syntax.
Also the 'partition trick' is mentioned in udev.8

I think it's more clear visible now, that inside the brackets are user
supplied values used and not some magic keys handled:

  'SYSFS_dev' is now 'SYSFS{dev}'

The old syntax is still supported.

etc/udev/udev.rules
etc/udev/udev.rules.gentoo
test/label_test
test/udev-test.pl
udev.8
udevinfo.8
udevinfo.c

index 344304d..e1c2cbe 100644 (file)
@@ -5,13 +5,13 @@
 BUS="scsi", PROGRAM="/bin/echo -n test-%b", RESULT="test-42:0:0:1", NAME="%c"
 
 # A usb camera.
-BUS="usb", SYSFS_vendor="FUJIFILM", SYSFS_model="M100", NAME="camera%n"
+BUS="usb", SYSFS{vendor}="FUJIFILM", SYSFS{model}="M100", NAME="camera%n"
 
 # USB Epson printer to be called lp_epson
 BUS="usb", SYSFS_serial="HXOLL0012202323480", NAME="lp_epson"
 
 # USB HP printer to be called lp_hp
-BUS="usb", SYSFS_serial="W09090207101241330", NAME="lp_hp"
+BUS="usb", SYSFS{serial}="W09090207101241330", NAME="lp_hp"
 
 # sound card with PCI bus id 00:0b.0 to be the first sound card
 BUS="pci", ID="00:0b.0", NAME="dsp"
index 0c53df5..b3ca042 100644 (file)
 BUS="scsi", PROGRAM="/bin/echo -n test-%b", RESULT="test-42:0:0:1", NAME="%c"
 
 # A usb camera.
-BUS="usb", SYSFS_vendor="FUJIFILM", SYSFS_model="M100", NAME="camera%n"
+BUS="usb", SYSFS{vendor}="FUJIFILM", SYSFS{model}="M100", NAME="camera%n"
 
 # USB Epson printer to be called lp_epson
-BUS="usb", SYSFS_serial="HXOLL0012202323480", NAME="lp_epson"
+BUS="usb", SYSFS{serial}="HXOLL0012202323480", NAME="lp_epson"
 
 # USB HP printer to be called lp_hp
-BUS="usb", SYSFS_serial="W09090207101241330", NAME="lp_hp"
+BUS="usb", SYSFS{serial}="W09090207101241330", NAME="lp_hp"
 
 # sound card with PCI bus id 00:0b.0 to be the first sound card
 BUS="pci", ID="00:0b.0", NAME="dsp"
index 93d02c1..b99a4ac 100644 (file)
@@ -8,8 +8,8 @@ export SYSFS_PATH=$PWD/sys/
 export UDEV_CONFIG_FILE=$PWD/$CONFIG
 
 cat > $RULES << EOF
-BUS="scsi", SYSFS_vendor="IBM-ESXS", SYSFS_model="ST336605LW   !#", NAME="boot_diskX%n"
-BUS="scsi", SYSFS_vendor="IBM-ESXS", SYSFS_model="ST336605LW    !#", NAME="boot_disk%n"
+BUS="scsi", SYSFS{vendor}="IBM-ESXS", SYSFS{model}="ST336605LW   !#", NAME="boot_diskX%n"
+BUS="scsi", SYSFS{vendor}="IBM-ESXS", SYSFS{model}="ST336605LW    !#", NAME="boot_disk%n"
 EOF
 
 cat > $CONFIG << EOF
index 7459f8f..e238c90 100644 (file)
@@ -38,7 +38,7 @@ my @tests = (
                devpath  => "block/sda",
                expected => "boot_disk" ,
                conf     => <<EOF
-BUS="scsi", SYSFS_vendor="IBM-ESXS", NAME="boot_disk%n"
+BUS="scsi", SYSFS{vendor}="IBM-ESXS", NAME="boot_disk%n"
 KERNEL="ttyUSB0", NAME="visor"
 EOF
        },
@@ -48,7 +48,7 @@ EOF
                devpath  => "block/sda/sda1",
                expected => "boot_disk1" ,
                conf     => <<EOF
-BUS="scsi", SYSFS_vendor="IBM-ESXS", NAME="boot_disk%n"
+BUS="scsi", SYSFS{vendor}="IBM-ESXS", NAME="boot_disk%n"
 EOF
        },
        {
@@ -57,10 +57,10 @@ EOF
                devpath  => "block/sda/sda1",
                expected => "boot_disk1" ,
                conf     => <<EOF
-BUS="scsi", SYSFS_vendor="?IBM-ESXS", NAME="boot_disk%n-1"
-BUS="scsi", SYSFS_vendor="IBM-ESXS?", NAME="boot_disk%n-2"
-BUS="scsi", SYSFS_vendor="IBM-ES??", NAME="boot_disk%n"
-BUS="scsi", SYSFS_vendor="IBM-ESXSS", NAME="boot_disk%n-3"
+BUS="scsi", SYSFS{vendor}="?IBM-ESXS", NAME="boot_disk%n-1"
+BUS="scsi", SYSFS{vendor}="IBM-ESXS?", NAME="boot_disk%n-2"
+BUS="scsi", SYSFS{vendor}="IBM-ES??", NAME="boot_disk%n"
+BUS="scsi", SYSFS{vendor}="IBM-ESXSS", NAME="boot_disk%n-3"
 EOF
        },
        {
@@ -69,8 +69,8 @@ EOF
                devpath  => "block/sda/sda1",
                expected => "boot_disk1" ,
                conf     => <<EOF
-BUS="scsi", SYSFS_vendor="IBM-ESXS", SYSFS_model="ST336605LW   !#", NAME="boot_diskX%n"
-BUS="scsi", SYSFS_vendor="IBM-ESXS", SYSFS_model="ST336605LW    !#", NAME="boot_disk%n"
+BUS="scsi", SYSFS{vendor}="IBM-ESXS", SYSFS{model}="ST336605LW   !#", NAME="boot_diskX%n"
+BUS="scsi", SYSFS{vendor}="IBM-ESXS", SYSFS{model}="ST336605LW    !#", NAME="boot_disk%n"
 EOF
        },
        {
@@ -79,8 +79,8 @@ EOF
                devpath  => "block/sda/sda1",
                expected => "boot_disk1" ,
                conf     => <<EOF
-BUS="scsi", SYSFS_vendor="IBM-ESXS", SYSFS_model="ST336605LW    !#", SYSFS_scsi_level="4", SYSFS_rev="B245", SYSFS_type="2", SYSFS_queue_depth="32", NAME="boot_diskXX%n"
-BUS="scsi", SYSFS_vendor="IBM-ESXS", SYSFS_model="ST336605LW    !#", SYSFS_scsi_level="4", SYSFS_rev="B245", SYSFS_type="0", NAME="boot_disk%n"
+BUS="scsi", SYSFS{vendor}="IBM-ESXS", SYSFS{model}="ST336605LW    !#", SYSFS{scsi_level}="4", SYSFS{rev}="B245", SYSFS{type}="2", SYSFS{queue_depth}="32", NAME="boot_diskXX%n"
+BUS="scsi", SYSFS{vendor}="IBM-ESXS", SYSFS{model}="ST336605LW    !#", SYSFS{scsi_level}="4", SYSFS{rev}="B245", SYSFS{type}="0", NAME="boot_disk%n"
 EOF
        },
        {
@@ -209,7 +209,7 @@ EOF
                devpath  => "block/sda",
                expected => "disk-IBM-ESXS-sda" ,
                conf     => <<EOF
-BUS="scsi", SYSFS_vendor="IBM-ESXS", NAME="disk-%s{vendor}-%k"
+BUS="scsi", SYSFS{vendor}="IBM-ESXS", NAME="disk-%s{vendor}-%k"
 KERNEL="ttyUSB0", NAME="visor"
 EOF
        },
@@ -279,7 +279,7 @@ EOF
                devpath  => "class/tty/console",
                expected => "TTY" ,
                conf     => <<EOF
-BUS="foo", SYSFS_dev="5:1", NAME="foo"
+BUS="foo", SYSFS{dev}="5:1", NAME="foo"
 KERNEL="console", NAME="TTY"
 EOF
        },
@@ -289,7 +289,7 @@ EOF
                devpath  => "class/tty/console",
                expected => "foo" ,
                conf     => <<EOF
-SYSFS_dev="5:1", NAME="foo"
+SYSFS{dev}="5:1", NAME="foo"
 KERNEL="console", NAME="TTY"
 EOF
        },
@@ -319,7 +319,7 @@ EOF
                devpath  => "block/sda/sda2",
                expected => "1/2/a/b/symlink" ,
                conf     => <<EOF
-BUS="scsi", SYSFS_vendor="IBM-ESXS", NAME="1/2/node", SYMLINK="1/2/a/b/symlink"
+BUS="scsi", SYSFS{vendor}="IBM-ESXS", NAME="1/2/node", SYMLINK="1/2/a/b/symlink"
 EOF
        },
        {
@@ -328,7 +328,7 @@ EOF
                devpath  => "block/sda/sda2",
                expected => "1/2/symlink" ,
                conf     => <<EOF
-BUS="scsi", SYSFS_vendor="IBM-ESXS", NAME="1/2/a/b/node", SYMLINK="1/2/symlink"
+BUS="scsi", SYSFS{vendor}="IBM-ESXS", NAME="1/2/a/b/node", SYMLINK="1/2/symlink"
 EOF
        },
        {
@@ -337,7 +337,7 @@ EOF
                devpath  => "block/sda/sda2",
                expected => "1/2/c/d/symlink" ,
                conf     => <<EOF
-BUS="scsi", SYSFS_vendor="IBM-ESXS", NAME="1/2/a/b/node", SYMLINK="1/2/c/d/symlink"
+BUS="scsi", SYSFS{vendor}="IBM-ESXS", NAME="1/2/a/b/node", SYMLINK="1/2/c/d/symlink"
 EOF
        },
        {
@@ -355,7 +355,7 @@ EOF
                devpath  => "block/sda",
                expected => "boot_disk15" ,
                conf     => <<EOF
-BUS="scsi", SYSFS_vendor="IBM-ESXS", NAME{all_partitions}="boot_disk"
+BUS="scsi", SYSFS{vendor}="IBM-ESXS", NAME{all_partitions}="boot_disk"
 EOF
        },
        {
@@ -364,7 +364,7 @@ EOF
                devpath  => "class/tty/ttyUSB0",
                expected => "visor" ,
                conf     => <<EOF
-SYSFS_idProduct="2008", NAME="visor"
+SYSFS{idProduct}="2008", NAME="visor"
 EOF
        },
        {
diff --git a/udev.8 b/udev.8
index aea9226..9291f33 100644 (file)
--- a/udev.8
+++ b/udev.8
@@ -144,7 +144,7 @@ Match the device number on the bus, like PCI bus id.
 .B PLACE
 Match the topological position on bus, like physical port of USB device
 .TP
-.BI SYSFS_ filename
+.BI SYSFS{ filename }
 Match sysfs device attribute like label, vendor, USB serial number, SCSI UUID
 or file system label.  Up to 5 different sysfs files can be checked, with
 all of the values being required in order to match the rule.
@@ -162,6 +162,13 @@ call. This key may used in any following rule after a
 .B PROGRAM
 call.
 .P
+The
+.B NAME
+field given with the attribute
+.BR NAME{ all_partitions }
+will  create all 15 partitions of a blockdevice.
+This may be useful for removable media devices.
+.P
 .RB "The " NAME " ," SYMLINK " and " PROGRAM
 fields support simple printf-like string substitution:
 .TP
@@ -199,10 +206,10 @@ The '%' char itself.
 BUS="scsi", PROGRAM="/sbin/scsi_id", RESULT="OEM 0815", NAME="disk1"
 
 # USB printer to be called lp_color
-BUS="usb", SYSFS_serial="W09090207101241330", NAME="lp_color"
+BUS="usb", SYSFS{serial}="W09090207101241330", NAME="lp_color"
 
 # SCSI disk with a specific vendor and model number is to be called boot
-BUS="scsi", SYSFS_vendor="IBM", SYSFS_model="ST336", NAME="boot%n"
+BUS="scsi", SYSFS{vendor}="IBM", SYSFS{model}="ST336", NAME="boot%n"
 
 # sound card with PCI bus id 00:0b.0 to be called dsp
 BUS="pci", ID="00:0b.0", NAME="dsp"
@@ -214,7 +221,7 @@ BUS="usb", PLACE="2.3", NAME="mouse1"
 KERNEL="ttyUSB1", NAME="pda", SYMLINK="palmtop handheld"
 
 # multiple USB webcams with symlinks to be called webcam0, webcam1, ...
-BUS="usb", SYSFS_model="XV3", NAME="video%n", SYMLINK="webcam%n"
+BUS="usb", SYSFS{model}="XV3", NAME="video%n", SYMLINK="webcam%n"
 .fi
 .P
 Permissions and ownership for the created device files may specified at
index fdb0e6f..67d034a 100644 (file)
@@ -38,7 +38,7 @@ Specify the name of the node for the device to query.
 .TP
 .B -a
 Print all
-.BI SYSFS_ filename
+.BI SYSFS{ filename }
 attributes along the device chain. Useful for for finding
 unique attributes to compose a rule.
 .RB Needs " -p " specified.
index 44eb142..e4ea698 100644 (file)
@@ -90,7 +90,7 @@ static int print_all_attributes(const char *path)
                                len--;
                        }
                        if (len == 0)
-                               printf("    SYSFS_%s=\"%s\"\n", attr->name, value);
+                               printf("    SYSFS{%s}=\"%s\"\n", attr->name, value);
                }
        }
        printf("\n");