]> git.pld-linux.org Git - projects/geninitrd.git/blame - mod-usbkbd.sh
or here?
[projects/geninitrd.git] / mod-usbkbd.sh
CommitLineData
942c9c06 1#!/bin/sh
62a8e03c 2USBKBD_RCSID='$Revision$ $Date:: $'
942c9c06
AM
3
4# geninitrd mod: usbkbd
5
942c9c06
AM
6find_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}
This page took 0.048681 seconds and 4 git commands to generate.