diff options
author | Philipp Zabel <philipp.zabel@gmail.com> | 2006-04-10 18:28:47 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2006-04-10 18:28:47 +0000 |
commit | 7d3475348c98e767588d525150e42267ea2d063c (patch) | |
tree | cff13565621fd18b6222336265368fa5bd2502c8 /packages/udev/files/udevsynthesize.sh | |
parent | acf5ba0f040f76ab1b380580efd491f3b9c76abc (diff) |
udev: move duplicate patches to files/
Diffstat (limited to 'packages/udev/files/udevsynthesize.sh')
-rw-r--r-- | packages/udev/files/udevsynthesize.sh | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/packages/udev/files/udevsynthesize.sh b/packages/udev/files/udevsynthesize.sh new file mode 100644 index 0000000000..d58217c144 --- /dev/null +++ b/packages/udev/files/udevsynthesize.sh @@ -0,0 +1,51 @@ +#!/bin/sh -e + +load_input_modules() { + for module in mousedev evdev joydev; do + modprobe -q $module || true + done +} + +if [ ! -e /sys/class/mem/null/uevent ]; then # <= 2.6.14 + /lib/udev/udevsynthesize + load_input_modules + exit 0 +fi + +# replace $IFS with something which is not likely to appear in a sysfs path, +# because some buggy drivers have spaces in their names +oldifs="$IFS" +IFS="|" + +for file in /sys/bus/*/devices/*/uevent /sys/class/*/*/uevent \ + /sys/block/*/uevent /sys/block/*/*/uevent; do + case "$file" in + */device/uevent) ;; # skip followed device symlinks + */\*/*) ;; + + */class/mem/*) # for /dev/null + first="$first${IFS}$file" ;; + + */block/md[0-9]*) + last="$last${IFS}$file" ;; + + *) + default="$default${IFS}$file" ;; + esac +done + +for file in $first${IFS}$default${IFS}$last; do + [ "$file" ] || continue + echo 'add' > "$file" || true +done + +IFS="$oldifs" + +case "$(uname -r)" in + 2.6.1[0-5]|2.6.1[0-5][!0-9]*) # <= 2.6.15 + load_input_modules + ;; +esac + +exit 0 + |