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