summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@rpsys.net>2006-04-04 09:08:48 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-04-04 09:08:48 +0000
commit6ce3ce8860572954d283d4ec66364875d66a6d9c (patch)
tree298bfd67d7fed7eb14373ab2c114e65b4bdb9e65
parente7931fb2e81889bdd492d3ec3f9617ac402d260b (diff)
udev 084: Fixes from Olivier Berger to get usb symlinking and modprobing working correctly. Also move the RTC rule to local.rules (where all our custom rules should be).
-rw-r--r--packages/udev/files/local.rules17
-rw-r--r--packages/udev/files/udev.rules2
-rw-r--r--packages/udev/udev-084/local.rules28
-rw-r--r--packages/udev/udev-084/udev.rules5
-rw-r--r--packages/udev/udev_084.bb2
5 files changed, 48 insertions, 6 deletions
diff --git a/packages/udev/files/local.rules b/packages/udev/files/local.rules
index 4bcaaa8aba..5f2efbeb0c 100644
--- a/packages/udev/files/local.rules
+++ b/packages/udev/files/local.rules
@@ -1,5 +1,22 @@
+# There are a number of modifiers that are allowed to be used in some
+# of the different fields. They provide the following subsitutions:
+#
+# %n the "kernel number" of the device.
+# For example, 'sda3' has a "kernel number" of '3'
+# %e the smallest number for that name which does not matches an existing node
+# %k the kernel name for the device
+# %M the kernel major number for the device
+# %m the kernel minor number for the device
+# %b the bus id for the device
+# %c the string returned by the PROGRAM
+# %s{filename} the content of a sysfs attribute
+# %% the '%' char itself
+#
+
+# Media automounting
SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
+# Handle network interface setup
SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
diff --git a/packages/udev/files/udev.rules b/packages/udev/files/udev.rules
index 044ababa7f..5c566f6cef 100644
--- a/packages/udev/files/udev.rules
+++ b/packages/udev/files/udev.rules
@@ -28,7 +28,7 @@ BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \
# usbfs-like devices
SUBSYSTEM=="usb_device", \
- PROGRAM="/bin/sh -c 'X=%k X=$${X#usbdev} B=$${X%%%%.*} D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c"
+ PROGRAM="/bin/sh -c 'export X=%k; export X=$${X#usbdev}; export B=$${X%%%%.*}; export D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c"
# serial devices
KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
diff --git a/packages/udev/udev-084/local.rules b/packages/udev/udev-084/local.rules
new file mode 100644
index 0000000000..bb8459ba23
--- /dev/null
+++ b/packages/udev/udev-084/local.rules
@@ -0,0 +1,28 @@
+# There are a number of modifiers that are allowed to be used in some
+# of the different fields. They provide the following subsitutions:
+#
+# %n the "kernel number" of the device.
+# For example, 'sda3' has a "kernel number" of '3'
+# %e the smallest number for that name which does not matches an existing node
+# %k the kernel name for the device
+# %M the kernel major number for the device
+# %m the kernel minor number for the device
+# %b the bus id for the device
+# %c the string returned by the PROGRAM
+# %s{filename} the content of a sysfs attribute
+# %% the '%' char itself
+#
+
+# Media automounting
+SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
+SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
+
+# Handle network interface setup
+SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
+SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
+
+# The first rtc device is symlinked to /dev/rtc
+KERNEL="rtc0", SYMLINK="rtc"
+
+# Try and modprobe for drivers for new hardware
+ACTION="add", DEVPATH="/devices/*", MODALIAS=="?*", RUN+="/sbin/modprobe $modalias"
diff --git a/packages/udev/udev-084/udev.rules b/packages/udev/udev-084/udev.rules
index 098b16bc4f..7b4152c5bf 100644
--- a/packages/udev/udev-084/udev.rules
+++ b/packages/udev/udev-084/udev.rules
@@ -28,7 +28,7 @@ BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \
# usbfs-like devices
SUBSYSTEM=="usb_device", \
- PROGRAM="/bin/sh -c 'X=%k X=$${X#usbdev} B=$${X%%%%.*} D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c"
+ PROGRAM="/bin/sh -c 'export X=%k; export X=$${X#usbdev}; export B=$${X%%%%.*}; export D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c"
# serial devices
KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
@@ -96,6 +96,3 @@ KERNEL="rfcomm[0-9]*", NAME="%k", GROUP="users", MODE="0660"
# Firmware Helper
ACTION=="add", SUBSYSTEM=="firmware", RUN+="/lib/udev/firmware_helper"
-
-# on ARM we get /dev/rtc0 but many apps need /dev/rtc
-KERNEL=="rtc0" NAME="rtc0" SYMLINK="rtc"
diff --git a/packages/udev/udev_084.bb b/packages/udev/udev_084.bb
index e1db0ccd79..6bafa615d7 100644
--- a/packages/udev/udev_084.bb
+++ b/packages/udev/udev_084.bb
@@ -13,7 +13,7 @@ include udev.inc
INITSCRIPT_PARAMS = "start 03 S . start 55 0 6 ."
-PR = "r2"
+PR = "r3"
FILES_${PN} += "${base_libdir}"
UDEV_EXTRAS = "extras/firmware/ extras/scsi_id/ extras/volume_id/ extras/run_directory/"