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.


Reply via email to