Author: arekm
Date: Sat Oct 15 10:21:23 2011
New Revision: 12374

Added:
   geninitrd/trunk/mod-usbkbd.sh
Log:
USB keyboard modules finding and loading at initrd level.

Added: geninitrd/trunk/mod-usbkbd.sh
==============================================================================
--- (empty file)
+++ geninitrd/trunk/mod-usbkbd.sh       Sat Oct 15 10:21:23 2011
@@ -0,0 +1,42 @@
+#!/bin/sh
+SATA_RCSID='$Revision: 12372 $ $Date:: 2011-10-15 09:38:16 +0200 #$'
+
+# geninitrd mod: usbkbd
+
+# setup geninitrd module
+# @access      public
+setup_mod_usbkbd() {
+}
+
+find_modules_usbkbd() {
+       debug "Finding USB keyboard modules"
+
+       if [ "$(ls -1 /sys/class/input/input* 2> /dev/null)" = 
"/sys/class/input/input*" ]; then
+               return
+       fi
+
+       local modules
+
+       for i in /sys/class/input/input*; do
+               [ ! -f $i/device/bInterfaceClass -o ! -f 
$i/device/bInterfaceProtocol ] && continue
+               bInterfaceClass=$(cat $i/device/bInterfaceClass)
+               bInterfaceProtocol=$(cat $i/device/bInterfaceProtocol)
+               if [ "$bInterfaceClass" = "03" -a "$bInterfaceProtocol" = "01" 
]; then
+                       module=$(readlink $i/device/driver/module)
+                       module=$(basename $module)
+
+                       modules="$modules $module"
+               fi
+       done
+
+       if [ -n "$modules" ]; then
+               # usb controllers
+               for m in $(find_modules_by_class "0c03"); do
+                       find_module $m
+               done
+
+               for m in $modules; do
+                       find_module $m
+               done
+       fi
+}
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to