]>
Commit | Line | Data |
---|---|---|
14aa70d3 JR |
1 | #!/bin/sh |
2 | ||
3 | [ -f /etc/sysconfig/acpid ] && . /etc/sysconfig/acpid | |
4 | ||
5 | [ -f /proc/modules ] || exit 0 | |
6 | ||
7 | is_yes() { | |
8 | case "$1" in | |
9 | yes|Yes|YES|true|True|TRUE|on|On|ON|Y|y|1) | |
10 | return 0 | |
11 | ;; | |
12 | *) | |
13 | return 1 | |
14 | ;; | |
15 | esac | |
16 | } | |
17 | ||
18 | if [ "$MODULES" = "all" ]; then | |
19 | MODULES=$(sed -rn 's#^kernel/(drivers/acpi|drivers/misc/.*_acpi)/([^/]+/)*(.*)\.ko(\.gz)*:.*#\3#p' /lib/modules/$(uname -r)/modules.dep) | |
20 | else | |
21 | # assemble from old lists | |
22 | MODULES="$MODULES $LAPTOP_MODULES" | |
23 | MODULES="$MODULES $VARIOUS_MODULES" | |
24 | if is_yes "$ASUS_LAPTOP"; then | |
25 | MODULES="$MODULES asus_acpi" | |
26 | fi | |
27 | if is_yes "$TOSHIBA_LAPTOP"; then | |
28 | MODULES="$MODULES toshiba_acpi" | |
29 | fi | |
30 | if is_yes "$IBM_LAPTOP"; then | |
31 | MODULES="$MODULES ibm_acpi" | |
32 | fi | |
33 | # strip spaces | |
34 | MODULES=$(echo ${MODULES}) | |
35 | fi | |
36 | ||
0005777e | 37 | [ -z "$MODULES" ] && exit 0 |
14aa70d3 JR |
38 | |
39 | # see if the modules are already loaded | |
40 | if [ "$(lsmod | grep -E '^('$(echo $MODULES | tr ' ' '|')')\b' | wc -l)" = "$(echo $MODULES | wc -w)" ]; then | |
41 | return | |
42 | fi | |
43 | ||
44 | modprobe --all $MODULES |