~upstart-devel/upstart/upstart-jobs

« back to all changes in this revision

Viewing changes to utopic/etc/init.d/cpufreqd

  • Committer: Dimitri John Ledkov
  • Date: 2014-11-19 12:58:41 UTC
  • Revision ID: dimitri.j.ledkov@intel.com-20141119125841-98dr37roy8dvcv3b
auto update

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#! /bin/sh
2
 
### BEGIN INIT INFO
3
 
# Provides: cpufreqd
4
 
# Required-Start: $local_fs $syslog $remote_fs
5
 
# Required-Stop: $local_fs $syslog $remote_fs
6
 
# Should-Start:
7
 
# Should-Stop:
8
 
# Default-Start: 2 3 4 5
9
 
# Default-Stop: 0 1 6
10
 
# Short-Description: start and stop cpufreqd
11
 
# Description: fully configurable daemon for dynamic frequency
12
 
#        and voltage scaling
13
 
### END INIT INFO
14
 
15
 
# Startup script for the cpufreqd daemon. It's been made using the
16
 
# skeleton example file to build /etc/init.d/ scripts.
17
 
# This file should be used to construct scripts for /etc/init.d.
18
 
#
19
 
# Written by Miquel van Smoorenburg <miquels@cistron.nl>.
20
 
# Modified for Debian GNU/Linux
21
 
# by Ian Murdock <imurdock@gnu.ai.mit.edu>.
22
 
#
23
 
# Version: @(#)skeleton  1.9.1  08-Apr-2002  miquels@cistron.nl
24
 
#
25
 
 
26
 
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
27
 
DAEMON=/usr/sbin/cpufreqd
28
 
CPUFREQD_CONFFILE=/etc/cpufreqd.conf
29
 
NAME=cpufreqd
30
 
DESC="CPU Frequency daemon"
31
 
 
32
 
# use lsb-base
33
 
. /lib/lsb/init-functions
34
 
 
35
 
# load defaults file
36
 
test -r /etc/default/cpufreqd && . /etc/default/cpufreqd
37
 
 
38
 
# abort if no executable exists
39
 
test -x $DAEMON || exit 0
40
 
 
41
 
#abort if no conffile exists
42
 
test -r $CPUFREQD_CONFFILE || exit 0
43
 
 
44
 
load_governor_modules() {
45
 
        case "$CPUFREQ_GOV_MODULES" in
46
 
                "") 
47
 
                        return
48
 
                ;;
49
 
                "auto")
50
 
                        CPUFREQ_GOV_MODULES=$(cat /etc/cpufreqd.conf | \
51
 
                                                sed -ne 's/^policy=\([[:alpha:]]*\)/cpufreq_\1/p' | \
52
 
                                                uniq | xargs)
53
 
                ;;
54
 
                *)
55
 
                ;;
56
 
        esac
57
 
        modprobe -qa $CPUFREQ_GOV_MODULES || /bin/true
58
 
}
59
 
 
60
 
load_cpu_module() {
61
 
        if [ -n "$CPUFREQ_CPU_MODULE" ] ; then
62
 
                modprobe -q $CPUFREQ_CPU_MODULE || /bin/true
63
 
        fi
64
 
}
65
 
 
66
 
check_for_cpufreq_support() {
67
 
        # forget it if we're trying to start and no cpufreq found in kernel
68
 
        if !([ -d /sys/devices/system/cpu/cpu0/cpufreq ] || [ -f /proc/cpufreq ]) ; then
69
 
#               log_failure_msg "no cpufreq interface found. "
70
 
                return 1
71
 
        fi
72
 
        return 0
73
 
}
74
 
 
75
 
set -e
76
 
 
77
 
retval=0
78
 
case "$1" in
79
 
        start)
80
 
                log_daemon_msg "Starting $DESC" "$NAME"
81
 
                load_cpu_module
82
 
                load_governor_modules
83
 
                if check_for_cpufreq_support ; then
84
 
                        start_daemon $DAEMON -f $CPUFREQD_CONFFILE
85
 
                else
86
 
#                       log_failure_msg " Errors occurred starting cpufreqd"
87
 
                        retval=1
88
 
                fi
89
 
                log_end_msg $retval;
90
 
        ;;
91
 
        stop)
92
 
                log_daemon_msg "Stopping $DESC" "$NAME"
93
 
                if ( pidofproc $DAEMON 2>&1 > /dev/null ) ; then
94
 
                        killproc $DAEMON 15
95
 
                fi
96
 
                log_end_msg $retval
97
 
        ;;
98
 
#  reload|force-reload)
99
 
#      check_for_cpufreq_support
100
 
#      echo -n "Reloading $DESC configuration..."
101
 
#      start-stop-daemon --stop --oknodo --signal 1 --exec $DAEMON -- -f $CPUFREQD_CONFFILE
102
 
#      echo "done."
103
 
#      ;;
104
 
        reload|force-reload|restart)
105
 
                log_daemon_msg "Restarting $DESC" "$NAME"
106
 
                killproc $DAEMON
107
 
                sleep 1
108
 
                if check_for_cpufreq_support ; then
109
 
                        start_daemon $DAEMON -f $CPUFREQD_CONFFILE
110
 
                else
111
 
#                       log_failure_msg " Errors occurred starting cpufreqd"
112
 
                        retval=1
113
 
                fi
114
 
                log_end_msg $retval;
115
 
        ;;
116
 
        *)
117
 
                N=/etc/init.d/$NAME
118
 
                echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
119
 
                retval=2
120
 
        ;;
121
 
esac
122
 
 
123
 
exit $retval
124