]> git.pld-linux.org Git - projects/geninitrd.git/blob - mod-usbkbd.sh
Don't run ldd on dynamic linker
[projects/geninitrd.git] / mod-usbkbd.sh
1 #!/bin/sh
2 USBKBD_RCSID='$Revision$ $Date::                            $'
3
4 # geninitrd mod: usbkbd
5
6 find_modules_usbkbd() {
7         debug "Finding USB keyboard modules"
8
9         if [ "$(echo /sys/class/input/input*)" = "/sys/class/input/input*" ]; then
10                 return
11         fi
12
13         local modules i module bInterfaceClass bInterfaceProtocol
14
15         for i in /sys/class/input/input*; do
16                 [ ! -f $i/device/bInterfaceClass -o ! -f $i/device/bInterfaceProtocol ] && continue
17                 bInterfaceClass=$(cat $i/device/bInterfaceClass)
18                 bInterfaceProtocol=$(cat $i/device/bInterfaceProtocol)
19                 if [ "$bInterfaceClass" = "03" -a "$bInterfaceProtocol" = "01" ]; then
20                         module=$(readlink $i/device/driver/module)
21                         module=$(basename $module)
22
23                         if [ -n "$module" ]; then
24                                 debug "Found USB Keyboard: $(cat $i/name)"
25                                 modules="$modules $module"
26                         fi
27                 fi
28         done
29
30         if [ -n "$modules" ]; then
31                 # usb controllers
32                 for m in $(find_modules_by_class "0c03"); do
33                         find_module $m
34                 done
35
36                 for m in $modules; do
37                         find_module $m
38                 done
39         fi
40 }
This page took 0.029857 seconds and 3 git commands to generate.