]> git.pld-linux.org Git - packages/acpid.git/blame - acpid.init
- acpid will use netlink when /proc/acpi/event doesn't exist
[packages/acpid.git] / acpid.init
CommitLineData
94f6e9a1
PG
1#!/bin/sh
2#
3# acpid Starts the acpi daemon
4#
5# chkconfig: 345 44 56
6# description: Listen and dispatch ACPI events from the kernel
7# processname: acpid
8#
9# pidfile: /var/run/acpid.pid
10
11# Source function library.
12. /etc/rc.d/init.d/functions
13
d80b7c34
ER
14upstart_controlled --except load-modules
15
d8325167
PG
16# Initial values (just in case):
17LAPTOP_MODULES=""
18VARIOUS_MODULES=""
19ASUS_LAPTOP=""
20TOSHIBA_LAPTOP=""
180a2240 21MODULES=""
d8325167 22
94f6e9a1
PG
23# Configuration file.
24. /etc/sysconfig/acpid
25
180a2240
ER
26# As the name says. If the kernel supports modules,
27# it'll try to load the ones listed in "MODULES".
28load_modules() {
29 [ -f /proc/modules ] || return 0
30
31 if [ "$MODULES" = "all" ]; then
ed21a22b 32 MODULES=$(sed -rn 's#^kernel/(drivers/acpi|drivers/misc/.*_acpi)/([^/]+/)*(.*)\.ko\.gz:.*#\3#p' /lib/modules/$(uname -r)/modules.dep)
180a2240
ER
33 else
34 # assemble from old lists
35 MODULES="$MODULES $LAPTOP_MODULES"
36 MODULES="$MODULES $VARIOUS_MODULES"
37 if is_yes "$ASUS_LAPTOP"; then
38 MODULES="$MODULES asus_acpi"
39 fi
40 if is_yes "$TOSHIBA_LAPTOP"; then
41 MODULES="$MODULES toshiba_acpi"
42 fi
43 if is_yes "$IBM_LAPTOP"; then
44 MODULES="$MODULES ibm_acpi"
45 fi
46 # strip spaces
47 MODULES=$(echo ${MODULES})
48 fi
49
50 if [ -z "$MODULES" ]; then
51 return
52 fi
53
bf90ac04
ER
54 # see if the modules are already loaded
55 if [ "$(lsmod | grep -E '^('$(echo $MODULES | tr ' ' '|')')\b' | wc -l)" = "$(echo $MODULES | wc -w)" ]; then
56 return
57 fi
58
180a2240
ER
59 show "Loading ACPI modules..."; busy
60 modprobe --all $MODULES && ok || fail
61}
62
37b4ae3e
ER
63# Start daemons.
64start() {
a312611c 65 if [ -f /var/lock/subsys/acpid ]; then
121466a7
ER
66 msg_already_running "ACPI Event Daemon"
67 return
68 fi
09f3d1d4 69
180a2240 70 load_modules
121466a7 71
eb588624
ER
72 if is_yes "$NETLINK"; then
73 PROGRAM_ARGS="$PROGRAM_ARGS -n"
74 fi
75 if [ "$CLIENTMAX" ]; then
76 PROGRAM_ARGS="$PROGRAM_ARGS -C $CLIENTMAX"
77 fi
78
121466a7
ER
79 # starting:
80 msg_starting "ACPI Event Daemon"
81 daemon /usr/sbin/acpid $PROGRAM_ARGS
82 RETVAL=$?
83 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/acpid
37b4ae3e
ER
84}
85
86# Stop daemons.
87stop() {
121466a7
ER
88 if [ ! -f /var/lock/subsys/acpid ]; then
89 msg_not_running "ACPI Event Daemon"
90 return
91 fi
92
93 msg_stopping "ACPI Event Daemon"
94 killproc acpid
95 rm -f /var/lock/subsys/acpid >/dev/null 2>&1
96}
97
98condrestart() {
99 if [ ! -f /var/lock/subsys/acpid ]; then
100 msg_not_running "ACPI Event Daemon"
101 RETVAL=$1
102 return
c0743e1f 103 fi
121466a7
ER
104
105 stop
106 start
37b4ae3e
ER
107}
108
5812ab6f
ER
109reload() {
110 if [ -f /var/lock/subsys/acpid ]; then
111 msg_not_running "ACPI Event Daemon"
112 RETVAL=7
113 return
114 fi
115
116 msg_reloading "ACPI Event Daemon"
117 killproc acpid -HUP
118 RETVAL=$?
119}
120
37b4ae3e
ER
121RETVAL=0
122# See how we were called.
123case "$1" in
124 start)
125 start
126 ;;
127 stop)
128 stop
129 ;;
130 restart)
131 stop
132 start
c0743e1f 133 ;;
121466a7
ER
134 try-restart)
135 condrestart 0
136 ;;
1b772a07 137 reload|force-reload)
5812ab6f
ER
138 reload
139 ;;
140 load-modules)
141 load_modules
c0743e1f 142 ;;
c0743e1f 143 status)
144 status acpid
145 ;;
146 *)
5812ab6f 147 msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|load-modules|status}"
1b772a07 148 exit 3
94f6e9a1 149esac
c0743e1f 150
151exit $RETVAL
This page took 0.082761 seconds and 4 git commands to generate.