#!/bin/sh -e

load_input_modules() {
  for module in mousedev evdev joydev; do
    modprobe -q $module || true
  done
}

case "$(uname -r)" in
  2.6.1[0-4]|2.6.1[0-4][!0-9]*)
  /lib/udev/udevsynthesize
  load_input_modules
  exit 0
  ;;
esac

list=$(echo /sys/bus/*/devices/*/uevent /sys/class/*/*/uevent)
list=$(echo $list /sys/block/*/uevent /sys/block/*/*/uevent)

for file in $list; do
  case "$file" in
    */device/uevent) ;;		# skip followed device symlinks
    */\*/*) ;;
    *" "*) ;;

    */class/mem/*)		# for /dev/null
    first="$first $file" ;;

    */block/md[0-9]*)
    last="$last $file" ;;

    *)
    default="$default $file" ;;
  esac
done

for file in $first $default $last; do
  echo 'add' > $file
done

load_input_modules

exit 0

