Revision: 5955 Author: pebender Date: Tue Dec 15 16:43:29 2009 Log: - Switched from udev based detection to udev based hotplug.
http://code.google.com/p/minimyth/source/detail?r=5955 Added: /trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/mm_env_import /trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/mm_lirc_wakeup_enable /trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/mm_lircd /trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/06-minimyth-hotplug-01-lircd.rules.disabled Deleted: /trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/05-minimyth-detect-lirc.rules.disabled Modified: /trunk/gar-minimyth/html/minimyth/document-changelog.txt /trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/06-minimyth-hotplug-02-lircudevd.rules.disabled ======================================= --- /dev/null +++ /trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/mm_env_import Tue Dec 15 16:43:29 2009 @@ -0,0 +1,7 @@ +#!/bin/sh + +/usr/bin/test -r /etc/conf && . /etc/conf + +set | /bin/grep "^$1" + +exit 0 ======================================= --- /dev/null +++ /trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/mm_lirc_wakeup_enable Tue Dec 15 16:43:29 2009 @@ -0,0 +1,17 @@ +#!/bin/sh +################################################################################ +# mm_lirc_wakeup_enable +################################################################################ + +devpath=`/usr/bin/readlink -f "${DEVPATH}"` +while /usr/bin/test ! "x${devpath}" = "x" && /usr/bin/test ! "x${devpath}" = "x/sys" ; do + if /usr/bin/test -e "${devpath}/power/wakeup" ; then + state=`/bin/cat "${devpath}/power/wakeup"` + if /usr/bin/test "x${state}" = "xdisabled" ; then + /bin/echo "enabled" > "${devpath}/power/wakeup" + fi + fi + devpath=`/usr/bin/dirname "${devpath}"` +done + +exit 0 ======================================= --- /dev/null +++ /trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/mm_lircd Tue Dec 15 16:43:29 2009 @@ -0,0 +1,40 @@ +#!/bin/sh +################################################################################ +# mm_lircd +################################################################################ + +case "${ACTION}" in + add) + if /usr/bin/test "x${lircd_driver}" = "x" ; then + exit 1; + fi + if /usr/bin/test "x${lircd_conf}" = "x" ; then + exit 1; + fi + if /usr/bin/test ! -e '/var/run/lirc' ; then + /bin/mkdir -p '/var/run/lirc' + fi + instance=`/bin/echo $DEVNAME | /bin/sed -e 's/\/\+/~/g' -e 's/^~dev~//'`; + if /usr/bin/test ! -e "/var/run/lirc/lircd-${instance}.pid" ; then + daemon='/usr/sbin/lircd' + daemon="${daemon} --uinput" + daemon="${daemon} --device=${DEVNAME}" + daemon="${daemon} --driver=${lircd_driver}" + daemon="${daemon} --output=/var/run/lirc/lircd-${instance}" + daemon="${daemon} --pidfile=/var/run/lirc/lircd-${instance}.pid" + daemon="${daemon} ${lircd_conf}" + ${daemon} + fi + ;; + remove) + instance=`/bin/echo $DEVNAME | /bin/sed -e 's/\/\+/~/g' -e 's/^~dev~//'`; + if /usr/bin/test -e "/var/run/lirc/lircd-${instance}.pid" ; then + pid=`/bin/cat /var/run/lirc/lircd-${instance}.pid` + if /usr/bin/test ! "x${pid}" = "x" ; then + /bin/kill ${pid} + fi + fi + ;; +esac + +exit 0 ======================================= --- /dev/null +++ /trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/06-minimyth-hotplug-01-lircd.rules.disabled Tue Dec 15 16:43:29 2009 @@ -0,0 +1,37 @@ +ACTION=="add', ENV{mm_device_owner}=="*?", GOTO="end" + +ACTION!="add|remove", GOTO="end" + +KERNEL=="hiddev[0-9]*", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", GOTO="begin" +KERNEL=="lirc[0-9]*", SUBSYSTEM=="lirc", SUBSYSTEMS=="i2c", GOTO="begin" +KERNEL=="lirc[0-9]*", SUBSYSTEM=="lirc", SUBSYSTEMS=="usb", GOTO="begin" +GOTO="end" +LABEL="begin" + +ENV{MM_LIRC_AUTO_ENABLED}=="", IMPORT{program}="mm_env_import MM_LIRC_" + +PROGRAM="mm_device_blacklist lircd", RESULT=="yes", GOTO="end" + +SUBSYSTEM=="lirc",\ + ENV{lircd_driver}="default", \ + ENV{lircd_conf}="/etc/lirc/lircd.conf" + +SUBSYSTEMS=="usb", GOTO="begin-usb" +GOTO="end-usb" +LABEL="begin-usb" + +ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p" + +ENV{ID_VENDOR}=="0fe9", ENV{ID_MODEL}=="9010", \ + ENV{lircd_driver}="dvico", \ + ENV{lircd_conf}="/etc/lirc/lircd.conf" + +ENV{lircd_driver}=="?*", ENV{lircd_conf}=="?*", ENV{MM_LIRC_WAKEUP_ENABLED}=="yes", RUN+="mm_lirc_wakeup_enable" + +LABEL="end-usb" + +ENV{lircd_driver}=="?*", ENV{lircd_conf}=="?*", RUN+="mm_lircd" + +ENV{lircd_driver}=="?*", ENV{lircd_conf}=="?*", ENV{mm_device_owner}="lircd" + +LABEL="end" ======================================= --- /trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/05-minimyth-detect-lirc.rules.disabled Mon Dec 14 18:28:54 2009 +++ /dev/null @@ -1,56 +0,0 @@ -#------------------------------------------------------------------------------- -# Detect LIRC devices. -# -# For an LIRC device in the lirc subsystem, the LIRC driver is the default LIRC -# driver. As a result, no further detection is needed. -# -# For an LIRC device not in the lirc subsystem, the LIRC driver is not the -# default LIRC driver. As a result, further detection is needed. For this -# detection, modalias is used. -# -# mm_detect_state_lirc has the following format: -# <driver> -# where -# <driver> : The LIRC driver. -# The state requires the LIRC device name. However, since it is not yet -# known, it cannot be added be included in mm_detect_state_lirc. Therefore, the -# mm_detect script will prepend the LIRC device name to the state. -#------------------------------------------------------------------------------- -ENV{mm_device_owner}=="*?", GOTO="end" - -ACTION!="add|change|remove", GOTO="end" - -PROGRAM="mm_device_blacklist lirc", RESULT=="yes", GOTO="end" - -KERNEL=="hiddev[0-9]*", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", GOTO="begin" -KERNEL=="lirc[0-9]*", SUBSYSTEM=="lirc", SUBSYSTEMS=="i2c", GOTO="begin" -KERNEL=="lirc[0-9]*", SUBSYSTEM=="lirc", SUBSYSTEMS=="usb", GOTO="begin" -GOTO="end" -LABEL="begin" - -SUBSYSTEM!="lirc", GOTO="end-lirc" - -ENV{mm_detect_state_lirc}="default," - -LABEL="end-lirc" - -SUBSYSTEM=="lirc", GOTO="end-nonlirc" - -ENV{MODALIAS}!="?*", IMPORT{parent}=="MODALIAS" - -# Initialize state -ENV{mm_detect_state_lirc}="" - -#------------------------------------------------------------------------------- -# non-lirc device list -#------------------------------------------------------------------------------- -ENV{MODALIAS}=="usb:v0FE9p9010d*dc*dsc*dp*ic*isc*ip*", ENV{mm_detect_state_lirc}="dvico," - -LABEL="end-nonlirc" - -ENV{mm_detect_state_lirc}=="?*", ENV{mm_device_owner}="lirc" - -# The state has been set, so save it. -ENV{mm_device_owner}=="lirc", RUN+="/lib/udev/mm_detect lirc %k $env{mm_detect_state_lirc} state_prepend_devname" - -LABEL="end" ======================================= --- /trunk/gar-minimyth/html/minimyth/document-changelog.txt Tue Dec 15 10:48:23 2009 +++ /trunk/gar-minimyth/html/minimyth/document-changelog.txt Tue Dec 15 16:43:29 2009 @@ -57,6 +57,7 @@ - Moved event device support from lircd to lircudevd. - Modified scripts so that they enable wake-on-usb using /sys rather than /proc. + - Switched from udev based detection to udev based hotplug. Fixed bugs - Fixed a bug that caused mm_sleep and mm_sleep_on_ss to output an error ======================================= --- /trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/06-minimyth-hotplug-02-lircudevd.rules.disabled Mon Dec 14 18:28:54 2009 +++ /trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/06-minimyth-hotplug-02-lircudevd.rules.disabled Tue Dec 15 16:43:29 2009 @@ -6,39 +6,43 @@ GOTO="end" LABEL="begin" +ENV{MM_LIRC_AUTO_ENABLED}=="", IMPORT{program}="mm_env_import MM_LIRC_" + PROGRAM="mm_device_blacklist lircudevd", RESULT=="yes", GOTO="end" ATTRS{name}=="lircudevd", GOTO="end" ATTRS{name}=="lircd", \ - ENV{lircudevd.enable}="true", \ - ENV{lircudevd.keymap}="default.keymap" + ENV{lircudevd_enable}="true", \ + ENV{lircudevd_keymap}="default.keymap" ATTRS{name}=="bdremoteng", \ - ENV{lircudevd.enable}="true", \ - ENV{lircudevd.keymap}="bdremoteng.keymap" + ENV{lircudevd_enable}="true", \ + ENV{lircudevd_keymap}="bdremoteng.keymap" SUBSYSTEMS=="usb", GOTO="begin-usb" GOTO="end-usb" LABEL="begin-usb" ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p" ENV{ID_VENDOR}=="05a4", ENV{ID_MODEL}=="9881", \ - ENV{lircudevd.enable}="true", \ - ENV{lircudevd.keymap}="03_$env{ID_VENDOR}_$env{ID_MODEL}.keymap" + ENV{lircudevd_enable}="true", \ + ENV{lircudevd_keymap}="03_$env{ID_VENDOR}_$env{ID_MODEL}.keymap" ENV{ID_VENDOR}=="0766", ENV{ID_MODEL}=="0204", \ - ENV{lircudevd.enable}="true", \ - ENV{lircudevd.keymap}="03_$env{ID_VENDOR}_$env{ID_MODEL}.keymap" + ENV{lircudevd_enable}="true", \ + ENV{lircudevd_keymap}="03_$env{ID_VENDOR}_$env{ID_MODEL}.keymap" ENV{ID_VENDOR}=="147a", ENV{ID_MODEL}=="e02d", \ - ENV{lircudevd.enable}="true", \ - ENV{lircudevd.keymap}="03_$env{ID_VENDOR}_$env{ID_MODEL}.keymap" + ENV{lircudevd_enable}="true", \ + ENV{lircudevd_keymap}="03_$env{ID_VENDOR}_$env{ID_MODEL}.keymap" LABEL="end-usb" +ENV{lircudevd_enable}=="true", ENV{MM_LIRC_WAKEUP_ENABLED}=="yes", RUN+="mm_lirc_wakeup_enable" + SUBSYSTEMS=="bluetooth", GOTO="begin-bluetooth" GOTO="end-bluetooth" LABEL="begin-bluetooth" LABEL="end-bluetooth" -ENV{lircudevd.enable}== "true", ENV{mm_device_owner}="lircudevd" +ENV{lircudevd_enable}== "true", ENV{mm_device_owner}="lircudevd" LABEL="end" -- You received this message because you are subscribed to the Google Groups "minimyth-commits" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/minimyth-commits?hl=en.
