udev - switch SYSFS_file to SYSFS{file}
PATCH 1/1 udev - switch SYSFS_file to SYSFS{file}
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.
thanks,
Kay
etc/udev/udev.rules +2 -2
@@ -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"
etc/udev/udev.rules.gentoo +3 -3
@@ -23,13 +23,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" +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"
test/label_test +2 -2
@@ -8,8 +8,8 @@ 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
test/udev-test.pl +18 -18
@@ -38,7 +38,7 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ devpath => "class/tty/ttyUSB0", expected => "visor" , conf => <<EOF -SYSFS_idProduct="2008", NAME="visor" +SYSFS{idProduct}="2008", NAME="visor" EOF }, {
udev.8 +11 -4
@@ -144,7 +144,7 @@ .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 @@ .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 @@ 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 @@ 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
udevinfo.8 +1 -1
@@ -38,7 +38,7 @@ .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.
udevinfo.c +1 -1
@@ -90,7 +90,7 @@ len--; }if (len ==0 ) -printf (" SYSFS_%s=\"%s\"\n" , attr->name, value); +printf (" SYSFS{%s}=\"%s\"\n" , attr->name, value); } }printf ("\n" );
Greg KH
AppliedQuoted 9 lines · Kay Sievers
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.
Nice, thanks. I've added a test in udev-test.pl for the "old" style to make sure we don't break that sometime in the future without meaning too.
Applied.
greg k-h
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id56&alloc_id438&op=click
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel