]>
Commit | Line | Data |
---|---|---|
942c9c06 | 1 | #!/bin/sh |
62a8e03c | 2 | USBKBD_RCSID='$Revision$ $Date:: $' |
942c9c06 AM |
3 | |
4 | # geninitrd mod: usbkbd | |
5 | ||
942c9c06 AM |
6 | find_modules_usbkbd() { |
7 | debug "Finding USB keyboard modules" | |
8 | ||
e9404001 | 9 | if [ "$(echo /sys/class/input/input*)" = "/sys/class/input/input*" ]; then |
942c9c06 AM |
10 | return |
11 | fi | |
12 | ||
77374634 | 13 | local modules i module bInterfaceClass bInterfaceProtocol |
942c9c06 AM |
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 | ||
aa13d63e AM |
23 | if [ -n "$module" ]; then |
24 | debug "Found USB Keyboard: $(cat $i/name)" | |
25 | modules="$modules $module" | |
26 | fi | |
942c9c06 AM |
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 | } |