Date: Tue, 19 Aug 2008 10:27:19 +0800 From: Erich Dollansky <oceanare@pacific.net.sg> To: freebsd-acpi@freebsd.org Subject: powerd, please test patch Message-ID: <48AA2F87.8060506@pacific.net.sg>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------070204080103040606010600 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi, I am using powerd on a notebook. Stopping powerd left the CPU running in the last mode it was in. This patch extents powerd's command line by the parameter '-e' to set the exit mode. By default, it will set the CPU into maximum mode. This patch is for FreeBSD 6.3 updated beginning of the month. Erich --------------070204080103040606010600 Content-Type: text/x-patch; name="powerd.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="powerd.diff" 15,16c15,16 < * THIS SOFTWARE IS PROVIDED BY THE AUTHOR``AS IS'' AND ANY EXPRESS OR < * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED --- > * THIS SOFTWARE IS PROVIDED BY THE AUTHOR``AS IS'' AND ANY EXPRESS OR > * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18c18 < * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY --- > * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 23,24c23,24 < * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING < * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE --- > * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING > * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28,34d27 < /* < 17.08.08 Erich Dollansky (ed) (oceanare@pacific.net.sg additional command < line parameters introduced:: < < e: mode the CPU is set on exit. < */ < 105,112d97 < /* 17.08.08 ed: additional function definitions */ < < static void SwitchToLowest (int acline, int curfreq, int numfreqs, int *freqs, int vflag); < static void SwitchToHighest (int acline, int curfreq, int *freqs, int vflag); < < /* 17.08.08 ed: end of additional function definitions. */ < < 266,267d250 < /* 17.08.08 ed: text changed */ < 269,270c252 < "usage: powerd [-v] [-a mode] [-b mode] [-i %%] [-n mode] [-p ival] [-r %%] [-e mode] [-P pidfile]\n" < "mode: minimum | maximum | adaptive\n"); --- > "usage: powerd [-v] [-a mode] [-b mode] [-i %%] [-n mode] [-p ival] [-r %%] [-P pidfile]\n"); 274,304d255 < static void SwitchToLowest (int acline, int curfreq, int numfreqs, int *freqs, int vflag) < { < if (curfreq != freqs[numfreqs - 1]) { < if (vflag) { < printf("now operating on %s power; " < "changing frequency to %d MHz\n", < modes[acline], freqs[numfreqs - 1]); < } < if (set_freq(freqs[numfreqs - 1]) != 0) { < warn("error setting CPU freq %d", < freqs[numfreqs - 1]); < } < } < } < < static void SwitchToHighest (int acline, int curfreq, int *freqs, int vflag) < { < if (curfreq != freqs[0]) { < if (vflag) { < printf("now operating on %s power; " < "changing frequency to %d MHz\n", < modes[acline], freqs[0]); < } < if (set_freq(freqs[0]) != 0) { < warn("error setting CPU freq %d", < freqs[0]); < } < } < } < < 313d263 < int mode_exit; /* 17.08.09 ed */ 319,320d268 < mode_exit = MODE_MAX; /* 17.08.08 ed */ < acline = SRC_AC; /* 17.08.08 ed */ 332,334c280 < /* 17.08.08 ed additional command line parameters added */ < < while ((ch = getopt(argc, argv, "a:b:e:i:n:p:P:r:v")) != EOF) --- > while ((ch = getopt(argc, argv, "a:b:i:n:p:P:r:v")) != EOF) 342,344d287 < case 'e': /* 17.08.08 ed */ < parse_mode (optarg, &mode_exit, ch); < break; 481c424,435 < SwitchToLowest (acline, curfreq, numfreqs, freqs, vflag); --- > if (curfreq != freqs[numfreqs - 1]) { > if (vflag) { > printf("now operating on %s power; " > "changing frequency to %d MHz\n", > modes[acline], freqs[numfreqs - 1]); > } > if (set_freq(freqs[numfreqs - 1]) != 0) { > warn("error setting CPU freq %d", > freqs[numfreqs - 1]); > continue; > } > } 487c441,452 < SwitchToHighest (acline, curfreq, freqs, vflag); --- > if (curfreq != freqs[0]) { > if (vflag) { > printf("now operating on %s power; " > "changing frequency to %d MHz\n", > modes[acline], freqs[0]); > } > if (set_freq(freqs[0]) != 0) { > warn("error setting CPU freq %d", > freqs[0]); > continue; > } > } 532,548d496 < < /* 17.08.08 ed: we set now the exit mode. Maximum speed is choosen if an < unknown mode is set */ < < if (mode_exit != MODE_MIN) < { < mode_exit = MODE_MAX; < } < if (mode_exit == MODE_MIN) { < SwitchToLowest (acline, curfreq, numfreqs, freqs, vflag); < } < else if (mode_exit == MODE_MAX) { < SwitchToHighest (acline, curfreq, freqs, vflag); < } < < /* 17.08.08 ed: end of the addition. */ < --------------070204080103040606010600--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48AA2F87.8060506>