diff options
author | Richard Purdie <richard@openedhand.com> | 2006-07-21 10:10:31 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2006-07-21 10:10:31 +0000 |
commit | b2f192faabe412adce79534e22efe9fb69ee40e2 (patch) | |
tree | 7076c49d4286f8a1733650bd8fbc7161af200d57 /openembedded/packages/udev/files | |
parent | 2cf0eadf9f730027833af802d7e6c90b44248f80 (diff) | |
download | openembedded-core-b2f192faabe412adce79534e22efe9fb69ee40e2.tar.gz openembedded-core-b2f192faabe412adce79534e22efe9fb69ee40e2.tar.bz2 openembedded-core-b2f192faabe412adce79534e22efe9fb69ee40e2.tar.xz openembedded-core-b2f192faabe412adce79534e22efe9fb69ee40e2.zip |
Rename /openembedded/ -> /meta/
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@530 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'openembedded/packages/udev/files')
20 files changed, 0 insertions, 1631 deletions
diff --git a/openembedded/packages/udev/files/akita/mount.blacklist b/openembedded/packages/udev/files/akita/mount.blacklist deleted file mode 100644 index 7e351bc98..000000000 --- a/openembedded/packages/udev/files/akita/mount.blacklist +++ /dev/null @@ -1,6 +0,0 @@ -# This is a grep pattern matched against the device name -# Any matched pattern will _not_ be mounted / removed by udevd - -/dev/mtdblock -/dev/loop -/dev/ram
\ No newline at end of file diff --git a/openembedded/packages/udev/files/c7x0/mount.blacklist b/openembedded/packages/udev/files/c7x0/mount.blacklist deleted file mode 100644 index 7e351bc98..000000000 --- a/openembedded/packages/udev/files/c7x0/mount.blacklist +++ /dev/null @@ -1,6 +0,0 @@ -# This is a grep pattern matched against the device name -# Any matched pattern will _not_ be mounted / removed by udevd - -/dev/mtdblock -/dev/loop -/dev/ram
\ No newline at end of file diff --git a/openembedded/packages/udev/files/devfs-udev.rules b/openembedded/packages/udev/files/devfs-udev.rules deleted file mode 100644 index 0ba1ad4e7..000000000 --- a/openembedded/packages/udev/files/devfs-udev.rules +++ /dev/null @@ -1,108 +0,0 @@ -# The use of these rules is not recommended or supported. -# In a world where devices can come and go at any time, the devfs scheme -# of simple device enumeration does not help _anything_. Just forget about -# it. Use custom rules to name your device or look at the persistent device -# naming scheme, which is implemented for disks and add your subsystem. - -# ide block devices -BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/ide-devfs.sh %k %b %n", NAME="%k", SYMLINK="%c{1} %c{2}" - -# md block devices -KERNEL="md[0-9]*", NAME="md/%n" - -# floppy devices -KERNEL="fd[0-9]*", NAME="floppy/%n" - -# tty devices -KERNEL="tty[0-9]*", NAME="vc/%n", SYMLINK="%k" -KERNEL="ttyS[0-9]*", NAME="tts/%n", SYMLINK="%k" -KERNEL="ttyUSB[0-9]*", NAME="tts/USB%n" - -# vc devices -KERNEL="vcs", NAME="vcc/0" -KERNEL="vcs[0-9]*", NAME="vcc/%n" -KERNEL="vcsa", NAME="vcc/a0" -KERNEL="vcsa[0-9]*", NAME="vcc/a%n" - -# v4l devices -KERNEL="video[0-9]*", NAME="v4l/video%n" -KERNEL="radio[0-9]*", NAME="v4l/radio%n" -KERNEL="vbi[0-9]*", NAME="v4l/vbi%n" -KERNEL="vtx[0-9]*", NAME="v4l/vtx%n" - -# dm devices (ignore them) -KERNEL="dm-[0-9]*", NAME="" - -# i2c devices -KERNEL="i2c-[0-9]*", NAME="i2c/%n", SYMLINK="%k" - -# loop devices -KERNEL="loop[0-9]*", NAME="loop/%n", SYMLINK="%k" - -# ramdisks -KERNEL="ram[0-9]*", NAME="rd/%n", SYMLINK="%k" - -# framebuffer devices -KERNEL="fb[0-9]*", NAME="fb/%n", SYMLINK="%k" - -# misc -KERNEL="rtc", NAME="misc/%k", SYMLINK="%k" -KERNEL="psaux", NAME="misc/%k", SYMLINK="%k" -KERNEL="agpgart", NAME="misc/%k", SYMLINK="%k" -KERNEL="rtc", NAME="misc/%k", SYMLINK="%k" -KERNEL="psaux", NAME="misc/%k", SYMLINK="%k" -KERNEL="uinput", NAME="misc/%k", SYMLINK="%k" - -# alsa devices -KERNEL="controlC[0-9]*", NAME="snd/%k" -KERNEL="hw[CD0-9]*", NAME="snd/%k" -KERNEL="pcm[CD0-9cp]*", NAME="snd/%k" -KERNEL="midi[CD0-9]*", NAME="snd/%k" -KERNEL="timer", NAME="snd/%k" -KERNEL="seq", NAME="snd/%k" - -# oss devices -KERNEL="audio*", NAME="sound/%k", SYMLINK="%k" -KERNEL="dmmidi", NAME="sound/%k", SYMLINK="%k" -KERNEL="dsp*", NAME="sound/%k", SYMLINK="%k" -KERNEL="midi*", NAME="sound/%k", SYMLINK="%k" -KERNEL="mixer*", NAME="sound/%k", SYMLINK="%k" -KERNEL="sequencer*", NAME="sound/%k", SYMLINK="%k" - -# input devices -KERNEL="mice", NAME="input/%k" -KERNEL="mouse*", NAME="input/%k" -KERNEL="event*", NAME="input/%k" -KERNEL="js*", NAME="input/%k" -KERNEL="ts*", NAME="input/%k" - -# USB devices -KERNEL="hiddev*", NAME="usb/%k" -KERNEL="auer*", NAME="usb/%k" -KERNEL="legousbtower*", NAME="usb/%k" -KERNEL="dabusb*", NAME="usb/%k" -BUS="usb", KERNEL="lp[0-9]*", NAME="usb/%k" - -# netlink devices -KERNEL="route", NAME="netlink/%k" -KERNEL="skip", NAME="netlink/%k" -KERNEL="usersock", NAME="netlink/%k" -KERNEL="fwmonitor", NAME="netlink/%k" -KERNEL="tcpdiag", NAME="netlink/%k" -KERNEL="nflog", NAME="netlink/%k" -KERNEL="xfrm", NAME="netlink/%k" -KERNEL="arpd", NAME="netlink/%k" -KERNEL="route6", NAME="netlink/%k" -KERNEL="ip6_fw", NAME="netlink/%k" -KERNEL="dnrtmsg", NAME="netlink/%k" -KERNEL="tap*", NAME="netlink/%k" - -# CAPI devices -KERNEL="capi", NAME="capi20", SYMLINK="isdn/capi20" -KERNEL="capi*", NAME="capi/%n" - -# Network devices -KERNEL="tun", NAME="net/%k" - -# raw devices -KERNEL="raw[0-9]*", NAME="raw/%k" diff --git a/openembedded/packages/udev/files/fix-alignment.patch b/openembedded/packages/udev/files/fix-alignment.patch deleted file mode 100644 index 8c7b8b5ac..000000000 --- a/openembedded/packages/udev/files/fix-alignment.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/udev_rules_parse.c b/udev_rules_parse.c ---- a/udev_rules_parse.c -+++ b/udev_rules_parse.c -@@ -241,6 +241,7 @@ static int add_to_rules(struct udev_rule - int valid; - char *linepos; - char *attr; -+ size_t padding; - int retval; - - /* get all the keys */ -@@ -506,6 +507,11 @@ static int add_to_rules(struct udev_rule - - /* grow buffer and add rule */ - rule_size = sizeof(struct udev_rule) + rule->bufsize; -+ padding = (sizeof(size_t) - rule_size % sizeof(size_t)) % sizeof(size_t); -+ dbg("add %zi padding bytes", padding); -+ rule_size += padding; -+ rule->bufsize += padding; -+ - rules->buf = realloc(rules->buf, rules->bufsize + rule_size); - if (!rules->buf) { - err("realloc failed"); - diff --git a/openembedded/packages/udev/files/init b/openembedded/packages/udev/files/init deleted file mode 100755 index 1022b40c8..000000000 --- a/openembedded/packages/udev/files/init +++ /dev/null @@ -1,208 +0,0 @@ -#!/bin/sh -e - -UDEVSTART=/sbin/udevstart - -# defaults -tmpfs_size="10M" -udev_root="/dev" - -[ -x $UDEVSTART ] || exit 0 - -. /etc/udev/udev.conf - -############################################################################## - -# we need to unmount /dev/pts/ and remount it later over the tmpfs -unmount_devpts() { - if mountpoint -q /dev/pts/; then - umount -l /dev/pts/ - fi - - if mountpoint -q /dev/shm/; then - umount -l /dev/shm/ - fi -} - -# mount a tmpfs over /dev, if somebody did not already do it -mount_tmpfs() { - if grep -E -q "^[^[:space:]]+ /dev tmpfs" /proc/mounts; then - return 0 - fi - - # /dev/.static/dev/ is used by MAKEDEV to access the real /dev/ directory. - # /etc/udev/ is recycled as a temporary mount point because it's the only - # directory which is guaranteed to be available. - mount -n -o bind /dev /etc/udev - - if ! mount -n -o size=$tmpfs_size,mode=0755 -t tmpfs tmpfs /dev; then - umount /etc/udev - echo "udev requires tmpfs support, not started." - exit 1 - fi - - # using ln to test if /dev works, because touch is in /usr/bin/ - if ln -s test /dev/test-file; then - rm /dev/test-file - else - echo "udev requires tmpfs support, not started." - umount /etc/udev - umount /dev - exit 1 - fi - - mkdir -p /dev/.static/dev - chmod 700 /dev/.static/ - # The mount options in busybox are non-standard... - if test -x /bin/mount.util-linux - then - /bin/mount.util-linux --move /etc/udev /dev/.static/dev - elif test -x /bin/busybox - then - busybox mount -n -o move /etc/udev /dev/.static/dev - else - echo "udev requires an identifiable mount command, not started." - umount /etc/udev - umount /dev - exit 1 - fi -} - -# I hate this hack. -- Md -make_extra_nodes() { - [ -e /etc/udev/links.conf ] || return 0 - grep '^[^#]' /etc/udev/links.conf | \ - while read type name arg1; do - [ "$type" -a "$name" -a ! -e "/dev/$name" -a ! -L "/dev/$name" ] ||continue - case "$type" in - L) ln -s $arg1 /dev/$name ;; - D) mkdir -p /dev/$name ;; - M) mknod -m 600 /dev/$name $arg1 ;; - *) echo "links.conf: unparseable line ($type $name $arg1)" ;; - esac - done -} - -# this function is duplicated in preinst, postinst and d-i -supported_kernel() { - case "$(uname -r)" in - 2.[012345].*|2.6.[0-9]|2.6.[0-9][!0-9]*) return 1 ;; - 2.6.1[01]|2.6.1[01][!0-9]*) return 1 ;; - esac - return 0 -} - -# shell version of /usr/bin/tty -my_tty() { - [ -x /bin/readlink ] || return 0 - [ -e /proc/self/fd/0 ] || return 0 - readlink --silent /proc/self/fd/0 || true -} - -warn_if_interactive() { - if [ "$RUNLEVEL" = "S" -a "$PREVLEVEL" = "N" ]; then - return 0 - fi - - TTY=$(my_tty) - if [ -z "$TTY" -o "$TTY" = "/dev/console" ]; then - return 0 - fi - - printf "\n\n\nIt has been detected that the command\n\n\t$0 $*\n\n" - printf "has been run from an interactive shell.\n" - printf "It will probably not do what you expect, so this script will wait\n" - printf "60 seconds before continuing. Press ^C to stop it.\n" - printf "RUNNING THIS COMMAND IS HIGHLY DISCOURAGED!\n\n\n\n" - sleep 60 -} - -############################################################################## - -if ! supported_kernel; then - echo "udev requires a kernel >= 2.6.12, not started." - exit 1 -fi - -if [ ! -e /proc/filesystems ]; then - echo "udev requires a mounted procfs, not started." - exit 1 -fi - -if ! grep -q '[[:space:]]tmpfs$' /proc/filesystems; then - echo "udev requires tmpfs support, not started." - exit 1 -fi - -if [ ! -d /sys/class/ ]; then - echo "udev requires a mounted sysfs, not started." - exit 1 -fi - -if [ ! -e /proc/sys/kernel/hotplug ]; then - echo "udev requires hotplug support, not started." - exit 1 -fi - -############################################################################## - -# When modifying this script, do not forget that between the time that -# the new /dev has been mounted and udevstart has been run there will be -# no /dev/null. This also means that you cannot use the "&" shell command. - -case "$1" in - start) - if [ -e "$udev_root/.udevdb" ]; then - if mountpoint -q /dev/; then - TMPFS_MOUNTED=1 - else - echo ".udevdb already exists on the old $udev_root!" - fi - fi - warn_if_interactive - - #echo /sbin/udevsend > /proc/sys/kernel/hotplug - echo "" > /proc/sys/kernel/hotplug - udevsend - if [ "$UDEV_DISABLED" = "yes" ]; then - echo "udev disabled on the kernel command line, not started." - exit 0 - fi - - if [ ! "$TMPFS_MOUNTED" ]; then - unmount_devpts - mount_tmpfs - [ -d /proc/1 ] || mount -n /proc - # if this directory is not present /dev will not be updated by udev - mkdir /dev/.udevdb/ - echo "Creating initial device nodes..." - udevstart - fi - make_extra_nodes - ;; - stop) - warn_if_interactive - start-stop-daemon --stop --exec /sbin/udevd --quiet - unmount_devpts - if [ -d /dev/.static/dev/ ]; then - umount -l /dev/.static/dev/ || true - fi - echo "Unmounting /dev..." - # unmounting with -l should never fail - if ! umount -l /dev; then - exit 1 - fi - ;; - restart|force-reload) - start-stop-daemon --stop --exec /sbin/udevd --quiet - log_begin_msg "Recreating device nodes..." - udevstart - make_extra_nodes - log_end_msg 0 - ;; - *) - echo "Usage: /etc/init.d/udev {start|stop|restart|force-reload}" - exit 1 - ;; -esac - -exit 0 diff --git a/openembedded/packages/udev/files/links.conf b/openembedded/packages/udev/files/links.conf deleted file mode 100644 index 8fff922db..000000000 --- a/openembedded/packages/udev/files/links.conf +++ /dev/null @@ -1,21 +0,0 @@ -# This file does not exist. Please do not ask the debian maintainer about it. -# You may use it to do strange and wonderful things, at your risk. - -L fd /proc/self/fd -L stdin /proc/self/fd/0 -L stdout /proc/self/fd/1 -L stderr /proc/self/fd/2 -L core /proc/kcore -L sndstat /proc/asound/oss/sndstat -L MAKEDEV /sbin/MAKEDEV - -D pts -D shm - -# Hic sunt leones. -M ppp c 108 0 -D loop -M loop/0 b 7 0 -D net -M net/tun c 10 200 - diff --git a/openembedded/packages/udev/files/local.rules b/openembedded/packages/udev/files/local.rules deleted file mode 100644 index 5f2efbeb0..000000000 --- a/openembedded/packages/udev/files/local.rules +++ /dev/null @@ -1,22 +0,0 @@ -# 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/openembedded/packages/udev/files/mount.blacklist b/openembedded/packages/udev/files/mount.blacklist deleted file mode 100644 index 1e7340aa5..000000000 --- a/openembedded/packages/udev/files/mount.blacklist +++ /dev/null @@ -1,2 +0,0 @@ -/dev/loop -/dev/ram
\ No newline at end of file diff --git a/openembedded/packages/udev/files/mount.sh b/openembedded/packages/udev/files/mount.sh deleted file mode 100644 index 48c784469..000000000 --- a/openembedded/packages/udev/files/mount.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh -# -# Called from udev -# Attemp to mount any added block devices -# and remove any removed devices -# - -MOUNT="/bin/mount" -PMOUNT="/usr/bin/pmount" -UMOUNT="/bin/umount" -name="`basename "$DEVNAME"`" - -for line in `cat /etc/udev/mount.blacklist | grep -v ^#` -do - if ( echo "$DEVNAME" | grep -q "$line" ) - then - logger "udev/mount.sh" "[$DEVNAME] is blacklisted, ignoring" - exit 0 - fi -done - -automount() { - ! test -d "/media/$name" && mkdir -p "/media/$name" - - if ! $MOUNT -t auto -o sync $DEVNAME "/media/$name" - then - #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/media/$name\" failed!" - rm_dir "/media/$name" - else - logger "mount.sh/automount" "Auto-mount of [/media/$name] successful" - touch "/tmp/.automount-$name" - fi -} - -rm_dir() { - # We do not want to rm -r populated directories - if test "`find "$1" | wc -l | tr -d " "`" -lt 2 -a -d "$1" - then - ! test -z "$1" && rm -r "$1" - else - logger "mount.sh/automount" "Not removing non-empty directory [$1]" - fi -} - -if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ]; then - if [ -x "$PMOUNT" ]; then - $PMOUNT $DEVNAME 2> /dev/null - elif [ -x $MOUNT ]; then - $MOUNT $DEVNAME 2> /dev/null - fi - - # If the device isn't mounted at this point, it isn't configured in fstab - cat /proc/mounts | awk '{print $1}' | grep -q "^$DEVNAME$" || automount - -fi - - - -if [ "$ACTION" = "remove" ] && [ -x "$UMOUNT" ] && [ -n "$DEVNAME" ]; then - for mnt in `cat /proc/mounts | grep "$DEVNAME" | cut -f 2 -d " " ` - do - $UMOUNT $mnt - done - - # Remove empty directories from auto-mounter - test -e "/tmp/.automount-$name" && rm_dir "/media/$name" -fi diff --git a/openembedded/packages/udev/files/network.sh b/openembedded/packages/udev/files/network.sh deleted file mode 100644 index 5016328df..000000000 --- a/openembedded/packages/udev/files/network.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh - -# Do not run when pcmcia-cs is installed -test -x /sbin/cardctl && exit 0 - -# We get two "add" events for hostap cards due to wifi0 -echo "$INTERFACE" | grep -q wifi && exit 0 - - -# Check if /etc/init.d/network has been run yet to see if we are -# called by starting /etc/rcS.d/S03udev and not by hotplugging a device -# -# At this stage, network interfaces should not be brought up -# automatically because: -# a) /etc/init.d/network has not been run yet (security issue) -# b) /var has not been populated yet so /etc/resolv,conf points to -# oblivion, making the network unusable -# - -spoofp="`grep ^spoofprotect /etc/network/options`" -if test -z "$spoofp" -then - # This is the default from /etc/init.d/network - spoofp_val=yes -else - spoofp_val=${spoofp#spoofprotect=} -fi - -test "$spoofp_val" = yes && spoofp_val=1 || spoofp_val=0 - -# I think it is safe to assume that "lo" will always be there ;) -if test "`cat /proc/sys/net/ipv4/conf/lo/rp_filter`" != "$spoofp_val" -a -n "$spoofp_val" -then - echo "$INTERFACE" >> /dev/udev_network_queue - exit 0 -fi - -# -# Code taken from pcmcia-cs:/etc/pcmcia/network -# - -# if this interface has an entry in /etc/network/interfaces, let ifupdown -# handle it -if grep -q "iface \+$INTERFACE" /etc/network/interfaces; then - case $ACTION in - add) - ifconfig | grep -q "^$INTERFACE" || ifup $INTERFACE - ;; - remove) - ifdown $INTERFACE - ;; - esac - - exit 0 -fi diff --git a/openembedded/packages/udev/files/noasmlinkage.patch b/openembedded/packages/udev/files/noasmlinkage.patch deleted file mode 100644 index 0d8e854c0..000000000 --- a/openembedded/packages/udev/files/noasmlinkage.patch +++ /dev/null @@ -1,38 +0,0 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- udev-062/udev.c~noasmlinkage.patch -+++ udev-062/udev.c -@@ -54,7 +54,7 @@ - } - #endif - --static void asmlinkage sig_handler(int signum) -+static void sig_handler(int signum) - { - switch (signum) { - case SIGALRM: ---- udev-062/udevd.c~noasmlinkage.patch -+++ udev-062/udevd.c -@@ -639,7 +639,7 @@ - return msg; - } - --static void asmlinkage sig_handler(int signum) -+static void sig_handler(int signum) - { - int rc; - ---- udev-062/udevstart.c~noasmlinkage.patch -+++ udev-062/udevstart.c -@@ -323,7 +323,7 @@ - exec_list(&device_list); - } - --static void asmlinkage sig_handler(int signum) -+static void sig_handler(int signum) - { - switch (signum) { - case SIGALRM: diff --git a/openembedded/packages/udev/files/permissions.rules b/openembedded/packages/udev/files/permissions.rules deleted file mode 100644 index 86d771276..000000000 --- a/openembedded/packages/udev/files/permissions.rules +++ /dev/null @@ -1,81 +0,0 @@ -# default permissions for block devices -SUBSYSTEM=="block", GROUP="disk" -SUBSYSTEM=="block", SYSFS{removable}=="1", GROUP="floppy" - -# IDE devices -BUS=="ide", KERNEL=="hd[a-z]", SYSFS{removable}="1", \ - PROGRAM="/bin/cat /proc/ide/%k/media", RESULT=="cdrom*", GROUP="cdrom" -BUS=="ide", KERNEL=="ht[0-9]*", GROUP="tape" -BUS=="ide", KERNEL=="nht[0-9]*", GROUP="tape" - -# SCSI devices -BUS=="scsi", SYSFS{type}=="1", GROUP="tape" -BUS=="scsi", SYSFS{type}=="5", GROUP="cdrom" -BUS=="scsi", SYSFS{type}=="6", GROUP="scanner" - -# USB devices -BUS=="usb", KERNEL=="legousbtower*", MODE="0666" -BUS=="usb", KERNEL=="lp[0-9]*", GROUP="lp" - -# serial devices -SUBSYSTEM=="tty", GROUP="dialout" -SUBSYSTEM=="capi", GROUP="dialout" -SUBSYSTEM=="slamr", GROUP="dialout" - -# vc devices (all members of the tty subsystem) -KERNEL=="ptmx", MODE="0666", GROUP="root" -KERNEL=="console", MODE="0600", GROUP="root" -KERNEL=="tty", MODE="0666", GROUP="root" -KERNEL=="tty[0-9]*", GROUP="root" -KERNEL=="pty*", MODE="0666", GROUP="tty" - -# video devices -SUBSYSTEM=="video4linux", GROUP="video" -SUBSYSTEM=="drm", GROUP="video" -SUBSYSTEM=="dvb", GROUP="video" -SUBSYSTEM=="em8300", GROUP="video" -SUBSYSTEM=="graphics", GROUP="video" -SUBSYSTEM=="nvidia", GROUP="video" - -# misc devices -KERNEL=="random", MODE="0666" -KERNEL=="urandom", MODE="0444" -KERNEL=="mem", MODE="0640", GROUP="kmem" -KERNEL=="kmem", MODE="0640", GROUP="kmem" -KERNEL=="port", MODE="0640", GROUP="kmem" -KERNEL=="full", MODE="0666" -KERNEL=="null", MODE="0666" -KERNEL=="zero", MODE="0666" -KERNEL=="inotify", MODE="0666" -KERNEL=="sgi_fetchop", MODE="0666" -KERNEL=="sonypi", MODE="0666" -KERNEL=="agpgart", GROUP="video" -KERNEL=="nvram", GROUP="nvram" -KERNEL=="rtc", MODE="0660", GROUP="audio" - -KERNEL=="cdemu[0-9]*", GROUP="cdrom" -KERNEL=="pktcdvd[0-9]*", GROUP="cdrom" -KERNEL=="pktcdvd", MODE="0644" - -# printers and parallel devices -SUBSYSTEM=="printer", GROUP="lp" -SUBSYSTEM=="ppdev", GROUP="lp" -KERNEL=="pt[0-9]*", GROUP="tape" -KERNEL=="pht[0-9]*", GROUP="tape" - -# sound devices -SUBSYSTEM=="sound", GROUP="audio" - -# ieee1394 devices -KERNEL=="raw1394", GROUP="disk" -KERNEL=="dv1394*", GROUP="video" -KERNEL=="video1394*", GROUP="video" - -# input devices -KERNEL=="event[0-9]*", MODE="0664" -KERNEL=="js[0-9]*", MODE="0664" - -# AOE character devices -SUBSYSTEM=="aoe", MODE="0220", GROUP="disk" -SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440" - diff --git a/openembedded/packages/udev/files/slugos/mount.blacklist b/openembedded/packages/udev/files/slugos/mount.blacklist deleted file mode 100644 index 210702f83..000000000 --- a/openembedded/packages/udev/files/slugos/mount.blacklist +++ /dev/null @@ -1,4 +0,0 @@ -ram[0-9]$ -mtdblock[0-9]$ -hd[a-z]$ -sd[a-z]$ diff --git a/openembedded/packages/udev/files/spitz/mount.blacklist b/openembedded/packages/udev/files/spitz/mount.blacklist deleted file mode 100644 index 38c7aa4b3..000000000 --- a/openembedded/packages/udev/files/spitz/mount.blacklist +++ /dev/null @@ -1,7 +0,0 @@ -# This is a grep pattern matched against the device name -# Any matched pattern will _not_ be mounted / removed by udevd - -/dev/mtdblock -/dev/hda -/dev/loop -/dev/ram
\ No newline at end of file diff --git a/openembedded/packages/udev/files/tmpfs.patch b/openembedded/packages/udev/files/tmpfs.patch deleted file mode 100644 index 9d0d8b451..000000000 --- a/openembedded/packages/udev/files/tmpfs.patch +++ /dev/null @@ -1,16 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- udev-031/extras/start_udev~tmpfs 2004-09-10 17:10:03.000000000 -0400 -+++ udev-031/extras/start_udev 2004-09-11 15:18:15.560789160 -0400 -@@ -85,7 +85,7 @@ - fi - - echo "mounting... ramfs at $udev_root" --mount -n -t ramfs none $udev_root -+mount -n -t ramfs none $udev_root || mount -n -t tmpfs none $udev_root - - # propogate /udev from /sys - echo "Creating initial udev device nodes:" diff --git a/openembedded/packages/udev/files/tosa/mount.blacklist b/openembedded/packages/udev/files/tosa/mount.blacklist deleted file mode 100644 index 7e351bc98..000000000 --- a/openembedded/packages/udev/files/tosa/mount.blacklist +++ /dev/null @@ -1,6 +0,0 @@ -# This is a grep pattern matched against the device name -# Any matched pattern will _not_ be mounted / removed by udevd - -/dev/mtdblock -/dev/loop -/dev/ram
\ No newline at end of file diff --git a/openembedded/packages/udev/files/udev.rules b/openembedded/packages/udev/files/udev.rules deleted file mode 100644 index 5c566f6ce..000000000 --- a/openembedded/packages/udev/files/udev.rules +++ /dev/null @@ -1,98 +0,0 @@ -# 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 -# - -# SCSI devices -BUS=="scsi", KERNEL=="sr[0-9]*", NAME="scd%n", SYMLINK+="sr%n" - -# USB devices -BUS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k" -BUS=="usb", KERNEL=="cpad[0-9]*", NAME="usb/%k" -BUS=="usb", KERNEL=="dabusb*", NAME="usb/%k" -BUS=="usb", KERNEL=="hiddev*", NAME="usb/%k" -BUS=="usb", KERNEL=="legousbtower*", NAME="usb/%k" -BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k" -BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \ - SYMLINK+="pilot" - -# usbfs-like devices -SUBSYSTEM=="usb_device", \ - 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" -KERNEL=="capi[0-9]*", NAME="capi/%n" - -# video devices -KERNEL=="card[0-9]*", NAME="dri/%k" - -# misc devices -KERNEL=="hw_random", NAME="hwrng" -KERNEL=="tun", NAME="net/%k" - -KERNEL=="cdemu[0-9]*", NAME="cdemu/%n" -KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n" -KERNEL=="pktcdvd", NAME="pktcdvd/control" - -KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid" -KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" -KERNEL=="microcode", NAME="cpu/microcode" - -KERNEL=="umad*", NAME="infiniband/%k" -KERNEL=="issm*", NAME="infiniband/%k" -KERNEL=="uverbs*", NAME="infiniband/%k" -KERNEL=="ucm", NAME="infiniband/%k" - -KERNEL=="buzzer", NAME="misc/buzzer" - -# ALSA devices -KERNEL=="controlC[0-9]*", NAME="snd/%k" -KERNEL=="hwC[D0-9]*", NAME="snd/%k" -KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k" -KERNEL=="midiC[D0-9]*", NAME="snd/%k" -KERNEL=="timer", NAME="snd/%k" -KERNEL=="seq", NAME="snd/%k" - -# ieee1394 devices -KERNEL=="dv1394*", NAME="dv1394/%n" -KERNEL=="video1394*", NAME="video1394/%n" - -# input devices -KERNEL=="mice", NAME="input/%k" -KERNEL=="mouse[0-9]*", NAME="input/%k" -KERNEL=="event[0-9]*", NAME="input/%k" -KERNEL=="js[0-9]*", NAME="input/%k" -KERNEL=="ts[0-9]*", NAME="input/%k" -KERNEL=="uinput", NAME="input/%k" - -# Zaptel -KERNEL=="zapctl", NAME="zap/ctl" -KERNEL=="zaptimer", NAME="zap/timer" -KERNEL=="zapchannel", NAME="zap/channel" -KERNEL=="zappseudo", NAME="zap/pseudo" -KERNEL=="zap[0-9]*", NAME="zap/%n" - -# AOE character devices -SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k" -SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k" -SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k" - -# device mapper creates its own device nodes, so ignore these -KERNEL=="dm-[0-9]*", OPTIONS+="ignore_device" -KERNEL=="device-mapper", NAME="mapper/control" - -KERNEL="rfcomm[0-9]*", NAME="%k", GROUP="users", MODE="0660" - -# Firmware Helper -ACTION=="add", SUBSYSTEM=="firmware", RUN+="/sbin/firmware_helper" diff --git a/openembedded/packages/udev/files/udev_network_queue.sh b/openembedded/packages/udev/files/udev_network_queue.sh deleted file mode 100644 index 05e08e9d1..000000000 --- a/openembedded/packages/udev/files/udev_network_queue.sh +++ /dev/null @@ -1,35 +0,0 @@ -#! /bin/sh -# -# Copyright Matthias Hentges <devel@hentges.net> (c) 2006 -# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license) -# -# Filename: udev_network_queue.sh -# Date: 03-May-06 - -do_start() { - if test -e /dev/udev_network_queue - then - echo "Activating queued NICs..." - for NIC in `cat /dev/udev_network_queue` - do - export INTERFACE="$NIC" ; export ACTION=add - /etc/udev/scripts/network.sh - done - echo "" - else - echo "No NICs queued" - fi -} - -do_stop() { - /bin/true -} - -case "$1" in -start) do_start;; -stop) do_stop;; -restart) do_stop - do_start;; -*) echo "Usage: `basename $0` [ start | stop | restart ]" - exit 0;; -esac diff --git a/openembedded/packages/udev/files/udevsynthesize.patch b/openembedded/packages/udev/files/udevsynthesize.patch deleted file mode 100644 index 781118848..000000000 --- a/openembedded/packages/udev/files/udevsynthesize.patch +++ /dev/null @@ -1,776 +0,0 @@ ---- udev-081/udevsynthesize.c.orig 2006-01-29 12:22:45.000000000 +0100 -+++ udev-081/udevsynthesize.c 2006-01-29 12:22:40.000000000 +0100 -@@ -0,0 +1,763 @@ -+/* -+ * udevcoldplug.c -+ * -+ * Copyright (C) 2005 SUSE Linux Products GmbH -+ * -+ * Author: -+ * Kay Sievers <kay.sievers@vrfy.org> -+ * -+ * Synthesize kernel events from sysfs information and pass them -+ * to the udevd daemon. -+ * -+ * This program is free software; you can redistribute it and/or modify it -+ * under the terms of the GNU General Public License as published by the -+ * Free Software Foundation version 2 of the License. -+ * -+ * This program is distributed in the hope that it will be useful, but -+ * WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License along -+ * with this program; if not, write to the Free Software Foundation, Inc., -+ * 675 Mass Ave, Cambridge, MA 02139, USA. -+ * -+ */ -+ -+#include <stdlib.h> -+#include <stddef.h> -+#include <string.h> -+#include <stdio.h> -+#include <unistd.h> -+#include <errno.h> -+#include <ctype.h> -+#include <fcntl.h> -+#include <dirent.h> -+#include <signal.h> -+#include <syslog.h> -+#include <sys/socket.h> -+#include <sys/un.h> -+#include <sys/wait.h> -+#include <sys/stat.h> -+#include <sys/types.h> -+ -+#include "udev_libc_wrapper.h" -+#include "udev.h" -+#include "udevd.h" -+#include "udev_version.h" -+#include "logging.h" -+ -+#include "list.h" -+ -+#ifndef DT_DIR -+#define DT_DIR 4 -+#endif -+ -+static const char *udev_log_str; -+static int udevd_sock = -1; -+ -+#ifdef USE_LOG -+void log_message(int priority, const char *format, ...) -+{ -+ va_list args; -+ -+ if (priority > udev_log_priority) -+ return; -+ -+ va_start(args, format); -+ vsyslog(priority, format, args); -+ va_end(args); -+} -+#endif -+ -+struct device { -+ struct list_head node; -+ struct udevd_msg msg; -+ size_t bufpos; -+ char *path; -+}; -+ -+static dev_t read_devt(const char *path) -+{ -+ char filename[PATH_SIZE]; -+ char majorminor[64]; -+ unsigned int major, minor; -+ ssize_t count; -+ int fd; -+ -+ snprintf(filename, sizeof(filename), "%s/%s", path, "dev"); -+ filename[sizeof(filename)-1] = '\0'; -+ -+ fd = open(filename, O_RDONLY); -+ if (fd < 0) -+ return 0; -+ -+ count = read(fd, majorminor, sizeof(majorminor)); -+ close(fd); -+ majorminor[count] = '\0'; -+ if (sscanf(majorminor, "%u:%u", &major, &minor) != 2) -+ return 0; -+ dbg("found major=%d, minor=%d", major, minor); -+ -+ return makedev(major, minor); -+} -+ -+static ssize_t read_file(const char *directory, const char *file, char *str, size_t len) -+{ -+ char filename[PATH_SIZE]; -+ ssize_t count; -+ int fd; -+ -+ memset(filename, 0, sizeof(filename)); -+ snprintf(filename, sizeof(filename), "%s/%s", directory, file); -+ filename[sizeof(filename)-1] = '\0'; -+ -+ fd = open(filename, O_RDONLY); -+ if (fd < 0) -+ return -1; -+ -+ count = read(fd, str, len-1); -+ close(fd); -+ -+ if (count > (ssize_t)len) -+ count = len; -+ str[count-1] = '\0'; -+ -+ return count; -+} -+ -+static ssize_t read_link(const char *directory, const char *file, char *str, size_t size) -+{ -+ char filename[PATH_SIZE]; -+ char target[PATH_SIZE]; -+ int len; -+ char *back; -+ char *strip; -+ int level = 1; -+ -+ snprintf(filename, sizeof(filename), "%s/%s", directory, file); -+ filename[sizeof(filename)-1] = '\0'; -+ -+ len = readlink(filename, target, sizeof(target)-1); -+ if (len < 0) -+ return -1; -+ target[len] = '\0'; -+ -+ back = target; -+ while (strncmp(back, "../", 3) == 0) { -+ back += 3; -+ level++; -+ } -+ while(level--) { -+ strip = strrchr(filename, '/'); -+ if (!strip) -+ return -1; -+ strip[0] = '\0'; -+ } -+ -+ snprintf(str, size, "%s/%s", filename, back); -+ str[size-1] = '\0'; -+ -+ return len; -+} -+ -+static char *add_env_key(struct device *device, const char *key, const char *value) -+{ -+ size_t pos = device->bufpos; -+ device->bufpos += sprintf(&device->msg.envbuf[device->bufpos], "%s=%s", key, value)+1; -+ return &device->msg.envbuf[pos]; -+} -+ -+static struct device *device_create(const char *path, const char *subsystem, dev_t devt) -+{ -+ struct device *device; -+ const char *devpath = &path[strlen(sysfs_path)]; -+ char target[PATH_SIZE]; -+ -+ device = malloc(sizeof(struct device)); -+ if (device == NULL) { -+ dbg("error malloc"); -+ return NULL; -+ } -+ memset(device, 0x00, sizeof(struct device)); -+ -+ device->path = add_env_key(device, "DEVPATH", devpath); -+ device->path += strlen("DEVPATH="); -+ add_env_key(device, "SUBSYSTEM", subsystem); -+ add_env_key(device, "ACTION", "add"); -+ add_env_key(device, "UDEV_COLDPLUG", "1"); -+ -+ if (major(devt)) { -+ char number[32]; -+ sprintf(number, "%u", major(devt)); -+ add_env_key(device, "MAJOR", number); -+ sprintf(number, "%u", minor(devt)); -+ add_env_key(device, "MINOR", number); -+ } -+ -+ if (strncmp(devpath, "/block/", strlen("/block/")) == 0 || -+ strncmp(devpath, "/class/", strlen("/class/")) == 0) { -+ char physpath[PATH_SIZE]; -+ -+ if (read_link(path, "device", physpath, sizeof(physpath)) > (ssize_t)strlen(sysfs_path)) { -+ add_env_key(device, "PHYSDEVPATH", &physpath[strlen(sysfs_path)]); -+ if (read_link(physpath, "driver", target, sizeof(target)) > (ssize_t)strlen(sysfs_path)) { -+ char *pos = strrchr(target, '/'); -+ if (pos) -+ add_env_key(device, "PHYSDEVDRIVER", &pos[1]); -+ } -+ if (read_link(physpath, "bus", target, sizeof(target)) > (ssize_t)strlen(sysfs_path)) { -+ char *pos = strrchr(target, '/'); -+ if (pos) -+ add_env_key(device, "PHYSDEVBUS", &pos[1]); -+ } -+ } -+ } else if (strncmp(devpath, "/devices/", strlen("/devices/")) == 0) { -+ if (read_link(path, "driver", target, sizeof(target)) > (ssize_t)strlen(sysfs_path)) { -+ char *pos = strrchr(target, '/'); -+ if (pos) -+ add_env_key(device, "PHYSDEVDRIVER", &pos[1]); -+ } -+ if (read_link(path, "bus", target, sizeof(target)) > (ssize_t)strlen(sysfs_path)) { -+ char *pos = strrchr(target, '/'); -+ if (pos) -+ add_env_key(device, "PHYSDEVBUS", &pos[1]); -+ } -+ } -+ -+ return device; -+} -+ -+static int device_list_insert(struct list_head *device_list, struct device *device) -+{ -+ struct device *loop_device; -+ -+ dbg("insert: '%s'", device->path); -+ -+ /* sort files in lexical order */ -+ list_for_each_entry(loop_device, device_list, node) -+ if (strcmp(loop_device->path, device->path) > 0) -+ break; -+ -+ list_add_tail(&device->node, &loop_device->node); -+ -+ return 0; -+} -+ -+static int add_device_udevd(struct device *device) -+{ -+ size_t msg_len; -+ struct sockaddr_un saddr; -+ socklen_t addrlen; -+ int retval; -+ -+ memset(&saddr, 0x00, sizeof(struct sockaddr_un)); -+ saddr.sun_family = AF_LOCAL; -+ /* use abstract namespace for socket path */ -+ strcpy(&saddr.sun_path[1], UDEVD_SOCK_PATH); -+ addrlen = offsetof(struct sockaddr_un, sun_path) + strlen(saddr.sun_path+1) + 1; -+ -+ strcpy(device->msg.magic, UDEV_MAGIC); -+ device->msg.type = UDEVD_UEVENT_UDEVSEND; -+ -+ msg_len = offsetof(struct udevd_msg, envbuf) + device->bufpos; -+ dbg("msg_len=%i", msg_len); -+ -+ retval = sendto(udevd_sock, &device->msg, msg_len, 0, (struct sockaddr *)&saddr, addrlen); -+ if (retval < 0) -+ return -1; -+ -+ return 0; -+} -+ -+static void exec_list(struct list_head *device_list, const char *first[], const char *last[]) -+{ -+ struct device *loop_device; -+ struct device *tmp_device; -+ int i; -+ -+ /* handle the "first" type devices first */ -+ if (first) -+ list_for_each_entry_safe(loop_device, tmp_device, device_list, node) { -+ for (i = 0; first[i] != NULL; i++) { -+ if (strncmp(loop_device->path, first[i], strlen(first[i])) == 0) { -+ add_device_udevd(loop_device); -+ list_del(&loop_device->node); -+ free(loop_device); -+ break; -+ } -+ } -+ } -+ -+ /* handle the devices we are allowed to, excluding the "last" type devices */ -+ if (last) -+ list_for_each_entry_safe(loop_device, tmp_device, device_list, node) { -+ int found = 0; -+ for (i = 0; last[i] != NULL; i++) { -+ if (strncmp(loop_device->path, last[i], strlen(last[i])) == 0) { -+ found = 1; -+ break; -+ } -+ } -+ if (found) -+ continue; -+ -+ add_device_udevd(loop_device); -+ list_del(&loop_device->node); -+ free(loop_device); -+ } -+ -+ /* handle the rest of the devices */ -+ list_for_each_entry_safe(loop_device, tmp_device, device_list, node) { -+ add_device_udevd(loop_device); -+ list_del(&loop_device->node); -+ free(loop_device); -+ } -+} -+ -+static int udev_scan_class(void) -+{ -+ char base[PATH_SIZE]; -+ DIR *dir; -+ struct dirent *dent; -+ LIST_HEAD(device_list); -+ -+ /* we want /dev/null and /dev/console first */ -+ const char *first[] = { -+ "/class/mem", -+ "/class/tty", -+ NULL, -+ }; -+ -+ snprintf(base, sizeof(base), "%s/class", sysfs_path); -+ base[sizeof(base)-1] = '\0'; -+ -+ dir = opendir(base); -+ if (!dir) -+ return -1; -+ -+ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) { -+ char dirname[PATH_SIZE]; -+ DIR *dir2; -+ struct dirent *dent2; -+ -+ if (dent->d_name[0] == '.') -+ continue; -+ -+ snprintf(dirname, sizeof(dirname), "%s/%s", base, dent->d_name); -+ dirname[sizeof(dirname)-1] = '\0'; -+ -+ dir2 = opendir(dirname); -+ if (!dir2) -+ continue; -+ for (dent2 = readdir(dir2); dent2 != NULL; dent2 = readdir(dir2)) { -+ char dirname2[PATH_SIZE]; -+ struct device *device; -+ dev_t devt; -+ -+ if (dent2->d_name[0] == '.') -+ continue; -+ if (dent2->d_type != DT_DIR) -+ continue; -+ -+ snprintf(dirname2, sizeof(dirname2), "%s/%s", dirname, dent2->d_name); -+ dirname2[sizeof(dirname2)-1] = '\0'; -+ devt = read_devt(dirname2); -+ device = device_create(dirname2, dent->d_name, devt); -+ -+ if (strcmp(dent->d_name, "net") == 0 || -+ strcmp(dent->d_name, "bluetooth") == 0) { -+ add_env_key(device, "INTERFACE", dent2->d_name); -+ } else if (strcmp(dent->d_name, "pcmcia_socket") == 0 && -+ strlen(dent->d_name) > 14) { -+ add_env_key(device, "SOCKET_NO", -+ dent2->d_name + 14); -+ } -+ -+ device_list_insert(&device_list, device); -+ } -+ closedir(dir2); -+ } -+ closedir(dir); -+ exec_list(&device_list, first, NULL); -+ -+ return 0; -+} -+ -+static int udev_scan_block(void) -+{ -+ char base[PATH_SIZE]; -+ DIR *dir; -+ struct dirent *dent; -+ LIST_HEAD(device_list); -+ -+ /* dm wants to have the block devices around before it */ -+ const char *last[] = { -+ "/block/dm", -+ NULL, -+ }; -+ -+ snprintf(base, sizeof(base), "%s/block", sysfs_path); -+ base[sizeof(base)-1] = '\0'; -+ -+ dir = opendir(base); -+ if (!dir) -+ return -1; -+ -+ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) { -+ char dirname[PATH_SIZE]; -+ struct device *device; -+ struct dirent *dent2; -+ DIR *dir2; -+ dev_t devt; -+ -+ if (dent->d_name[0] == '.') -+ continue; -+ if (dent->d_type != DT_DIR) -+ continue; -+ -+ snprintf(dirname, sizeof(dirname), "%s/%s", base, dent->d_name); -+ dirname[sizeof(dirname)-1] = '\0'; -+ devt = read_devt(dirname); -+ if (major(devt)) { -+ device = device_create(dirname, "block", devt); -+ device_list_insert(&device_list, device); -+ } -+ -+ /* look for partitions */ -+ dir2 = opendir(dirname); -+ if (!dir2) -+ continue; -+ for (dent2 = readdir(dir2); dent2 != NULL; dent2 = readdir(dir2)) { -+ char dirname2[PATH_SIZE]; -+ -+ if (dent2->d_name[0] == '.') -+ continue; -+ if (dent2->d_type != DT_DIR) -+ continue; -+ -+ snprintf(dirname2, sizeof(dirname2), "%s/%s", dirname, dent2->d_name); -+ dirname2[sizeof(dirname2)-1] = '\0'; -+ devt = read_devt(dirname2); -+ if (major(devt)) { -+ device = device_create(dirname2, "block", devt); -+ device_list_insert(&device_list, device); -+ continue; -+ } -+ } -+ closedir(dir2); -+ } -+ closedir(dir); -+ exec_list(&device_list, NULL, last); -+ -+ return 0; -+} -+ -+static int pci_handler(struct device *device) -+{ -+ char path[PATH_SIZE]; -+ char value[PATH_SIZE]; -+ char vendor[PATH_SIZE]; -+ char product[PATH_SIZE]; -+ const char *name; -+ -+ snprintf(path, sizeof(path), "%s%s", sysfs_path, device->path); -+ path[sizeof(path)-1] = '\0'; -+ -+ if (read_file(path, "modalias", value, sizeof(value)) > 0) -+ add_env_key(device, "MODALIAS", value); -+ -+ name = strrchr(device->path, '/'); -+ if (name) -+ add_env_key(device, "PCI_SLOT_NAME", &name[1]); -+ -+ if (read_file(path, "class", value, sizeof(value)) > 0) -+ add_env_key(device, "PCI_CLASS", &value[2]); -+ -+ if (read_file(path, "vendor", vendor, sizeof(vendor)) > 0 && -+ read_file(path, "device", product, sizeof(product)) > 0) { -+ snprintf(value, sizeof(value), "%s:%s", &vendor[2], &product[2]); -+ path[sizeof(value)-1] = '\0'; -+ add_env_key(device, "PCI_ID", value); -+ } -+ -+ if (read_file(path, "subsystem_vendor", vendor, sizeof(vendor)) > 0 && -+ read_file(path, "subsystem_device", product, sizeof(product)) > 0) { -+ snprintf(value, sizeof(value), "%s:%s", &vendor[2], &product[2]); -+ path[sizeof(value)-1] = '\0'; -+ add_env_key(device, "PCI_SUBSYS_ID", value); -+ } -+ -+ return 0; -+} -+ -+static int usb_handler(struct device *device) -+{ -+ char path[PATH_SIZE]; -+ char value[PATH_SIZE]; -+ char str1[PATH_SIZE]; -+ char str2[PATH_SIZE]; -+ char str3[PATH_SIZE]; -+ unsigned int int1; -+ unsigned int int2; -+ unsigned int int3; -+ char *pos; -+ -+ snprintf(path, sizeof(path), "%s%s", sysfs_path, device->path); -+ path[sizeof(path)-1] = '\0'; -+ -+ /* device events have : in their directory name */ -+ pos = strrchr(path, '/'); -+ if (!strchr(pos, ':')) -+ return 0; /* and do not have other variables */ -+ -+ if (read_file(path, "modalias", value, sizeof(value)) > 0) -+ add_env_key(device, "MODALIAS", value); -+ -+ if (read_file(path, "bInterfaceClass", str1, sizeof(str1)) > 0 && -+ read_file(path, "bInterfaceSubClass", str2, sizeof(str2)) > 0 && -+ read_file(path, "bInterfaceProtocol", str3, sizeof(str3)) > 0) { -+ int1 = (int) strtol(str1, NULL, 16); -+ int2 = (int) strtol(str2, NULL, 16); -+ int3 = (int) strtol(str3, NULL, 16); -+ snprintf(value, sizeof(value), "%u/%u/%u", int1, int2, int3); -+ path[sizeof(value)-1] = '\0'; -+ add_env_key(device, "INTERFACE", value); -+ } -+ -+ /* move to the parent directory */ -+ pos[0] = '\0'; -+ -+ if (read_file(path, "idVendor", str1, sizeof(str1)) > 0 && -+ read_file(path, "idProduct", str2, sizeof(str2)) > 0 && -+ read_file(path, "bcdDevice", str3, sizeof(str3)) > 0) { -+ int1 = (int) strtol(str1, NULL, 16); -+ int2 = (int) strtol(str2, NULL, 16); -+ int3 = (int) strtol(str3, NULL, 16); -+ snprintf(value, sizeof(value), "%x/%x/%x", int1, int2, int3); -+ path[sizeof(value)-1] = '\0'; -+ add_env_key(device, "PRODUCT", value); -+ } -+ -+ if (read_file(path, "bDeviceClass", str1, sizeof(str1)) > 0 && -+ read_file(path, "bDeviceSubClass", str2, sizeof(str2)) > 0 && -+ read_file(path, "bDeviceProtocol", str3, sizeof(str3)) > 0) { -+ int1 = (int) strtol(str1, NULL, 16); -+ int2 = (int) strtol(str2, NULL, 16); -+ int3 = (int) strtol(str3, NULL, 16); -+ snprintf(value, sizeof(value), "%u/%u/%u", int1, int2, int3); -+ path[sizeof(value)-1] = '\0'; -+ add_env_key(device, "TYPE", value); -+ } -+ -+ if (read_file(path, "devnum", str2, sizeof(str2)) > 0) { -+ pos = strrchr(path, 'b'); -+ int1 = (int) strtol(pos + 1, NULL, 16); -+ int2 = (int) strtol(str2, NULL, 16); -+ snprintf(value, sizeof(value), -+ "/proc/bus/usb/%03d/%03d", int1, int2); -+ path[sizeof(value)-1] = '\0'; -+ add_env_key(device, "DEVICE", value); -+ } -+ -+ return 0; -+} -+ -+static int serio_handler(struct device *device) -+{ -+ char path[PATH_SIZE]; -+ char value[PATH_SIZE]; -+ -+ snprintf(path, sizeof(path), "%s%s", sysfs_path, device->path); -+ path[sizeof(path)-1] = '\0'; -+ -+ if (read_file(path, "modalias", value, sizeof(value)) > 0) -+ add_env_key(device, "MODALIAS", value); -+ -+ if (read_file(path, "id/type", value, sizeof(value)) > 0) -+ add_env_key(device, "SERIO_TYPE", value); -+ -+ if (read_file(path, "id/proto", value, sizeof(value)) > 0) -+ add_env_key(device, "SERIO_PROTO", value); -+ -+ if (read_file(path, "id/id", value, sizeof(value)) > 0) -+ add_env_key(device, "SERIO_ID", value); -+ -+ if (read_file(path, "id/extra", value, sizeof(value)) > 0) -+ add_env_key(device, "SERIO_EXTRA", value); -+ -+ return 0; -+} -+ -+static int ccw_handler(struct device *device) -+{ -+ char path[PATH_SIZE]; -+ char value[PATH_SIZE], *tmp; -+ -+ snprintf(path, sizeof(path), "%s%s", sysfs_path, device->path); -+ path[sizeof(path)-1] = '\0'; -+ -+ if (read_file(path, "modalias", value, sizeof(value)) > 0) -+ add_env_key(device, "MODALIAS", value); -+ -+ if (read_file(path, "cutype", value, sizeof(value)) > 0) { -+ value[4] = 0; -+ tmp = &value[5]; -+ add_env_key(device, "CU_TYPE", value); -+ add_env_key(device, "CU_MODEL", tmp); -+ } -+ -+ if (read_file(path, "devtype", value, sizeof(value)) > 0) { -+ if (value[0] == 'n') { -+ add_env_key(device, "DEV_TYPE", "0000"); -+ add_env_key(device, "DEV_MODEL", "00"); -+ } -+ else { -+ value[4] = 0; -+ tmp = &value[5]; -+ add_env_key(device, "DEV_TYPE", value); -+ add_env_key(device, "DEV_MODEL", tmp); -+ } -+ } -+ -+ return 0; -+} -+ -+static int modalias_handler(struct device *device) -+{ -+ char path[PATH_SIZE]; -+ char value[PATH_SIZE]; -+ -+ snprintf(path, sizeof(path), "%s%s", sysfs_path, device->path); -+ path[sizeof(path)-1] = '\0'; -+ -+ if (read_file(path, "modalias", value, sizeof(value)) > 0) -+ add_env_key(device, "MODALIAS", value); -+ -+ return 0; -+} -+ -+static int udev_scan_bus(const char *bus, int bus_handler(struct device *device)) -+{ -+ char base[PATH_SIZE]; -+ DIR *dir; -+ struct dirent *dent; -+ LIST_HEAD(device_list); -+ -+ snprintf(base, sizeof(base), "%s/bus/%s/devices", sysfs_path, bus); -+ base[sizeof(base)-1] = '\0'; -+ -+ dir = opendir(base); -+ if (!dir) -+ return -1; -+ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) { -+ char devpath[PATH_SIZE]; -+ struct device *device; -+ -+ if (dent->d_name[0] == '.') -+ continue; -+ -+ if (read_link(base, dent->d_name, devpath, sizeof(devpath)) < 0) -+ continue; -+ -+ device = device_create(devpath, bus, makedev(0, 0)); -+ if (bus_handler) { -+ if (bus_handler(device) < 0) { -+ dbg("'%s' bus handler skipped event", devpath); -+ free(device); -+ continue; -+ } -+ } -+ -+ device_list_insert(&device_list, device); -+ } -+ closedir(dir); -+ exec_list(&device_list, NULL, NULL); -+ -+ return 0; -+} -+ -+static int udev_scan_devices(void) -+{ -+ char base[PATH_SIZE]; -+ DIR *dir; -+ struct dirent *dent; -+ -+ snprintf(base, sizeof(base), "%s/bus", sysfs_path); -+ base[sizeof(base)-1] = '\0'; -+ -+ dir = opendir(base); -+ if (!dir) -+ return -1; -+ -+ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) { -+ if (dent->d_name[0] == '.') -+ continue; -+ if (dent->d_type != DT_DIR) -+ continue; -+ -+ /* add bus specific env values */ -+ if (strcmp(dent->d_name, "pci") == 0) -+ udev_scan_bus("pci", pci_handler); -+ else if (strcmp(dent->d_name, "usb") == 0) -+ udev_scan_bus("usb", usb_handler); -+ else if (strcmp(dent->d_name, "serio") == 0) -+ udev_scan_bus("serio", serio_handler); -+ else if (strcmp(dent->d_name, "ccw") == 0) -+ udev_scan_bus("ccw", ccw_handler); -+ else -+ udev_scan_bus(dent->d_name, modalias_handler); -+ } -+ closedir(dir); -+ -+ return 0; -+} -+ -+int main(int argc, char *argv[], char *envp[]) -+{ -+ LIST_HEAD(device_list); -+ int i; -+ -+ logging_init("udevcoldplug"); -+ udev_config_init(); sysfs_init(); -+ dbg("version %s", UDEV_VERSION); -+ -+ udev_log_str = getenv("UDEV_LOG"); -+ -+ /* disable all logging if not explicitely requested */ -+ if (udev_log_str == NULL) -+ udev_log_priority = 0; -+ -+ for (i = 1 ; i < argc; i++) { -+ char *arg = argv[i]; -+ -+ if (strcmp(arg, "help") == 0 || strcmp(arg, "--help") == 0 || strcmp(arg, "-h") == 0) { -+ printf("Usage: udevcoldplug \n" -+ " --help print this help text\n\n"); -+ exit(0); -+ } else { -+ fprintf(stderr, "unknown option\n\n"); -+ exit(1); -+ } -+ } -+ -+ udevd_sock = socket(AF_LOCAL, SOCK_DGRAM, 0); -+ if (udevd_sock < 0) { -+ err("error getting socket"); -+ return 1; -+ } -+ -+ /* create nodes for already available devices */ -+ udev_scan_class(); -+ udev_scan_block(); -+ -+ /* synthesize events for bus devices -+ * may load modules or configure the device */ -+ udev_scan_devices(); -+ -+ if (udevd_sock >= 0) -+ close(udevd_sock); -+ logging_close(); -+ -+ return 0; -+} ---- udev-081/Makefile -+++ udev-081/Makefile -@@ -58,6 +58,7 @@ PROGRAMS = \ - udevmonitor \ - udevinfo \ - udevtest \ -+ udevsynthesize \ - udevstart - - HEADERS = \ diff --git a/openembedded/packages/udev/files/udevsynthesize.sh b/openembedded/packages/udev/files/udevsynthesize.sh deleted file mode 100644 index d58217c14..000000000 --- a/openembedded/packages/udev/files/udevsynthesize.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/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 - |