debian/0000755000000000000000000000000011751416657007203 5ustar debian/compat0000644000000000000000000000000211751416657010401 0ustar 6 debian/cpufrequtils.loadcpufreq.init0000644000000000000000000001540011751416657015122 0ustar #!/bin/sh ### BEGIN INIT INFO # Provides: loadcpufreq # Required-Start: $remote_fs $syslog # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: Load kernel modules needed to enable cpufreq scaling # Description: Make it possible to save power by reducing # the CPU speed when there is little to do. ### END INIT INFO # License: GNU General Public License. # # Based on scripts found in the powernowd package version # 0.97-1ubuntu6 on Ubuntu. # # This script is an interim solution until the default Debian packages # will load the proper kernel modules at boot time. Track #396117, # #342014 and #367307 to see status on this. # # claim the later kernels support autoloading of these modules, so I # guess In the future this script can be dropped. [pere 2007-05-12] PATH=/sbin:/bin:/usr/sbin:/usr/bin NAME=loadcpufreq # Get lsb functions . /lib/lsb/init-functions [ -f /etc/default/rcS ] && . /etc/default/rcS # Set a default value ENABLE="true" [ -f /etc/default/loadcpufreq ] && . /etc/default/loadcpufreq set -e # if not enabled then exit gracefully [ "$ENABLE" = "true" ] || exit 0 MODPROBE="modprobe -b" load_detected_cpufreq_modules() { #if /usr/sbin/laptop-detect; then LAPTOP=1; fi CPUINFO=/proc/cpuinfo IOPORTS=/proc/ioports if [ ! -f $CPUINFO ] ; then echo "$CPUINFO not detected..." >&2 return fi MODEL_NAME=$(grep '^model name' "$CPUINFO" | head -1 | sed -e 's/^.*: //;') MODEL_ID=$(grep -E '^model[[:space:]]+:' "$CPUINFO" | head -1 | sed -e 's/^.*: //;') CPU=$(grep -E '^cpud[^:]+:' "$CPUINFO" | head -1 | sed -e 's/^.*: //;') VENDOR_ID=$(grep -E '^vendor_id[^:]+:' "$CPUINFO" | head -1 | sed -e 's/^.*: //;') CPU_FAMILY=$(sed -e '/^cpu family/ {s/.*: //;p;Q};d' $CPUINFO) MODULE= MODULE_FALLBACK=acpi-cpufreq # Two modules for PIII-M depending the chipset. # modprobe speedstep-ich$EXT || modprobe speestep-smi$EXT # would be another way if [ -f $IOPORTS ] && grep -q 'Intel .*ICH' $IOPORTS ; then PIII_MODULE=speedstep-ich else PIII_MODULE=speedstep-smi fi case "$VENDOR_ID" in GenuineIntel*) # If the CPU has the est flag, it supports enhanced # speedstep and should use the acpi-cpufreq driver if [ "$(grep est $CPUINFO)" ]; then MODULE=acpi-cpufreq elif [ $CPU_FAMILY = 15 ]; then # Right. Check if it's a P4 without est. # Could be speedstep-ich, or could be p4-clockmod. MODULE=speedstep-ich; # Disabled for now - the latency tends to be bad # enough to make it fairly pointless. # echo "FREQDRIVER=p4-clockmod" >/etc/default/powernowd # to override this # if [ $LAPTOP = "1" ]; then # MODULE_FALLBACK=p4-clockmod; # fi else # So it doesn't have Enhanced Speedstep, and it's not a # P4. It could be a Speedstep PIII, or it may be # unsupported. There's no terribly good programmatic way # of telling. case "$MODEL_NAME" in Intel\(R\)\ Pentium\(R\)\ III\ Mobile\ CPU*) MODULE=$PIII_MODULE ;; # JD: says this works with cpufreq_userspace Mobile\ Intel\(R\)\ Pentium\(R\)\ III\ CPU\ -\ M*) MODULE=$PIII_MODULE ;; # https://bugzilla.ubuntu.com/show_bug.cgi?id=4262 # UNCONFIRMED Pentium\ III\ \(Coppermine\)*) MODULE=$PIII_MODULE ;; esac fi ;; AuthenticAMD*) # Hurrah. This is nice and easy. case $CPU_FAMILY in 5) # K6 MODULE=powernow-k6 ;; 6) # K7 MODULE=powernow-k7 ;; 15|16|17|18|20|21) # K8 MODULE=powernow-k8 ;; esac ;; CentaurHauls*) # VIA if [ $CPU_FAMILY = 6 ]; then case $MODEL_ID in 10) # VIA C7 VIA Esther # try acpi_cpufreq as # suggested in the kernel # configuration help MODULE=acpi_cpufreq ;; *) MODULE=longhaul ;; esac fi ;; GenuineTMx86*) # Transmeta if [ "$(grep longrun $CPUINFO)" ]; then MODULE=longrun fi ;; esac } load_modules() { #build a list of current modules so we don't load a module twice LIST=$(/sbin/lsmod|awk '!/Module/ {print $1}') #get list of available modules (governors and helpers) LOC="/lib/modules/$(uname -r)/kernel/drivers/cpufreq" if [ -d $LOC ]; then MODAVAIL=$( ( find $LOC -type f -name "cpufreq_*.o" -printf "basename %f .o\n"; \ find $LOC -type f -name "cpufreq_*.ko" -printf "basename %f .ko\n" ) | /bin/sh) else MODAVAIL="" fi #echo "Loading cpufreq modules:" for mod in $MODAVAIL; do # echo " $mod" echo $LIST| grep -q -w "$mod" || $MODPROBE $mod >/dev/null || /bin/true done #cpufreq is built in on powerpc; just return if [ "$(uname -m)" = "ppc" ]; then return 0 fi #new style detection system if [ ! "$FREQDRIVER" = "" ]; then # user overridden value in /etc/default/loadcpufreq $MODPROBE "$FREQDRIVER" MODULE="$FREQDRIVER" else load_detected_cpufreq_modules if [ ! -z "$MODULE" ] || [ ! -z "$MODULE_FALLBACK" ] ; then if [ ! -z "$MODULE" ] && $MODPROBE "$MODULE" 2>/dev/null ; then : elif $MODPROBE "$MODULE_FALLBACK" 2>/dev/null ; then MODULE="$MODULE_FALLBACK" else unset MODULE fi fi fi } check_kernel() { CPUFREQ=/sys/devices/system/cpu/cpu0/cpufreq if [ -z "$MODULE" ] || ([ -f "$CPUFREQ/scaling_governor" ] && \ [ -f "$CPUFREQ/scaling_available_governors" ]) then return 0 else return 1 fi } case "$1" in start) log_action_begin_msg "Loading cpufreq kernel modules" [ -f /proc/modules ] && load_modules if check_kernel ; then [ -z "$MODULE" ] && MODULE="none" log_action_end_msg 0 "$MODULE" else log_action_end_msg 1 fi ;; stop) ;; restart|force-reload) $0 stop sleep 1 $0 start #echo "$NAME." ;; *) N=/etc/init.d/$NAME log_success_msg "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0 debian/control0000644000000000000000000000225111751416657010606 0ustar Source: cpufrequtils Section: admin Priority: optional Maintainer: Mattia Dongili Build-Depends: debhelper (>= 6) Standards-Version: 3.9.3 Homepage: http://kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html Package: cpufrequtils Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, lsb-base (>= 3.0) Description: utilities to deal with the cpufreq Linux kernel feature This package contains two utilities for inspecting and setting the CPU frequency through both the sysfs and procfs CPUFreq kernel interfaces. . By default, it also enables CPUFreq at boot time if the correct CPU driver is found. Package: libcpufreq0 Architecture: any Section: libs Depends: ${misc:Depends}, ${shlibs:Depends} Description: shared library to deal with the cpufreq Linux kernel feature This library provide an unified method to access the CPUFreq kernel interface. Package: libcpufreq-dev Architecture: any Section: libdevel Depends: libcpufreq0 (= ${binary:Version}), ${misc:Depends} Description: development files to deal with the cpufreq Linux kernel feature This package provides everything that is needed for developing own programs using libcpufreq. debian/libcpufreq0.install0000644000000000000000000000002211751416657013001 0ustar usr/lib/lib*.so.* debian/cpufrequtils.postinst0000644000000000000000000000456611751416657013551 0ustar #! /bin/sh # postinst script for cpufreqd # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package # # quoting from the policy: # Any necessary prompting should almost always be confined to the # post-installation script, and should be protected with a conditional # so that unnecessary prompting doesn't happen if a package's # installation fails and the `postinst' is called with `abort-upgrade', # `abort-remove' or `abort-deconfigure'. # Source debconf library. . /usr/share/debconf/confmodule case "$1" in configure) # Remove unedited conffiles, as the defaults values are in the # script now. This make automatic configuration easier. deffile=/etc/default/cpufrequtils if [ -f $deffile ]; then case $(md5sum $deffile|sed 's/ .*//') in a5a78170cb0fb90c5ae08fd397741f9d) # from version 002-2 rm $deffile ;; *) ;; esac fi # If the config file is missing (or removed above because it # was the old default file), check debconf to see if the # init.d script should be enabled. This hidden debconf # question allow preseeding during installation. if [ ! -f $deffile ] ; then db_get cpufrequtils/enable if [ false = "$RET" ] ; then echo 'ENABLE="false"' > $deffile fi fi # Remove unused stop scripts in /etc/rc[016].d # The stop action does nothing anyway and the were # not created for a while. Unfortunately they have never # been removed after the postinst script stopped creating # them. # Make sure they are not there. for i in 0 1 6 ; do [ -f /etc/rc$i.d/K*cpufrequtils ] && rm /etc/rc$i.d/K*cpufrequtils done ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac #db_stop # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/cpufrequtils.init0000644000000000000000000000467111751416657012626 0ustar #!/bin/sh ### BEGIN INIT INFO # Provides: cpufrequtils # Required-Start: $remote_fs loadcpufreq # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: set CPUFreq kernel parameters # Description: utilities to deal with CPUFreq Linux # kernel support ### END INIT INFO # DESC="CPUFreq Utilities" PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin CPUFREQ_SET=/usr/bin/cpufreq-set CPUFREQ_INFO=/usr/bin/cpufreq-info CPUFREQ_OPTIONS="" # use lsb-base . /lib/lsb/init-functions # Which governor to use. Must be one of the governors listed in: # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors # # and which limits to set. Both MIN_SPEED and MAX_SPEED must be values # listed in: # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies # a value of 0 for any of the two variables will disabling the use of # that limit variable. # # WARNING: the correct kernel module must already be loaded or compiled in. # # Set ENABLE to "true" to let the script run at boot time. # # eg: ENABLE="true" # GOVERNOR="ondemand" # MAX_SPEED=1000 # MIN_SPEED=500 ENABLE="true" GOVERNOR="ondemand" MAX_SPEED="0" MIN_SPEED="0" check_governor_avail() { info="/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors" if [ -f $info ] && grep -q "\<$GOVERNOR\>" $info ; then return 0; fi return 1; } [ -x $CPUFREQ_SET ] || exit 0 if [ -f /etc/default/cpufrequtils ] ; then . /etc/default/cpufrequtils fi # if not enabled then exit gracefully [ "$ENABLE" = "true" ] || exit 0 if [ -n "$MAX_SPEED" ] && [ $MAX_SPEED != "0" ] ; then CPUFREQ_OPTIONS="$CPUFREQ_OPTIONS --max $MAX_SPEED" fi if [ -n "$MIN_SPEED" ] && [ $MIN_SPEED != "0" ] ; then CPUFREQ_OPTIONS="$CPUFREQ_OPTIONS --min $MIN_SPEED" fi if [ -n "$GOVERNOR" ] ; then CPUFREQ_OPTIONS="$CPUFREQ_OPTIONS --governor $GOVERNOR" fi CPUS=$(cat /proc/stat|sed -ne 's/^cpu\([[:digit:]]\+\).*/\1/p') RETVAL=0 case "$1" in start|force-reload|restart|reload) log_action_begin_msg "$DESC: Setting $GOVERNOR CPUFreq governor" if check_governor_avail ; then for cpu in $CPUS ; do log_action_cont_msg "CPU${cpu}" $CPUFREQ_SET --cpu $cpu $CPUFREQ_OPTIONS 2>&1 > /dev/null || \ RETVAL=$? done log_action_end_msg $RETVAL "" else log_action_cont_msg "disabled, governor not available" log_action_end_msg $RETVAL fi ;; stop) ;; *) echo "Usage: $0 {start|stop|restart|reload|force-reload}" exit 1 esac exit 0 debian/lintian.overrides0000644000000000000000000000004011751416657012557 0ustar cpufrequtils: no-debconf-config debian/libcpufreq0.postinst0000644000000000000000000000164111751416657013226 0ustar #! /bin/sh # postinst script for libcpufreq # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package # case "$1" in configure) ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/source.lintian-overrides0000644000000000000000000000005211751416657014060 0ustar cpufrequtils source: not-using-po-debconf debian/cpufrequtils.loadcpufreq.sample0000644000000000000000000000025611751416657015443 0ustar # /etc/default/loadcpufreq sample file # # Use this file to override the CPUFreq kernel module to # be loaded or disable loading at all ENABLE=true FREQDRIVER=acpi-cpufreq debian/cpufrequtils.templates0000644000000000000000000000027711751416657013657 0ustar Template: cpufrequtils/enable Type: boolean Default: true Description: Enable cpufreq governor at install time? This is an internal (hidden) debconf question. It should not be translated. debian/cpufrequtils.examples0000644000000000000000000000010211751416657013462 0ustar debian/cpufrequtils.sample debian/cpufrequtils.loadcpufreq.sample debian/rules0000755000000000000000000000520311751416657010263 0ustar #!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # # Modified to make a template file for a multi-binary package with separated # build-arch and build-indep targets by Bill Allombert 2001 # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # This has to be exported to make some magic below work. export DH_OPTIONS # These are used for cross-compiling and for saving the configure script # from having to guess our platform (since we know it already) DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) CFLAGS = -Wall -g ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else CFLAGS += -O2 endif # handle nostrip DEBUG = false ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) DEBUG=true endif # shared library versions version=0.0.0 major=0 build: build-arch build-indep build-arch: build-stamp build-indep: build-stamp build-stamp: dh_testdir # compile the package. # CROSS=$(DEB_BUILD_GNU_TYPE) $(MAKE) CFLAGS="$(CFLAGS)" DESTDIR="$(CURDIR)/debian/tmp" mandir=/usr/share/man V=1 DEBUG=$(DEBUG) touch build-stamp clean: dh_testdir dh_testroot rm -f build-arch-stamp build-indep-stamp #CONFIGURE-STAMP# rm -f build-stamp # Add here commands to clean up after the build process. $(MAKE) clean dh_clean install: build dh_testdir dh_testroot dh_clean -k dh_installdirs # Add here commands to install the arch part of the package into # debian/tmp. $(MAKE) install DESTDIR="$(CURDIR)/debian/tmp" mandir=/usr/share/man V=1 # Build architecture-independent files here. binary-indep: build install # We have nothing to do by default. # Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot dh_install --sourcedir=debian/tmp dh_installchangelogs dh_installdocs dh_installexamples dh_installman dh_installinit --name loadcpufreq -r -u"start 05 2 3 4 5 ." dh_installinit -r -u"start 19 2 3 4 5 ." dh_installdebconf install -D -m644 debian/lintian.overrides \ debian/cpufrequtils/usr/share/lintian/overrides/cpufrequtils dh_link dh_strip dh_compress dh_fixperms dh_makeshlibs dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-arch binary-indep .PHONY: build clean binary-indep binary-arch binary install install-indep install-arch debian/libcpufreq0.postrm0000644000000000000000000000163611751416657012673 0ustar #! /bin/sh # postrm script for libcpufreq # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `remove' # * `purge' # * `upgrade' # * `failed-upgrade' # * `abort-install' # * `abort-install' # * `abort-upgrade' # * `disappear' overwrit>r> # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in remove) ;; purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; *) echo "postrm called with unknown argument \`$1'" >&2 exit 1 esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/cpufrequtils.postrm0000644000000000000000000000164211751416657013202 0ustar #! /bin/sh # postrm script for cpufreqd # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `remove' # * `purge' # * `upgrade' # * `failed-upgrade' # * `abort-install' # * `abort-install' # * `abort-upgrade' # * `disappear' overwrit>r> # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in purge) ;; remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) # do nothing ;; *) echo "postrm called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/copyright0000644000000000000000000000207611751416657011143 0ustar This package was debianized by Mattia Dongili on Sun, 28 Nov 2004 17:26:30 +0100. It was downloaded from http://kernel.org/pub/linux/utils/kernel/cpufreq/ Copyright: 2004-2006 Dominik Brodowski Upstream Author: Dominik Brodowski License: This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 dated June, 1991. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. debian/libcpufreq-dev.install0000644000000000000000000000005511751416657013503 0ustar usr/include/* usr/lib/lib*.a usr/lib/lib*.so debian/cpufrequtils.sample0000644000000000000000000000124511751416657013136 0ustar # Which governor to use. Must be one of the governors listed in: # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors # # and which limits to set. Both MIN_SPEED and MAX_SPEED must be values # listed in: # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies # a value of 0 for any of the two variables will disabling the use of # that limit variable. # # WARNING: the correct kernel module must already be loaded or compiled in. # # Set ENABLE to "true" to let the script run at boot time. # # eg: ENABLE="true" # GOVERNOR="ondemand" # MAX_SPEED=1000000 # MIN_SPEED=500000 ENABLE="false" GOVERNOR="ondemand" MAX_SPEED=0 MIN_SPEED=0 debian/libcpufreq0.symbols0000644000000000000000000000323511751416657013034 0ustar libcpufreq.so.0 libcpufreq0 #MINVER# cpufreq_cpu_exists@Base 001 cpufreq_get_affected_cpus@Base 001 cpufreq_get_available_frequencies@Base 001 cpufreq_get_available_governors@Base 001 cpufreq_get_driver@Base 001 cpufreq_get_freq_hardware@Base 001 cpufreq_get_freq_kernel@Base 001 cpufreq_get_hardware_limits@Base 001 cpufreq_get_policy@Base 001 cpufreq_get_related_cpus@Base 006 cpufreq_get_stats@Base 001 cpufreq_get_transition_latency@Base 006 cpufreq_get_transitions@Base 001 cpufreq_modify_policy_governor@Base 001 cpufreq_modify_policy_max@Base 001 cpufreq_modify_policy_min@Base 001 cpufreq_put_affected_cpus@Base 001 cpufreq_put_available_frequencies@Base 001 cpufreq_put_available_governors@Base 001 cpufreq_put_driver@Base 001 cpufreq_put_policy@Base 001 cpufreq_put_related_cpus@Base 006 cpufreq_put_stats@Base 001 cpufreq_set_frequency@Base 001 cpufreq_set_policy@Base 001 proc_cpu_exists@Base 001 proc_get_freq_kernel@Base 001 proc_get_policy@Base 001 proc_set_frequency@Base 001 proc_set_policy@Base 001 sysfs_cpu_exists@Base 001 sysfs_get_affected_cpus@Base 001 sysfs_get_available_frequencies@Base 001 sysfs_get_available_governors@Base 001 sysfs_get_driver@Base 001 sysfs_get_freq_hardware@Base 001 sysfs_get_freq_kernel@Base 001 sysfs_get_hardware_limits@Base 001 sysfs_get_policy@Base 001 sysfs_get_related_cpus@Base 006 sysfs_get_stats@Base 001 sysfs_get_transition_latency@Base 006 sysfs_get_transitions@Base 001 sysfs_modify_policy_governor@Base 001 sysfs_modify_policy_max@Base 001 sysfs_modify_policy_min@Base 001 sysfs_read_file@Base 001 sysfs_set_frequency@Base 001 sysfs_set_policy@Base 001 sysfs_write_file@Base 001 debian/cpufrequtils.install0000644000000000000000000000006211751416657013317 0ustar usr/bin/* usr/share/locale/* usr/share/man/man1/* debian/source/0000755000000000000000000000000011751416657010503 5ustar debian/source/format0000644000000000000000000000001411751416657011711 0ustar 3.0 (quilt) debian/patches/0000755000000000000000000000000011751416657010632 5ustar debian/patches/0001-Only-x86-has-cpuid-instruction.patch0000644000000000000000000000136711751416657020036 0ustar From f1b6bccf08f53295b2f7f448f28bbd37533c14a2 Mon Sep 17 00:00:00 2001 From: Zhang Le Date: Sun, 18 Jul 2010 02:05:28 +0800 Subject: [PATCH 1/8] Only x86 has cpuid instruction Signed-off-by: Zhang Le Signed-off-by: Dominik Brodowski --- utils/aperf.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/utils/aperf.c b/utils/aperf.c index 627fb17..1c64501 100644 --- a/utils/aperf.c +++ b/utils/aperf.c @@ -68,11 +68,15 @@ struct avg_perf_cpu_info static int cpu_has_effective_freq() { +#if defined(__i386__) || defined(__x86_64__) /* largest base level */ if (cpuid_eax(0) < 6) return 0; return cpuid_ecx(6) & 0x1; +#else + return 0; +#endif } /* -- 1.7.10 debian/patches/0004-i18n-Catalan.patch0000644000000000000000000004212711751416657014362 0ustar From f87d9bf4c62d6d7017c35357f425038f25b0e3e9 Mon Sep 17 00:00:00 2001 From: Dominik Brodowski Date: Wed, 9 Mar 2011 14:54:43 +0100 Subject: [PATCH 4/8] i18n: Catalan Signed-off-by: Dominik Brodowski --- Makefile | 2 +- po/ca.po | 415 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ po/cs.po | 3 +- po/de.po | 3 +- po/fr.po | 3 +- po/it.po | 3 +- po/pt.po | 2 +- 7 files changed, 425 insertions(+), 6 deletions(-) create mode 100644 po/ca.po Index: cpufrequtils/Makefile =================================================================== --- cpufrequtils.orig/Makefile 2012-05-06 13:29:57.000000000 +0900 +++ cpufrequtils/Makefile 2012-05-06 13:30:41.865796974 +0900 @@ -60,7 +60,7 @@ PACKAGE = cpufrequtils PACKAGE_BUGREPORT = cpufreq@vger.kernel.org -LANGUAGES = de fr it cs pt +LANGUAGES = de fr it cs pt ca # Directory definitions. These are default and most probably Index: cpufrequtils/po/ca.po =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ cpufrequtils/po/ca.po 2012-05-06 13:30:41.869796865 +0900 @@ -0,0 +1,415 @@ +# Catalan translation of cpufrequtil package +# Copyright (C) 20042009,2011 +# This file is distributed under the same license as the cpufrequtil package. +# Sergi Casbas , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: debian Squeezy\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-03-09 14:53+0100\n" +"PO-Revision-Date: 2011-03-05 21:10+0100\n" +"Last-Translator: Sergi Casbas \n" +"Language-Team: Catalan <>\n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" + +#: utils/info.c:36 +#, c-format +msgid "Couldn't count the number of CPUs (%s: %s), assuming 1\n" +msgstr "No es pot comptar el nombre total de CPUs (%s: %s), se n'assumeix 1\n" + +#: utils/info.c:68 +#, c-format +msgid "" +" minimum CPU frequency - maximum CPU frequency - governor\n" +msgstr "" +" mínima freqüència de CPU - màxima freqüència de CPU - " +"governador\n" + +#: utils/info.c:156 +#, c-format +msgid "couldn't analyze CPU %d as it doesn't seem to be present\n" +msgstr "No es pot analitzar la CPU %d ja que sembla que no està present.\n" + +#: utils/info.c:160 +#, c-format +msgid "analyzing CPU %d:\n" +msgstr "analitzant la CPU %d:\n" + +#: utils/info.c:167 +#, c-format +msgid " no or unknown cpufreq driver is active on this CPU\n" +msgstr "Controlador cpufreq inactiu o desconegut per aquesta CPU\n" + +#: utils/info.c:169 +#, c-format +msgid " driver: %s\n" +msgstr " controlador:%s\n" + +#: utils/info.c:175 +#, c-format +msgid " CPUs which run at the same hardware frequency: " +msgstr " CPUs que necessiten anar a la mateixa freqüència:" + +#: utils/info.c:186 +#, c-format +msgid " CPUs which need to have their frequency coordinated by software: " +msgstr "" +" CPUs que necessiten les seves freqüències coordinades per programari:" + +#: utils/info.c:197 +#, c-format +msgid " maximum transition latency: " +msgstr " màxima latència de transició: " + +#: utils/info.c:203 +#, c-format +msgid " hardware limits: " +msgstr " límits del maquinari: " + +#: utils/info.c:212 +#, c-format +msgid " available frequency steps: " +msgstr " salts de freqüència disponibles:" + +#: utils/info.c:225 +#, c-format +msgid " available cpufreq governors: " +msgstr " governadors cpufreq disponibles: " + +#: utils/info.c:236 +#, c-format +msgid " current policy: frequency should be within " +msgstr " la directiva de freqüència ha de ser entre " + +#: utils/info.c:238 +#, c-format +msgid " and " +msgstr " i " + +#: utils/info.c:242 +#, c-format +msgid "" +"The governor \"%s\" may decide which speed to use\n" +" within this range.\n" +msgstr "" +"EL governadors \"%s\" decidirà la freqüencial a fer servir\n" +" dins d'aquest rang.\n" + +#: utils/info.c:249 +#, c-format +msgid " current CPU frequency is " +msgstr " la freqüència actual de la CPU és " + +#: utils/info.c:252 +#, c-format +msgid " (asserted by call to hardware)" +msgstr " (executat per crides al maquinari)" + +#: utils/info.c:260 +#, c-format +msgid " cpufreq stats: " +msgstr " estadístiques del cpufreq: " + +#: utils/info.c:440 utils/set.c:31 +#, c-format +msgid "Report errors and bugs to %s, please.\n" +msgstr "Si us plau, Informi del errors i bugs a %s.\n" + +#: utils/info.c:444 +#, c-format +msgid "Usage: cpufreq-info [options]\n" +msgstr "Forma d'ús: cpufreq-info [options]\n" + +#: utils/info.c:445 utils/set.c:37 +#, c-format +msgid "Options:\n" +msgstr "Opcions:\n" + +#: utils/info.c:446 +#, c-format +msgid "" +" -c CPU, --cpu CPU CPU number which information shall be determined " +"about\n" +msgstr "" +" -c CPU, --cpu CPU número de la CPU de la que s'en vol determinar la " +"informació\n" + +#: utils/info.c:447 +#, c-format +msgid " -e, --debug Prints out debug information\n" +msgstr " -e, --debug Mostra informació de depuració\n" + +#: utils/info.c:448 +#, c-format +msgid "" +" -f, --freq Get frequency the CPU currently runs at, according\n" +" to the cpufreq core *\n" +msgstr "" +" -f, --freq Freqüència a la que funciona la CPU d'acord amb\n" +" el nucli del cpufreq *\n" + +#: utils/info.c:450 +#, c-format +msgid "" +" -w, --hwfreq Get frequency the CPU currently runs at, by reading\n" +" it from hardware (only available to root) *\n" +msgstr "" +" -w, --hwfreq Freqüència actual de la CPU llegida per maquinari\n" +" (només disponible per al root) *\n" + +#: utils/info.c:452 +#, c-format +msgid "" +" -l, --hwlimits Determine the minimum and maximum CPU frequency " +"allowed *\n" +msgstr "" +" -l, --hwlimits Determina les freqüències mínima i màxima permeses de " +"la UPC *\n" + +#: utils/info.c:453 +#, c-format +msgid " -d, --driver Determines the used cpufreq kernel driver *\n" +msgstr "" +" -d, --driver Determina el controlador de cpufreq del nucli a " +"emprar *\n" + +#: utils/info.c:454 +#, c-format +msgid " -p, --policy Gets the currently used cpufreq policy *\n" +msgstr " -p, --policy Retorna la directiva del cpufreq actual *\n" + +#: utils/info.c:455 +#, c-format +msgid " -g, --governors Determines available cpufreq governors *\n" +msgstr "" +" -g, --governors Determina els governadors de cpufreq disponibles *\n" + +#: utils/info.c:456 +#, c-format +msgid "" +" -r, --related-cpus Determines which CPUs run at the same hardware " +"frequency *\n" +msgstr "" +" -r, --related-cpus Determina quines CPU0s funcionen a la mateixa " +"freqüencial per maquinari *\n" + +#: utils/info.c:457 +#, c-format +msgid "" +" -a, --affected-cpus Determines which CPUs need to have their frequency\n" +" coordinated by software *\n" +msgstr "" +" -a, --affected-cpus Determina quines CPUs necessiten coordinar la seva\n" +" freqüencial per programari *\n" + +#: utils/info.c:459 +#, c-format +msgid " -s, --stats Shows cpufreq statistics if available\n" +msgstr "" +" -s, --stats Mostra els estadístiques disponibles del cpufreq\n" + +#: utils/info.c:460 +#, c-format +msgid "" +" -y, --latency Determines the maximum latency on CPU frequency " +"changes *\n" +msgstr "" +" -y, --latency Determina la latència màxima en els canvis de " +"freqüència de la CPU *\n" + +#: utils/info.c:461 +#, c-format +msgid "" +" -o, --proc Prints out information like provided by the /proc/" +"cpufreq\n" +" interface in 2.4. and early 2.6. kernels\n" +msgstr "" +" -o, --proc Mostra la informació proveïda per la interfície /proc/" +"cpufreq\n" +" dels kernel 2.4. i els primerencs del 2.6\n" + +#: utils/info.c:463 +#, c-format +msgid "" +" -m, --human human-readable output for the -f, -w, -s and -y " +"parameters\n" +msgstr "" +" -m, --human sortida en format llegible per als humans per als " +"paràmetres -f, -w, -s i -y\n" + +#: utils/info.c:464 +#, c-format +msgid " -h, --help Prints out this screen\n" +msgstr " -h, --help Mostra aquesta informació\n" + +#: utils/info.c:467 +#, c-format +msgid "" +"If no argument or only the -c, --cpu parameter is given, debug output about\n" +"cpufreq is printed which is useful e.g. for reporting bugs.\n" +msgstr "" +"Si no s'especifica argument o només s'especifica el paràmetre -c, --cpu, es " +"mostrarà\n" +"la informació de depuració del cpufreq útil per exemple, per informar " +"d'errors.\n" + +#: utils/info.c:469 +#, c-format +msgid "" +"For the arguments marked with *, omitting the -c or --cpu argument is\n" +"equivalent to setting it to zero\n" +msgstr "" +"Per als arguments marcats amb un *, ometre l'argument -c o --cpu és\n" +"equivalent a establir-lo a zero\n" + +#: utils/info.c:563 +#, c-format +msgid "" +"The argument passed to this tool can't be combined with passing a --cpu " +"argument\n" +msgstr "" +"Aquesta eina no pot combinar el paràmetre subministrat amb el paràmetre --" +"cpu.\n" + +#: utils/info.c:576 +#, c-format +msgid "" +"You can't specify more than one --cpu parameter and/or\n" +"more than one output-specific argument\n" +msgstr "" +"No es pot especificar més d'un paràmetre --cpu i/o més d'un\n" +"argument de sortida específic\n" + +#: utils/info.c:582 utils/set.c:95 +#, c-format +msgid "invalid or unknown argument\n" +msgstr "paràmetre invàlid o desconegut\n" + +#: utils/set.c:36 +#, c-format +msgid "Usage: cpufreq-set [options]\n" +msgstr "Forma d'ús: cpufreq-set [OPCIÓ]\n" + +#: utils/set.c:38 +#, c-format +msgid "" +" -c CPU, --cpu CPU number of CPU where cpufreq settings shall be " +"modified\n" +msgstr "" +" -c CPU, --cpu CPU número de la CPU de la que s'en vol modificar la " +"configuració\n" + +#: utils/set.c:39 +#, c-format +msgid "" +" -d FREQ, --min FREQ new minimum CPU frequency the governor may " +"select\n" +msgstr "" +" -d FREQ, --min FREQ nova freqüència mínima de la CPU que el " +"governador pot seleccionar\n" + +#: utils/set.c:40 +#, c-format +msgid "" +" -u FREQ, --max FREQ new maximum CPU frequency the governor may " +"select\n" +msgstr "" +" -u FREQ, --max FREQ nova freqüència màixima de la CPU que el " +"governador pot seleccionar\n" + +#: utils/set.c:41 +#, c-format +msgid " -g GOV, --governor GOV new cpufreq governor\n" +msgstr " -g GOV, --governor GOV Establir nou governador del cpufreq\n" + +#: utils/set.c:42 +#, c-format +msgid "" +" -f FREQ, --freq FREQ specific frequency to be set. Requires userspace\n" +" governor to be available and loaded\n" +msgstr "" +" -f FREQ, --freq FREQ especifica la freqüencia a establir. Requereix el " +"governador\n" +" userspace disponible i carregat\n" + +#: utils/set.c:44 +#, c-format +msgid " -r, --related Switches all hardware-related CPUs\n" +msgstr "" +" -r, --related Canvia el maquinari de les CPU relacionades\n" + +#: utils/set.c:45 +#, c-format +msgid " -h, --help Prints out this screen\n" +msgstr " -h, --help Mostra aquesta informació\n" + +#: utils/set.c:47 +#, c-format +msgid "" +"Notes:\n" +"1. Omitting the -c or --cpu argument is equivalent to setting it to zero\n" +"2. The -f FREQ, --freq FREQ parameter cannot be combined with any other " +"parameter\n" +" except the -c CPU, --cpu CPU parameter\n" +"3. FREQuencies can be passed in Hz, kHz (default), MHz, GHz, or THz\n" +" by postfixing the value with the wanted unit name, without any space\n" +" (FREQuency in kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).\n" +msgstr "" +"Notes:\n" +"1. Ometre l'argument -c or --cpu és equivalent a establir-lo a zero\n" +"2. El paràmetre -f FREQ, --freq FREQ no pot ser combinat amb cap d'altre\n" +" excepte el paràmetre -c CPU, --cpu CPU\n" +"3. Les FREQüències s'han de passar en Hz, kHz (defecte), MHz, GHz, or THz\n" +" postfixant al valor desitjat en nom de la unitat sense cap espai\n" +" (FREQuency in kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).\n" + +#: utils/set.c:69 +#, c-format +msgid "" +"Error setting new values. Common errors:\n" +"- Do you have proper administration rights? (super-user?)\n" +"- Is the governor you requested available and modprobed?\n" +"- Trying to set an invalid policy?\n" +"- Trying to set a specific frequency, but userspace governor is not " +"available,\n" +" for example because of hardware which cannot be set to a specific " +"frequency\n" +" or because the userspace governor isn't loaded?\n" +msgstr "" +"Errors comuns al establir nous valors:\n" +"- Disposes dels permisos administratius adequats? (super-user?)\n" +"- Està el governador demanat disponible i provat al mod?\n" +"- S'està intentant establir una directiva invàlida?\n" +"- S'està intentant establir una freqüencia específica però el governador " +"userspace no esta disponible,\n" +" per exemple perquè el maquinari no pot ser establert en una freqüència " +"específica \n" +" o perquè el governador userspace no està carregat?\n" + +#: utils/set.c:183 +#, c-format +msgid "wrong, unknown or unhandled CPU?\n" +msgstr "CPU desconeguda, equivocada, o no manipulable?\n" + +#: utils/set.c:336 +#, c-format +msgid "" +"the -f/--freq parameter cannot be combined with -d/--min, -u/--max or\n" +"-g/--governor parameters\n" +msgstr "" +"el paràmetre -f/--freq no és pot combinar amb els paràmetres -d/--,min\n" +", -u/--max o -g/--governor\n" + +#: utils/set.c:342 +#, c-format +msgid "" +"At least one parameter out of -f/--freq, -d/--min, -u/--max, and\n" +"-g/--governor must be passed\n" +msgstr "" +"S'ha de facilitar com a mínim un dels següents paràmetres f/--freq,\n" +" -d/--min, -u/--max, o g/--governor\n" Index: cpufrequtils/po/cs.po =================================================================== --- cpufrequtils.orig/po/cs.po 2012-05-06 13:29:57.000000000 +0900 +++ cpufrequtils/po/cs.po 2012-05-06 13:31:32.400356869 +0900 @@ -9,10 +9,11 @@ msgstr "" "Project-Id-Version: cs\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-07-17 11:29+0200\n" +"POT-Creation-Date: 2011-03-09 14:53+0100\n" "PO-Revision-Date: 2008-06-11 16:26+0200\n" "Last-Translator: Karel Volný \n" "Language-Team: Czech \n" +"Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" Index: cpufrequtils/po/de.po =================================================================== --- cpufrequtils.orig/po/de.po 2012-05-06 13:29:57.000000000 +0900 +++ cpufrequtils/po/de.po 2012-05-06 13:32:00.659553761 +0900 @@ -7,10 +7,11 @@ msgstr "" "Project-Id-Version: cpufrequtils 006\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-09 11:53+0200\n" +"POT-Creation-Date: 2011-03-09 14:53+0100\n" "PO-Revision-Date: 2009-08-08 17:18+0100\n" "Last-Translator: \n" "Language-Team: NONE\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" Index: cpufrequtils/po/fr.po =================================================================== --- cpufrequtils.orig/po/fr.po 2012-05-06 13:29:57.000000000 +0900 +++ cpufrequtils/po/fr.po 2012-05-06 13:32:35.194574779 +0900 @@ -8,10 +8,11 @@ msgstr "" "Project-Id-Version: cpufrequtils 0.1-pre2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-07-17 11:29+0200\n" +"POT-Creation-Date: 2011-03-09 14:53+0100\n" "PO-Revision-Date: 2004-11-17 15:53+1000\n" "Last-Translator: Bruno Ducrot \n" "Language-Team: NONE\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" Index: cpufrequtils/po/it.po =================================================================== --- cpufrequtils.orig/po/it.po 2012-05-06 13:29:57.000000000 +0900 +++ cpufrequtils/po/it.po 2012-05-06 13:33:01.661825791 +0900 @@ -8,10 +8,11 @@ msgstr "" "Project-Id-Version: cpufrequtils 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-09 11:53+0200\n" +"POT-Creation-Date: 2011-03-09 14:53+0100\n" "PO-Revision-Date: 2009-08-15 12:00+0900\n" "Last-Translator: Mattia Dongili \n" "Language-Team: NONE\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" Index: cpufrequtils/po/pt.po =================================================================== --- cpufrequtils.orig/po/pt.po 2012-05-06 13:29:57.000000000 +0900 +++ cpufrequtils/po/pt.po 2012-05-06 13:33:24.845170668 +0900 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: cpufrequtils 004\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-09 11:53+0200\n" +"POT-Creation-Date: 2011-03-09 14:53+0100\n" "PO-Revision-Date: 2008-06-14 22:16-0400\n" "Last-Translator: Claudio Eduardo \n" "MIME-Version: 1.0\n" debian/patches/01_add_cpufreq-aperf_manpage.patch0000644000000000000000000000623611751416657017222 0ustar Add a manpage mostly taken from the source code comments and the command help output. Index: cpufrequtils/man/cpufreq-aperf.1 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ cpufrequtils/man/cpufreq-aperf.1 2012-05-06 13:29:37.943624564 +0900 @@ -0,0 +1,44 @@ +.TH "cpufreq-aperf" "1" "0.1" "Mattia Dongili" "" +.SH "NAME" +.LP +cpufreq\-aperf \- Calculates the average frequency over a time period +.SH "SYNTAX" +.LP +cpufreq\-aperf [\fIoptions\fP] +.SH "DESCRIPTION" +.LP +On latest processors exist two MSR registers refered to as: + - MPERF increasing with maxium (P0) frequency in C0 + - APERF increasing with current/actual frequency in C0 + +From this information the average frequency over a time period can be +calculated and this is what this tool does. + +A nice falloff feature beside the average frequency is the time +a processor core remained in C0 (working state) or any CX (sleep state) +processor sleep state during the measured time period. This information +can be determined from the fact that MPERF only increases in C0 state. +.SH "OPTIONS" +.LP +.TP +\fB\-c\fR \fB\-\-cpu\fR <\fICPU\fP> + The <\fICPU\fP> core to measure - default all cores. +.TP +\fB\-i\fR \fB\-\-interval\fR <\fIseconds\fP> +Refresh rate - default 1 second. +.TP +\fB\-o\fR \fB\-\-once\fR +Exit after one interval. +.TP +\fB\-h\fR \fB\-\-help\fR +Prints the available options. +.SH "REMARKS" +.LP +The msr driver must be loaded for this command to work. +.SH "AUTHORS" +.nf +Thomas Renninger +.fi +.SH "SEE ALSO" +.LP +cpufreq\-set(1), cpufreq\-info(1) Index: cpufrequtils/man/cpufreq-info.1 =================================================================== --- cpufrequtils.orig/man/cpufreq-info.1 2012-05-06 11:56:21.215806103 +0900 +++ cpufrequtils/man/cpufreq-info.1 2012-05-06 13:29:37.943624564 +0900 @@ -73,4 +73,4 @@ .fi .SH "SEE ALSO" .LP -cpufreq\-set(1) +cpufreq\-set(1), cpufreq-aperf(1) Index: cpufrequtils/man/cpufreq-set.1 =================================================================== --- cpufrequtils.orig/man/cpufreq-set.1 2012-05-06 11:56:21.215806103 +0900 +++ cpufrequtils/man/cpufreq-set.1 2012-05-06 13:29:37.943624564 +0900 @@ -53,4 +53,4 @@ .fi .SH "SEE ALSO" .LP -cpufreq\-info(1) +cpufreq\-info(1), cpufreq-aperf(1) Index: cpufrequtils/Makefile =================================================================== --- cpufrequtils.orig/Makefile 2012-05-06 11:56:21.215806103 +0900 +++ cpufrequtils/Makefile 2012-05-06 13:29:37.943624564 +0900 @@ -248,6 +248,7 @@ install-man: $(INSTALL_DATA) -D man/cpufreq-set.1 $(DESTDIR)${mandir}/man1/cpufreq-set.1 $(INSTALL_DATA) -D man/cpufreq-info.1 $(DESTDIR)${mandir}/man1/cpufreq-info.1 + $(INSTALL_DATA) -D man/cpufreq-aperf.1 $(DESTDIR)${mandir}/man1/cpufreq-aperf.1 install-gmo: $(INSTALL) -d $(DESTDIR)${localedir} @@ -270,6 +271,7 @@ - rm -f $(DESTDIR)${bindir}/cpufreq-aperf - rm -f $(DESTDIR)${mandir}/man1/cpufreq-set.1 - rm -f $(DESTDIR)${mandir}/man1/cpufreq-info.1 + - rm -f $(DESTDIR)${mandir}/man1/cpufreq-aperf.1 - for HLANG in $(LANGUAGES); do \ rm -f $(DESTDIR)${localedir}/$$HLANG/LC_MESSAGES/cpufrequtils.mo; \ done; debian/patches/11_dont_touch_po_files.patch0000644000000000000000000000174211751416657016206 0ustar Do not update po files upon building and installing binaries. Use a separate target instead. Index: cpufrequtils/Makefile =================================================================== --- cpufrequtils.orig/Makefile 2012-05-06 14:55:18.445553259 +0900 +++ cpufrequtils/Makefile 2012-05-06 14:55:26.589398186 +0900 @@ -211,9 +211,9 @@ test -f $(PACKAGE).po && \ mv -f $(PACKAGE).po po/$(PACKAGE).pot -update-gmo: po/$(PACKAGE).pot +update-po: po/$(PACKAGE).pot @for HLANG in $(LANGUAGES); do \ - echo -n "Translating $$HLANG "; \ + echo -n "Updating $$HLANG "; \ if msgmerge po/$$HLANG.po po/$(PACKAGE).pot -o \ po/$$HLANG.new.po; then \ mv -f po/$$HLANG.new.po po/$$HLANG.po; \ @@ -221,6 +221,11 @@ echo "msgmerge for $$HLANG failed!"; \ rm -f po/$$HLANG.new.po; \ fi; \ + done; + +update-gmo: po/$(PACKAGE).pot + @for HLANG in $(LANGUAGES); do \ + echo -n "Translating $$HLANG "; \ msgfmt --statistics -o po/$$HLANG.gmo po/$$HLANG.po; \ done; debian/patches/series0000644000000000000000000000071211751416657012047 0ustar 01_add_cpufreq-aperf_manpage.patch 0001-Only-x86-has-cpuid-instruction.patch #0002-cpufrequtils-Remove-proc-compile-option-and-interfac.patch 0003-cpufrequtils-aperf-Fix-MSR-read-on-32-bit.patch 0004-i18n-Catalan.patch 0005-cpufrequtils-sysfs-increase-MAX_LINE_LEN.patch 0006-aperf-fix-compilation-on-x86-32-with-fPIC.patch 0007-po-add-missing-word-in-DE.patch 0008-cpufrequtils-make-NLS-optional.patch 10_build_static_lib.patch 11_dont_touch_po_files.patch debian/patches/0006-aperf-fix-compilation-on-x86-32-with-fPIC.patch0000644000000000000000000000233511751416657021445 0ustar From 9085ce6f615d9d2e0182d3ce029b882835bd0a6b Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Tue, 26 Jul 2011 19:28:31 -0400 Subject: [PATCH 6/8] aperf: fix compilation on x86-32 with -fPIC ebx is used to store the GOT pointer when compiled with -fPIC, so it's not usable by inline assembly. https://bugs.gentoo.org/375967 Signed-off-by: Matt Turner Signed-off-by: Dominik Brodowski --- utils/cpuid.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/utils/cpuid.h b/utils/cpuid.h index 2bac69a..53da789 100644 --- a/utils/cpuid.h +++ b/utils/cpuid.h @@ -5,9 +5,21 @@ static inline void __cpuid(unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned int *edx) { /* ecx is often an input as well as an output. */ - asm volatile("cpuid" + asm volatile( +#if defined(__i386__) && defined(__PIC__) + "push %%ebx\n" + "cpuid\n" + "movl %%ebx, %1\n" + "pop %%ebx\n" +#else + "cpuid\n" +#endif : "=a" (*eax), +#if defined(__i386__) && defined(__PIC__) + "=r" (*ebx), +#else "=b" (*ebx), +#endif "=c" (*ecx), "=d" (*edx) : "0" (*eax), "2" (*ecx)); -- 1.7.10 debian/patches/0005-cpufrequtils-sysfs-increase-MAX_LINE_LEN.patch0000644000000000000000000000150211751416657021645 0ustar From 9f2efa7bc6969c10562ac2c720d50ff77083e5c2 Mon Sep 17 00:00:00 2001 From: Roman Vasiyarov Date: Mon, 25 Apr 2011 21:34:23 +0400 Subject: [PATCH 5/8] cpufrequtils sysfs: increase MAX_LINE_LEN larger sysfs data (>255 bytes) was truncated and thus used improperly Signed-off-by: Roman Vasiyarov Signed-off-by: Dominik Brodowski --- lib/sysfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/sysfs.c b/lib/sysfs.c index 4e0edab..24dd563 100644 --- a/lib/sysfs.c +++ b/lib/sysfs.c @@ -18,7 +18,7 @@ #include "cpufreq.h" #define PATH_TO_CPU "/sys/devices/system/cpu/" -#define MAX_LINE_LEN 255 +#define MAX_LINE_LEN 4096 #define SYSFS_PATH_MAX 255 /* helper function to read file from /sys into given buffer */ -- 1.7.10 debian/patches/0003-cpufrequtils-aperf-Fix-MSR-read-on-32-bit.patch0000644000000000000000000000240611751416657021562 0ustar From d4490efed068a552e8b67d52a0726458a224c9a0 Mon Sep 17 00:00:00 2001 From: Frank Arnold Date: Wed, 8 Dec 2010 17:39:14 +0100 Subject: [PATCH 3/8] cpufrequtils aperf: Fix MSR read on 32-bit The cpufreq-aperf command does not work on 32-bit systems. The reason for that is a wrong count argument passed to the read() call. Instead of the buffer size, the size of the pointer to the buffer is used. On 64-bit systems this just happened to work, because we need to read an 8 byte value and a pointer has a size of 8 bytes on 64-bit. On 32-bit systems only 4 bytes are read, which then triggers the error path. Signed-off-by: Frank Arnold Reviewed-by: Thomas Renninger Signed-off-by: Dominik Brodowski --- utils/aperf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/aperf.c b/utils/aperf.c index 1c64501..6302f5a 100644 --- a/utils/aperf.c +++ b/utils/aperf.c @@ -100,7 +100,7 @@ static int read_msr(int cpu, unsigned int idx, unsigned long long *val) return -1; if (lseek(fd, idx, SEEK_CUR) == -1) goto err; - if (read(fd, val, sizeof val) != sizeof *val) + if (read(fd, val, sizeof *val) != sizeof *val) goto err; close(fd); return 0; -- 1.7.10 debian/patches/0002-cpufrequtils-Remove-proc-compile-option-and-interfac.patch0000644000000000000000000013224511751416657024450 0ustar From adb7e044755aa06b12212d05c4acbcccb023d2cd Mon Sep 17 00:00:00 2001 From: Thomas Renninger Date: Wed, 1 Sep 2010 02:18:00 +0200 Subject: [PATCH 2/8] cpufrequtils: Remove proc compile option and interfaces proc cpufreq kernel support is deprecated since the beginning of 2.6?) If someone still likes to have support for the 2.4 cpufreq proc interface one has to pick out an old cpufrequtils version from now on... Signed-off-by: Thomas Renninger Signed-off-by: Dominik Brodowski --- Makefile | 29 +------- lib/cpufreq.c | 99 +++++-------------------- lib/interfaces.h | 76 ------------------- lib/proc.c | 216 ------------------------------------------------------ lib/sysfs.h | 18 +++++ po/cs.po | 186 +++++++++++++++++++++++++++------------------- po/de.po | 2 +- po/fr.po | 187 +++++++++++++++++++++++++++------------------- po/it.po | 2 +- po/pt.po | 2 +- 10 files changed, 264 insertions(+), 553 deletions(-) delete mode 100644 lib/interfaces.h delete mode 100644 lib/proc.c create mode 100644 lib/sysfs.h diff --git a/Makefile b/Makefile index 3ef2af7..e23c644 100644 --- a/Makefile +++ b/Makefile @@ -37,13 +37,6 @@ NLS ?= true # cpufreq-bench benchmarking tool CPUFRQ_BENCH ?= false -# Use the sysfs-based interface which is included in all 2.6 kernels -# built with cpufreq support -SYSFS ?= true - -# Use the proc-based interface which is used in the 2.4 patch for cpufreq -PROC ?= true - # Prefix to the directories we're installing to DESTDIR ?= @@ -119,24 +112,12 @@ CPPFLAGS += -DVERSION=\"$(VERSION)\" -DPACKAGE=\"$(PACKAGE)\" \ -DPACKAGE_BUGREPORT=\"$(PACKAGE_BUGREPORT)\" -D_GNU_SOURCE UTIL_SRC = utils/info.c utils/set.c utils/aperf.c utils/cpuid.h -LIB_HEADERS = lib/cpufreq.h lib/interfaces.h -LIB_SRC = lib/cpufreq.c -LIB_OBJS = lib/cpufreq.o +LIB_HEADERS = lib/cpufreq.h lib/sysfs.h +LIB_SRC = lib/cpufreq.c lib/sysfs.c +LIB_OBJS = lib/cpufreq.o lib/sysfs.o CFLAGS += -pipe -ifeq ($(strip $(PROC)),true) - LIB_OBJS += lib/proc.o - LIB_SRC += lib/proc.c - CPPFLAGS += -DINTERFACE_PROC -endif - -ifeq ($(strip $(SYSFS)),true) - LIB_OBJS += lib/sysfs.o - LIB_SRC += lib/sysfs.c - CPPFLAGS += -DINTERFACE_SYSFS -endif - ifeq ($(strip $(NLS)),true) INSTALL_NLS += install-gmo COMPILE_NLS += update-gmo @@ -183,10 +164,6 @@ lib/%.o: $(LIB_SRC) $(LIB_HEADERS) build/ccdv $(QUIET) $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -o $@ -c lib/$*.c libcpufreq.so.$(LIB_MAJ): $(LIB_OBJS) - @if [ $(strip $(SYSFS)) != true -a $(strip $(PROC)) != true ]; then \ - echo '*** At least one of /sys support or /proc support MUST be enabled ***'; \ - exit -1; \ - fi; $(QUIET) $(CC) -shared $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \ -Wl,-soname,libcpufreq.so.$(LIB_MIN) $(LIB_OBJS) @ln -sf $@ libcpufreq.so diff --git a/lib/cpufreq.c b/lib/cpufreq.c index 0c9f28e..603dbf8 100644 --- a/lib/cpufreq.c +++ b/lib/cpufreq.c @@ -11,60 +11,39 @@ #include #include "cpufreq.h" -#include "interfaces.h" +#include "sysfs.h" int cpufreq_cpu_exists(unsigned int cpu) { - int ret = sysfs_cpu_exists(cpu); - if (ret == -ENOSYS) - ret = proc_cpu_exists(cpu); - return (ret); + return sysfs_cpu_exists(cpu); } unsigned long cpufreq_get_freq_kernel(unsigned int cpu) { - unsigned long ret = sysfs_get_freq_kernel(cpu); - if (!ret) - ret = proc_get_freq_kernel(cpu); - return (ret); + return sysfs_get_freq_kernel(cpu); } unsigned long cpufreq_get_freq_hardware(unsigned int cpu) { - unsigned long ret = sysfs_get_freq_hardware(cpu); - if (!ret) - ret = proc_get_freq_hardware(cpu); - return (ret); + return sysfs_get_freq_hardware(cpu); } unsigned long cpufreq_get_transition_latency(unsigned int cpu) { - unsigned long ret = sysfs_get_transition_latency(cpu); - if (!ret) - ret = proc_get_transition_latency(cpu); - return (ret); + return sysfs_get_transition_latency(cpu); } int cpufreq_get_hardware_limits(unsigned int cpu, unsigned long *min, unsigned long *max) { - int ret; if ((!min) || (!max)) return -EINVAL; - ret = sysfs_get_hardware_limits(cpu, min, max); - if (ret) - ret = proc_get_hardware_limits(cpu, min, max); - return (ret); + return sysfs_get_hardware_limits(cpu, min, max); } char * cpufreq_get_driver(unsigned int cpu) { - char * ret; - ret = sysfs_get_driver(cpu); - if (!ret) { - ret = proc_get_driver(cpu); - } - return (ret); + return sysfs_get_driver(cpu); } void cpufreq_put_driver(char * ptr) { @@ -74,11 +53,7 @@ void cpufreq_put_driver(char * ptr) { } struct cpufreq_policy * cpufreq_get_policy(unsigned int cpu) { - struct cpufreq_policy * ret; - ret = sysfs_get_policy(cpu); - if (!ret) - ret = proc_get_policy(cpu); - return (ret); + return sysfs_get_policy(cpu); } void cpufreq_put_policy(struct cpufreq_policy *policy) { @@ -91,11 +66,7 @@ void cpufreq_put_policy(struct cpufreq_policy *policy) { } struct cpufreq_available_governors * cpufreq_get_available_governors(unsigned int cpu) { - struct cpufreq_available_governors *ret; - ret = sysfs_get_available_governors(cpu); - if (!ret) - ret = proc_get_available_governors(cpu); - return (ret); + return sysfs_get_available_governors(cpu); } void cpufreq_put_available_governors(struct cpufreq_available_governors *any) { @@ -116,11 +87,7 @@ void cpufreq_put_available_governors(struct cpufreq_available_governors *any) { struct cpufreq_available_frequencies * cpufreq_get_available_frequencies(unsigned int cpu) { - struct cpufreq_available_frequencies * ret; - ret = sysfs_get_available_frequencies(cpu); - if (!ret) - ret = proc_get_available_frequencies(cpu); - return (ret); + return sysfs_get_available_frequencies(cpu); } void cpufreq_put_available_frequencies(struct cpufreq_available_frequencies *any) { @@ -139,11 +106,7 @@ void cpufreq_put_available_frequencies(struct cpufreq_available_frequencies *any struct cpufreq_affected_cpus * cpufreq_get_affected_cpus(unsigned int cpu) { - struct cpufreq_affected_cpus * ret; - ret = sysfs_get_affected_cpus(cpu); - if (!ret) - ret = proc_get_affected_cpus(cpu); - return (ret); + return sysfs_get_affected_cpus(cpu); } void cpufreq_put_affected_cpus(struct cpufreq_affected_cpus *any) { @@ -162,11 +125,7 @@ void cpufreq_put_affected_cpus(struct cpufreq_affected_cpus *any) { struct cpufreq_affected_cpus * cpufreq_get_related_cpus(unsigned int cpu) { - struct cpufreq_affected_cpus * ret; - ret = sysfs_get_related_cpus(cpu); - if (!ret) - ret = proc_get_related_cpus(cpu); - return (ret); + return sysfs_get_related_cpus(cpu); } void cpufreq_put_related_cpus(struct cpufreq_affected_cpus *any) { @@ -175,56 +134,32 @@ void cpufreq_put_related_cpus(struct cpufreq_affected_cpus *any) { int cpufreq_set_policy(unsigned int cpu, struct cpufreq_policy *policy) { - int ret; if (!policy || !(policy->governor)) return -EINVAL; - ret = sysfs_set_policy(cpu, policy); - if (ret) - ret = proc_set_policy(cpu, policy); - return (ret); + return sysfs_set_policy(cpu, policy); } int cpufreq_modify_policy_min(unsigned int cpu, unsigned long min_freq) { - int ret; - - ret = sysfs_modify_policy_min(cpu, min_freq); - if (ret) - ret = proc_modify_policy_min(cpu, min_freq); - return (ret); + return sysfs_modify_policy_min(cpu, min_freq); } int cpufreq_modify_policy_max(unsigned int cpu, unsigned long max_freq) { - int ret; - - ret = sysfs_modify_policy_max(cpu, max_freq); - if (ret) - ret = proc_modify_policy_max(cpu, max_freq); - return (ret); + return sysfs_modify_policy_max(cpu, max_freq); } int cpufreq_modify_policy_governor(unsigned int cpu, char *governor) { - int ret; - if ((!governor) || (strlen(governor) > 19)) return -EINVAL; - ret = sysfs_modify_policy_governor(cpu, governor); - if (ret) - ret = proc_modify_policy_governor(cpu, governor); - return (ret); + return sysfs_modify_policy_governor(cpu, governor); } int cpufreq_set_frequency(unsigned int cpu, unsigned long target_frequency) { - int ret; - - ret = sysfs_set_frequency(cpu, target_frequency); - if (ret) - ret = proc_set_frequency(cpu, target_frequency); - return (ret); + return sysfs_set_frequency(cpu, target_frequency); } struct cpufreq_stats * cpufreq_get_stats(unsigned int cpu, unsigned long long *total_time) { diff --git a/lib/interfaces.h b/lib/interfaces.h deleted file mode 100644 index 67ee131..0000000 --- a/lib/interfaces.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifdef INTERFACE_SYSFS - -extern unsigned int sysfs_cpu_exists(unsigned int cpu); -extern unsigned long sysfs_get_freq_kernel(unsigned int cpu); -extern unsigned long sysfs_get_freq_hardware(unsigned int cpu); -extern unsigned long sysfs_get_transition_latency(unsigned int cpu); -extern int sysfs_get_hardware_limits(unsigned int cpu, unsigned long *min, unsigned long *max); -extern char * sysfs_get_driver(unsigned int cpu); -extern struct cpufreq_policy * sysfs_get_policy(unsigned int cpu); -extern struct cpufreq_available_governors * sysfs_get_available_governors(unsigned int cpu); -extern struct cpufreq_available_frequencies * sysfs_get_available_frequencies(unsigned int cpu); -extern struct cpufreq_affected_cpus * sysfs_get_affected_cpus(unsigned int cpu); -extern struct cpufreq_affected_cpus * sysfs_get_related_cpus(unsigned int cpu); -extern struct cpufreq_stats * sysfs_get_stats(unsigned int cpu, unsigned long long *total_time); -extern unsigned long sysfs_get_transitions(unsigned int cpu); -extern int sysfs_set_policy(unsigned int cpu, struct cpufreq_policy *policy); -extern int sysfs_modify_policy_min(unsigned int cpu, unsigned long min_freq); -extern int sysfs_modify_policy_max(unsigned int cpu, unsigned long max_freq); -extern int sysfs_modify_policy_governor(unsigned int cpu, char *governor); -extern int sysfs_set_frequency(unsigned int cpu, unsigned long target_frequency); - -#else - -static inline unsigned int sysfs_cpu_exists(unsigned int cpu) { return -ENOSYS; } -static inline unsigned long sysfs_get_freq_kernel(unsigned int cpu) { return 0; } -static inline unsigned long sysfs_get_freq_hardware(unsigned int cpu) { return 0; } -static inline unsigned long sysfs_get_transition_latency(unsigned int cpu) { return 0; } -static inline int sysfs_get_hardware_limits(unsigned int cpu, unsigned long *min, unsigned long *max) { return -ENOSYS; } -static inline char * sysfs_get_driver(unsigned int cpu) { return NULL; } -static inline struct cpufreq_policy * sysfs_get_policy(unsigned int cpu) { return NULL; } -static inline struct cpufreq_available_governors * sysfs_get_available_governors(unsigned int cpu) { return NULL; } -static inline struct cpufreq_available_frequencies * sysfs_get_available_frequencies(unsigned int cpu) { return NULL; } -static inline struct cpufreq_affected_cpus * sysfs_get_affected_cpus(unsigned int cpu) { return NULL; } -static inline struct cpufreq_related_cpus * sysfs_get_affected_cpus(unsigned int cpu) { return NULL; } -static inline struct cpufreq_stats * sysfs_get_stats(unsigned int cpu, unsigned long long *total_time) { return NULL; } -static inline unsigned long sysfs_get_transitions(unsigned int cpu) { return 0; } -static inline int sysfs_set_policy(unsigned int cpu, struct cpufreq_policy *policy) { return -ENOSYS; } -static inline int sysfs_modify_policy_min(unsigned int cpu, unsigned long min_freq) { return -ENOSYS; } -static inline int sysfs_modify_policy_max(unsigned int cpu, unsigned long max_freq) { return -ENOSYS; } -static inline int sysfs_modify_policy_governor(unsigned int cpu, char *governor) { return -ENOSYS; } -static inline int sysfs_set_frequency(unsigned int cpu, unsigned long target_frequency) { return -ENOSYS; } - -#endif - - -#ifdef INTERFACE_PROC - -extern int proc_cpu_exists(unsigned int cpu); -extern unsigned long proc_get_freq_kernel(unsigned int cpu); -extern struct cpufreq_policy * proc_get_policy(unsigned int cpu); -extern int proc_set_policy(unsigned int cpu, struct cpufreq_policy *policy); -extern int proc_set_frequency(unsigned int cpu, unsigned long target_frequency); -#else - -static inline int proc_cpu_exists(unsigned int cpu) {return -ENOSYS; } -static inline unsigned long proc_get_freq_kernel(unsigned int cpu) { return 0; } -static inline struct cpufreq_policy * proc_get_policy(unsigned int cpu) { return NULL; } -static inline int proc_set_policy(unsigned int cpu, struct cpufreq_policy *policy) { return -ENOSYS; } -static inline int proc_set_frequency(unsigned int cpu, unsigned long target_frequency) { return -ENOSYS; } - -#endif - -/* these aren't implemented in /proc, and probably never will...*/ - -static inline unsigned long proc_get_freq_hardware(unsigned int cpu) { return 0; } -static inline unsigned long proc_get_transition_latency(unsigned int cpu) { return -ENOSYS; } -static inline int proc_get_hardware_limits(unsigned int cpu, unsigned long *min, unsigned long *max) { return -ENOSYS; } -static inline char * proc_get_driver(unsigned int cpu) {return NULL; } -static inline struct cpufreq_available_governors * proc_get_available_governors(unsigned int cpu) { return NULL; } -static inline struct cpufreq_available_frequencies * proc_get_available_frequencies(unsigned int cpu) { return NULL; } -static inline struct cpufreq_affected_cpus * proc_get_affected_cpus(unsigned int cpu) { return NULL; } -static inline struct cpufreq_affected_cpus * proc_get_related_cpus(unsigned int cpu) { return NULL; } -static inline int proc_modify_policy_min(unsigned int cpu, unsigned long min_freq) { return -ENOSYS; } -static inline int proc_modify_policy_max(unsigned int cpu, unsigned long max_freq) { return -ENOSYS; } -static inline int proc_modify_policy_governor(unsigned int cpu, char *governor) { return -ENOSYS; } - diff --git a/lib/proc.c b/lib/proc.c deleted file mode 100644 index 38d8483..0000000 --- a/lib/proc.c +++ /dev/null @@ -1,216 +0,0 @@ -/* - * (C) 2004 Dominik Brodowski - * - * Licensed under the terms of the GNU GPL License version 2. - */ - -#include -#include -#include -#include - -#include "cpufreq.h" - -#define MAX_LINE_LEN 255 - -static int readout_proc_cpufreq(unsigned int cpu, unsigned long *min, unsigned long *max, char **governor) -{ - FILE *fp; - char value[MAX_LINE_LEN]; - char gov_value[MAX_LINE_LEN]; - int ret = -ENODEV; - unsigned int cpu_read; - unsigned int tmp1, tmp2; - - if ((!min) || (!max) || (!governor)) - return -EINVAL; - - fp = fopen("/proc/cpufreq","r"); - if (!fp) - return -ENODEV; - - - if (!fgets(value, MAX_LINE_LEN, fp)) { - ret = -EIO; - goto error; - } - - if (strlen(value) > (MAX_LINE_LEN - 10)) { - ret = -EIO; - goto error; - } - - while(!feof(fp)) { - if (!fgets(value, MAX_LINE_LEN, fp)) { - ret = -EIO; - goto error; - } - - if (strlen(value) > (MAX_LINE_LEN - 10)) { - ret = -EIO; - goto error; - } - - ret = sscanf(value, "CPU%3d %9lu kHz (%3d %%) - %9lu kHz (%3d %%) - %s", - &cpu_read , min, &tmp1, max, &tmp2, gov_value); - if (ret != 6) { - ret = -EIO; - goto error; - } - - if (cpu_read != cpu) - continue; - - if ((tmp2 < tmp1) || (tmp2 > 100) || (*max < *min)) { - ret = -ENOSYS; - goto error; - } - - tmp1 = strlen(gov_value); - if (tmp1 > 20) { - ret = -ENOSYS; - goto error; - } - - *governor = malloc(sizeof(char) * (tmp1 + 2)); - if (!*governor) { - ret = -ENOMEM; - goto error; - } - - strncpy(*governor, gov_value, tmp1); - (*governor)[tmp1] = '\0'; - - ret = 0; - - break; - } - - error: - fclose(fp); - return (ret); -} - -int proc_cpu_exists(unsigned int cpu) { - unsigned long tmp1, tmp2; - char *tmp3; - int ret; - - ret = readout_proc_cpufreq(cpu, &tmp1, &tmp2, &tmp3); - if (ret) - return -ENODEV; - - free(tmp3); - return 0; -} - -struct cpufreq_policy * proc_get_policy(unsigned int cpu) { - struct cpufreq_policy tmp; - struct cpufreq_policy *ret; - int err; - - err = readout_proc_cpufreq(cpu, &tmp.min, &tmp.max, &tmp.governor); - if (err) - return NULL; - - ret = malloc(sizeof(struct cpufreq_policy)); - if (!ret) - return NULL; - - ret->min = tmp.min; - ret->max = tmp.max; - ret->governor = tmp.governor; - - return (ret); -} - -unsigned long proc_get_freq_kernel(unsigned int cpu) { - FILE *fp; - char value[MAX_LINE_LEN]; - char file[MAX_LINE_LEN]; - unsigned long value2; - - snprintf(file, MAX_LINE_LEN, "/proc/sys/cpu/%u/speed", cpu); - - fp = fopen(file,"r"); - if (!fp) - return 0; - - if (!fgets(value, MAX_LINE_LEN, fp)) { - fclose(fp); - return 0; - } - - fclose(fp); - - if (strlen(value) > (MAX_LINE_LEN - 10)) { - return 0; - } - - if (sscanf(value, "%lu", &value2) != 1) - return 0; - - return value2; -} - -int proc_set_policy(unsigned int cpu, struct cpufreq_policy *policy) { - FILE *fp; - char value[MAX_LINE_LEN]; - int ret = -ENODEV; - - if ((!policy) || (!policy->governor) || (strlen(policy->governor) > 15)) - return -EINVAL; - - snprintf(value, MAX_LINE_LEN, "%d:%lu:%lu:%s", cpu, policy->min, policy->max, policy->governor); - - value[MAX_LINE_LEN - 1]='\0'; - - fp = fopen("/proc/cpufreq","r+"); - if (!fp) - return -ENODEV; - ret = fputs(value, fp); - fclose(fp); - - if (ret < 0) - return (ret); - - return 0; -} - -int proc_set_frequency(unsigned int cpu, unsigned long target_frequency) { - struct cpufreq_policy *pol = proc_get_policy(cpu); - struct cpufreq_policy new_pol; - char userspace_gov[] = "userspace"; - FILE *fp; - char value[MAX_LINE_LEN]; - char file[MAX_LINE_LEN]; - int ret = 0; - - if (!pol) - return -ENODEV; - - if (strncmp(pol->governor, userspace_gov, 9) != 0) { - cpufreq_put_policy(pol); - new_pol.min = pol->min; - new_pol.max = pol->max; - new_pol.governor = userspace_gov; - ret = proc_set_policy(cpu, &new_pol); - if (ret) - return (ret); - } - - - snprintf(file, MAX_LINE_LEN, "/proc/sys/cpu/%u/speed", cpu); - snprintf(value, MAX_LINE_LEN, "%lu", target_frequency); - - fp = fopen(file,"r+"); - if (!fp) - return -EINVAL; - ret = fputs(value, fp); - fclose(fp); - - if (ret < 0) - return (ret); - - return 0; -} diff --git a/lib/sysfs.h b/lib/sysfs.h new file mode 100644 index 0000000..99619d5 --- /dev/null +++ b/lib/sysfs.h @@ -0,0 +1,18 @@ +extern unsigned int sysfs_cpu_exists(unsigned int cpu); +extern unsigned long sysfs_get_freq_kernel(unsigned int cpu); +extern unsigned long sysfs_get_freq_hardware(unsigned int cpu); +extern unsigned long sysfs_get_transition_latency(unsigned int cpu); +extern int sysfs_get_hardware_limits(unsigned int cpu, unsigned long *min, unsigned long *max); +extern char * sysfs_get_driver(unsigned int cpu); +extern struct cpufreq_policy * sysfs_get_policy(unsigned int cpu); +extern struct cpufreq_available_governors * sysfs_get_available_governors(unsigned int cpu); +extern struct cpufreq_available_frequencies * sysfs_get_available_frequencies(unsigned int cpu); +extern struct cpufreq_affected_cpus * sysfs_get_affected_cpus(unsigned int cpu); +extern struct cpufreq_affected_cpus * sysfs_get_related_cpus(unsigned int cpu); +extern struct cpufreq_stats * sysfs_get_stats(unsigned int cpu, unsigned long long *total_time); +extern unsigned long sysfs_get_transitions(unsigned int cpu); +extern int sysfs_set_policy(unsigned int cpu, struct cpufreq_policy *policy); +extern int sysfs_modify_policy_min(unsigned int cpu, unsigned long min_freq); +extern int sysfs_modify_policy_max(unsigned int cpu, unsigned long max_freq); +extern int sysfs_modify_policy_governor(unsigned int cpu, char *governor); +extern int sysfs_set_frequency(unsigned int cpu, unsigned long target_frequency); diff --git a/po/cs.po b/po/cs.po index a4c14a7..4fdfffb 100644 --- a/po/cs.po +++ b/po/cs.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: cs\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-07-17 11:29+0200\n" +"POT-Creation-Date: 2010-09-01 01:20+0200\n" "PO-Revision-Date: 2008-06-11 16:26+0200\n" "Last-Translator: Karel Volný \n" "Language-Team: Czech \n" @@ -24,64 +24,74 @@ msgstr "" msgid "Couldn't count the number of CPUs (%s: %s), assuming 1\n" msgstr "Nelze zjistit počet CPU (%s: %s), předpokládá se 1.\n" -#: utils/info.c:67 +#: utils/info.c:68 #, c-format msgid "" " minimum CPU frequency - maximum CPU frequency - governor\n" msgstr "" " minimální frekvence CPU - maximální frekvence CPU - regulátor\n" -#: utils/info.c:128 +#: utils/info.c:156 #, c-format msgid "couldn't analyze CPU %d as it doesn't seem to be present\n" msgstr "nelze analyzovat CPU %d, vypadá to, že není přítomen\n" -#: utils/info.c:132 +#: utils/info.c:160 #, c-format msgid "analyzing CPU %d:\n" msgstr "analyzuji CPU %d:\n" -#: utils/info.c:139 +#: utils/info.c:167 #, c-format msgid " no or unknown cpufreq driver is active on this CPU\n" msgstr " pro tento CPU není aktivní žádný známý ovladač cpufreq\n" -#: utils/info.c:141 +#: utils/info.c:169 #, c-format msgid " driver: %s\n" msgstr " ovladač: %s\n" -#: utils/info.c:147 -#, c-format -msgid " CPUs which need to switch frequency at the same time: " +#: utils/info.c:175 +#, fuzzy, c-format +msgid " CPUs which run at the same hardware frequency: " +msgstr " CPU, které musí měnit frekvenci zároveň: " + +#: utils/info.c:186 +#, fuzzy, c-format +msgid " CPUs which need to have their frequency coordinated by software: " msgstr " CPU, které musí měnit frekvenci zároveň: " -#: utils/info.c:157 +#: utils/info.c:197 +#, c-format +msgid " maximum transition latency: " +msgstr "" + +#: utils/info.c:203 #, c-format msgid " hardware limits: " msgstr " hardwarové meze: " -#: utils/info.c:166 +#: utils/info.c:212 #, c-format msgid " available frequency steps: " msgstr " dostupné frekvence: " -#: utils/info.c:179 +#: utils/info.c:225 #, c-format msgid " available cpufreq governors: " msgstr " dostupné regulátory: " -#: utils/info.c:190 +#: utils/info.c:236 #, c-format msgid " current policy: frequency should be within " msgstr " současná taktika: frekvence by měla být mezi " -#: utils/info.c:192 +#: utils/info.c:238 #, c-format msgid " and " msgstr " a " -#: utils/info.c:196 +#: utils/info.c:242 #, c-format msgid "" "The governor \"%s\" may decide which speed to use\n" @@ -90,51 +100,51 @@ msgstr "" " Regulátor \"%s\" může rozhodnout jakou frekvenci použít\n" " v těchto mezích.\n" -#: utils/info.c:203 +#: utils/info.c:249 #, c-format msgid " current CPU frequency is " msgstr " současná frekvence CPU je " -#: utils/info.c:206 +#: utils/info.c:252 #, c-format msgid " (asserted by call to hardware)" msgstr " (zjištěno hardwarovým voláním)" -#: utils/info.c:214 +#: utils/info.c:260 #, c-format msgid " cpufreq stats: " msgstr " statistika cpufreq: " -#: utils/info.c:361 utils/set.c:30 +#: utils/info.c:440 utils/set.c:31 #, c-format msgid "Report errors and bugs to %s, please.\n" msgstr "" "Chyby v programu prosím hlaste na %s (anglicky).\n" "Chyby v překladu prosím hlaste na kavol@seznam.cz (česky ;-)\n" -#: utils/info.c:365 +#: utils/info.c:444 #, c-format msgid "Usage: cpufreq-info [options]\n" msgstr "Užití: cpufreq-info [přepínače]\n" -#: utils/info.c:366 utils/set.c:35 +#: utils/info.c:445 utils/set.c:37 #, c-format msgid "Options:\n" msgstr "Přepínače:\n" -#: utils/info.c:367 +#: utils/info.c:446 #, c-format msgid "" " -c CPU, --cpu CPU CPU number which information shall be determined " "about\n" msgstr " -c CPU, --cpu CPU Číslo CPU, o kterém se mají zjistit informace\n" -#: utils/info.c:368 +#: utils/info.c:447 #, c-format msgid " -e, --debug Prints out debug information\n" msgstr " -e, --debug Vypíše ladicí informace\n" -#: utils/info.c:369 +#: utils/info.c:448 #, c-format msgid "" " -f, --freq Get frequency the CPU currently runs at, according\n" @@ -143,7 +153,7 @@ msgstr "" " -f, --freq Zjistí aktuální frekvenci, na které CPU běží\n" " podle cpufreq *\n" -#: utils/info.c:371 +#: utils/info.c:450 #, c-format msgid "" " -w, --hwfreq Get frequency the CPU currently runs at, by reading\n" @@ -152,7 +162,7 @@ msgstr "" " -w, --hwfreq Zjistí aktuální frekvenci, na které CPU běží\n" " z hardware (dostupné jen uživateli root) *\n" -#: utils/info.c:373 +#: utils/info.c:452 #, c-format msgid "" " -l, --hwlimits Determine the minimum and maximum CPU frequency " @@ -161,36 +171,52 @@ msgstr "" " -l, --hwlimits Zjistí minimální a maximální dostupnou frekvenci CPU " "*\n" -#: utils/info.c:374 +#: utils/info.c:453 #, c-format msgid " -d, --driver Determines the used cpufreq kernel driver *\n" msgstr " -d, --driver Zjistí aktivní ovladač cpufreq *\n" -#: utils/info.c:375 +#: utils/info.c:454 #, c-format msgid " -p, --policy Gets the currently used cpufreq policy *\n" msgstr " -p, --policy Zjistí aktuální taktiku cpufreq *\n" -#: utils/info.c:376 +#: utils/info.c:455 #, c-format msgid " -g, --governors Determines available cpufreq governors *\n" msgstr " -g, --governors Zjistí dostupné regulátory cpufreq *\n" -#: utils/info.c:377 -#, c-format +#: utils/info.c:456 +#, fuzzy, c-format msgid "" -" -a, --affected-cpus Determines which CPUs can only switch frequency at " -"the\n" -" same time *\n" +" -r, --related-cpus Determines which CPUs run at the same hardware " +"frequency *\n" msgstr "" " -a, --affected-cpus Zjistí, které CPU musí měnit frekvenci zároveň *\n" -#: utils/info.c:379 +#: utils/info.c:457 +#, fuzzy, c-format +msgid "" +" -a, --affected-cpus Determines which CPUs need to have their frequency\n" +" coordinated by software *\n" +msgstr "" +" -a, --affected-cpus Zjistí, které CPU musí měnit frekvenci zároveň *\n" + +#: utils/info.c:459 #, c-format msgid " -s, --stats Shows cpufreq statistics if available\n" msgstr " -s, --stats Zobrazí statistiku cpufreq, je-li dostupná\n" -#: utils/info.c:380 +#: utils/info.c:460 +#, fuzzy, c-format +msgid "" +" -y, --latency Determines the maximum latency on CPU frequency " +"changes *\n" +msgstr "" +" -l, --hwlimits Zjistí minimální a maximální dostupnou frekvenci CPU " +"*\n" + +#: utils/info.c:461 #, c-format msgid "" " -o, --proc Prints out information like provided by the /proc/" @@ -200,21 +226,21 @@ msgstr "" " -o, --proc Vypíše informace ve formátu, jaký používalo rozhraní\n" " /proc/cpufreq v kernelech řady 2.4 a časné 2.6\n" -#: utils/info.c:382 -#, c-format +#: utils/info.c:463 +#, fuzzy, c-format msgid "" -" -m, --human human-readable output for the -f, -w and -s " +" -m, --human human-readable output for the -f, -w, -s and -y " "parameters\n" msgstr "" " -m, --human Výstup parametrů -f, -w a -s v „lidmi čitelném“ " "formátu\n" -#: utils/info.c:383 utils/set.c:42 +#: utils/info.c:464 #, c-format msgid " -h, --help Prints out this screen\n" msgstr " -h, --help Vypíše tuto nápovědu\n" -#: utils/info.c:386 +#: utils/info.c:467 #, c-format msgid "" "If no argument or only the -c, --cpu parameter is given, debug output about\n" @@ -224,7 +250,7 @@ msgstr "" "jsou\n" "vypsány ladicí informace, což může být užitečné například při hlášení chyb.\n" -#: utils/info.c:388 +#: utils/info.c:469 #, c-format msgid "" "For the arguments marked with *, omitting the -c or --cpu argument is\n" @@ -233,14 +259,14 @@ msgstr "" "Není-li při použití přepínačů označených * zadán parametr -c nebo --cpu,\n" "předpokládá se jeho hodnota 0.\n" -#: utils/info.c:478 +#: utils/info.c:563 #, c-format msgid "" "The argument passed to this tool can't be combined with passing a --cpu " "argument\n" msgstr "Zadaný parametr nemůže být použit zároveň s přepínačem -c nebo --cpu\n" -#: utils/info.c:491 +#: utils/info.c:576 #, c-format msgid "" "You can't specify more than one --cpu parameter and/or\n" @@ -249,17 +275,17 @@ msgstr "" "Nelze zadat více než jeden parametr -c nebo --cpu\n" "anebo více než jeden parametr určující výstup\n" -#: utils/info.c:497 utils/set.c:79 +#: utils/info.c:582 utils/set.c:95 #, c-format msgid "invalid or unknown argument\n" msgstr "neplatný nebo neznámý parametr\n" -#: utils/set.c:34 +#: utils/set.c:36 #, c-format msgid "Usage: cpufreq-set [options]\n" msgstr "Užití: cpufreq-set [přepínače]\n" -#: utils/set.c:36 +#: utils/set.c:38 #, c-format msgid "" " -c CPU, --cpu CPU number of CPU where cpufreq settings shall be " @@ -268,7 +294,7 @@ msgstr "" " -c CPU, --cpu CPU Číslo CPU pro který se má provést nastavení " "cpufreq\n" -#: utils/set.c:37 +#: utils/set.c:39 #, c-format msgid "" " -d FREQ, --min FREQ new minimum CPU frequency the governor may " @@ -277,7 +303,7 @@ msgstr "" " -d FREQ, --min FREQ Nová nejnižší frekvence, kterou může regulátor " "vybrat\n" -#: utils/set.c:38 +#: utils/set.c:40 #, c-format msgid "" " -u FREQ, --max FREQ new maximum CPU frequency the governor may " @@ -286,12 +312,12 @@ msgstr "" " -u FREQ, --max FREQ Nová nejvyšší frekvence, kterou může regulátor " "zvolit\n" -#: utils/set.c:39 +#: utils/set.c:41 #, c-format msgid " -g GOV, --governor GOV new cpufreq governor\n" msgstr " -g GOV, --governors GOV Nový regulátor cpufreq\n" -#: utils/set.c:40 +#: utils/set.c:42 #, c-format msgid "" " -f FREQ, --freq FREQ specific frequency to be set. Requires userspace\n" @@ -303,6 +329,16 @@ msgstr "" #: utils/set.c:44 #, c-format +msgid " -r, --related Switches all hardware-related CPUs\n" +msgstr "" + +#: utils/set.c:45 +#, fuzzy, c-format +msgid " -h, --help Prints out this screen\n" +msgstr " -h, --help Vypíše tuto nápovědu\n" + +#: utils/set.c:47 +#, c-format msgid "" "Notes:\n" "1. Omitting the -c or --cpu argument is equivalent to setting it to zero\n" @@ -322,30 +358,7 @@ msgstr "" " připojením názvu jednotky bez mezery mezi číslem a jednotkou\n" " (FREQ v kHz =^ Hz * 0,001 = ^ MHz * 1000 =^ GHz * 1000000)\n" -#: utils/set.c:251 -#, c-format -msgid "" -"the -f/--freq parameter cannot be combined with -d/--min, -u/--max or\n" -"-g/--governor parameters\n" -msgstr "" -"přepínač -f/--freq nemůže být použit zároveň\n" -"s přepínačem -d/--min, -u/--max nebo -g/--governor\n" - -#: utils/set.c:262 -#, c-format -msgid "" -"At least one parameter out of -f/--freq, -d/--min, -u/--max, and\n" -"-g/--governor must be passed\n" -msgstr "" -"Musí být zadán alespoň jeden přepínač\n" -"-f/--freq, -d/--min, -u/--max nebo -g/--governor\n" - -#: utils/set.c:282 -#, c-format -msgid "wrong, unknown or unhandled CPU?\n" -msgstr "neznámý nebo nepodporovaný CPU?\n" - -#: utils/set.c:306 +#: utils/set.c:69 #, c-format msgid "" "Error setting new values. Common errors:\n" @@ -365,3 +378,26 @@ msgstr "" "- Snažíte se nastavit určitou frekvenci, ale není dostupný\n" " regulátor ‚userspace‘, například protože není nahrán v jádře,\n" " nebo nelze na tomto hardware nastavit určitou frekvenci?\n" + +#: utils/set.c:183 +#, c-format +msgid "wrong, unknown or unhandled CPU?\n" +msgstr "neznámý nebo nepodporovaný CPU?\n" + +#: utils/set.c:336 +#, c-format +msgid "" +"the -f/--freq parameter cannot be combined with -d/--min, -u/--max or\n" +"-g/--governor parameters\n" +msgstr "" +"přepínač -f/--freq nemůže být použit zároveň\n" +"s přepínačem -d/--min, -u/--max nebo -g/--governor\n" + +#: utils/set.c:342 +#, c-format +msgid "" +"At least one parameter out of -f/--freq, -d/--min, -u/--max, and\n" +"-g/--governor must be passed\n" +msgstr "" +"Musí být zadán alespoň jeden přepínač\n" +"-f/--freq, -d/--min, -u/--max nebo -g/--governor\n" diff --git a/po/de.po b/po/de.po index 4c3a2bb..a5970ae 100644 --- a/po/de.po +++ b/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: cpufrequtils 006\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-09 11:53+0200\n" +"POT-Creation-Date: 2010-09-01 01:20+0200\n" "PO-Revision-Date: 2009-08-08 17:18+0100\n" "Last-Translator: \n" "Language-Team: NONE\n" diff --git a/po/fr.po b/po/fr.po index fffdb42..4ebb40b 100644 --- a/po/fr.po +++ b/po/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: cpufrequtils 0.1-pre2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-07-17 11:29+0200\n" +"POT-Creation-Date: 2010-09-01 01:20+0200\n" "PO-Revision-Date: 2004-11-17 15:53+1000\n" "Last-Translator: Bruno Ducrot \n" "Language-Team: NONE\n" @@ -21,64 +21,74 @@ msgstr "" msgid "Couldn't count the number of CPUs (%s: %s), assuming 1\n" msgstr "Dtermination du nombre de CPUs (%s : %s) impossible. Assume 1\n" -#: utils/info.c:67 +#: utils/info.c:68 #, c-format msgid "" " minimum CPU frequency - maximum CPU frequency - governor\n" msgstr "" " Frquence CPU minimale - Frquence CPU maximale - rgulateur\n" -#: utils/info.c:128 +#: utils/info.c:156 #, c-format msgid "couldn't analyze CPU %d as it doesn't seem to be present\n" msgstr "analyse du CPU %d impossible puisqu'il ne semble pas tre prsent\n" -#: utils/info.c:132 +#: utils/info.c:160 #, c-format msgid "analyzing CPU %d:\n" msgstr "analyse du CPU %d :\n" -#: utils/info.c:139 +#: utils/info.c:167 #, c-format msgid " no or unknown cpufreq driver is active on this CPU\n" msgstr " pas de pilotes cpufreq reconnu pour ce CPU\n" -#: utils/info.c:141 +#: utils/info.c:169 #, c-format msgid " driver: %s\n" msgstr " pilote : %s\n" -#: utils/info.c:147 -#, c-format -msgid " CPUs which need to switch frequency at the same time: " +#: utils/info.c:175 +#, fuzzy, c-format +msgid " CPUs which run at the same hardware frequency: " +msgstr " CPUs qui doivent changer de frquences en mme temps : " + +#: utils/info.c:186 +#, fuzzy, c-format +msgid " CPUs which need to have their frequency coordinated by software: " msgstr " CPUs qui doivent changer de frquences en mme temps : " -#: utils/info.c:157 +#: utils/info.c:197 +#, c-format +msgid " maximum transition latency: " +msgstr "" + +#: utils/info.c:203 #, c-format msgid " hardware limits: " msgstr " limitation matrielle : " -#: utils/info.c:166 +#: utils/info.c:212 #, c-format msgid " available frequency steps: " msgstr " plage de frquence : " -#: utils/info.c:179 +#: utils/info.c:225 #, c-format msgid " available cpufreq governors: " msgstr " rgulateurs disponibles : " -#: utils/info.c:190 +#: utils/info.c:236 #, c-format msgid " current policy: frequency should be within " msgstr " tactique actuelle : la frquence doit tre comprise entre " -#: utils/info.c:192 +#: utils/info.c:238 #, c-format msgid " and " msgstr " et " -#: utils/info.c:196 +#: utils/info.c:242 #, c-format msgid "" "The governor \"%s\" may decide which speed to use\n" @@ -87,37 +97,37 @@ msgstr "" "Le rgulateur \"%s\" est libre de choisir la vitesse\n" " dans cette plage de frquences.\n" -#: utils/info.c:203 +#: utils/info.c:249 #, c-format msgid " current CPU frequency is " msgstr " la frquence actuelle de ce CPU est " -#: utils/info.c:206 +#: utils/info.c:252 #, c-format msgid " (asserted by call to hardware)" msgstr " (vrifi par un appel direct du matriel)" -#: utils/info.c:214 +#: utils/info.c:260 #, c-format msgid " cpufreq stats: " msgstr " des statistique concernant cpufreq:" -#: utils/info.c:361 utils/set.c:30 +#: utils/info.c:440 utils/set.c:31 #, c-format msgid "Report errors and bugs to %s, please.\n" msgstr "Veuillez rapportez les erreurs et les bogues %s, s'il vous plait.\n" -#: utils/info.c:365 +#: utils/info.c:444 #, c-format msgid "Usage: cpufreq-info [options]\n" msgstr "Usage : cpufreq-info [options]\n" -#: utils/info.c:366 utils/set.c:35 +#: utils/info.c:445 utils/set.c:37 #, c-format msgid "Options:\n" msgstr "Options :\n" -#: utils/info.c:367 +#: utils/info.c:446 #, c-format msgid "" " -c CPU, --cpu CPU CPU number which information shall be determined " @@ -126,12 +136,12 @@ msgstr "" " -c CPU, --cpu CPU Numro du CPU pour lequel l'information sera " "affiche\n" -#: utils/info.c:368 +#: utils/info.c:447 #, c-format msgid " -e, --debug Prints out debug information\n" msgstr " -e, --debug Afficher les informations de dboguage\n" -#: utils/info.c:369 +#: utils/info.c:448 #, c-format msgid "" " -f, --freq Get frequency the CPU currently runs at, according\n" @@ -140,7 +150,7 @@ msgstr "" " -f, --freq Obtenir la frquence actuelle du CPU selon le point\n" " de vue du coeur du systme de cpufreq *\n" -#: utils/info.c:371 +#: utils/info.c:450 #, c-format msgid "" " -w, --hwfreq Get frequency the CPU currently runs at, by reading\n" @@ -149,7 +159,7 @@ msgstr "" " -w, --hwfreq Obtenir la frquence actuelle du CPU directement par\n" " le matriel (doit tre root) *\n" -#: utils/info.c:373 +#: utils/info.c:452 #, c-format msgid "" " -l, --hwlimits Determine the minimum and maximum CPU frequency " @@ -158,40 +168,57 @@ msgstr "" " -l, --hwlimits Affiche les frquences minimales et maximales du CPU " "*\n" -#: utils/info.c:374 +#: utils/info.c:453 #, c-format msgid " -d, --driver Determines the used cpufreq kernel driver *\n" msgstr " -d, --driver Affiche le pilote cpufreq utilis *\n" -#: utils/info.c:375 +#: utils/info.c:454 #, c-format msgid " -p, --policy Gets the currently used cpufreq policy *\n" msgstr " -p, --policy Affiche la tactique actuelle de cpufreq *\n" -#: utils/info.c:376 +#: utils/info.c:455 #, c-format msgid " -g, --governors Determines available cpufreq governors *\n" msgstr "" " -g, --governors Affiche les rgulateurs disponibles de cpufreq *\n" -#: utils/info.c:377 -#, c-format +#: utils/info.c:456 +#, fuzzy, c-format msgid "" -" -a, --affected-cpus Determines which CPUs can only switch frequency at " -"the\n" -" same time *\n" +" -r, --related-cpus Determines which CPUs run at the same hardware " +"frequency *\n" msgstr "" " -a, --affected-cpus Affiche quels sont les CPUs qui doivent changer de\n" " frquences en mme temps *\n" -#: utils/info.c:379 +#: utils/info.c:457 +#, fuzzy, c-format +msgid "" +" -a, --affected-cpus Determines which CPUs need to have their frequency\n" +" coordinated by software *\n" +msgstr "" +" -a, --affected-cpus Affiche quels sont les CPUs qui doivent changer de\n" +" frquences en mme temps *\n" + +#: utils/info.c:459 #, c-format msgid " -s, --stats Shows cpufreq statistics if available\n" msgstr "" " -s, --stats Indique des statistiques concernant cpufreq, si\n" " disponibles\n" -#: utils/info.c:380 +#: utils/info.c:460 +#, fuzzy, c-format +msgid "" +" -y, --latency Determines the maximum latency on CPU frequency " +"changes *\n" +msgstr "" +" -l, --hwlimits Affiche les frquences minimales et maximales du CPU " +"*\n" + +#: utils/info.c:461 #, c-format msgid "" " -o, --proc Prints out information like provided by the /proc/" @@ -203,21 +230,21 @@ msgstr "" "versions\n" " 2.4 et les anciennes versions 2.6 du noyau\n" -#: utils/info.c:382 -#, c-format +#: utils/info.c:463 +#, fuzzy, c-format msgid "" -" -m, --human human-readable output for the -f, -w and -s " +" -m, --human human-readable output for the -f, -w, -s and -y " "parameters\n" msgstr "" " -m, --human affiche dans un format lisible pour un humain\n" " pour les options -f, -w et -s (MHz, GHz)\n" -#: utils/info.c:383 utils/set.c:42 +#: utils/info.c:464 #, c-format msgid " -h, --help Prints out this screen\n" msgstr " -h, --help affiche l'aide-mmoire\n" -#: utils/info.c:386 +#: utils/info.c:467 #, c-format msgid "" "If no argument or only the -c, --cpu parameter is given, debug output about\n" @@ -227,21 +254,21 @@ msgstr "" "argument, ou bien si seulement l'argument -c (--cpu) est donn, afin de\n" "faciliter les rapports de bogues par exemple\n" -#: utils/info.c:388 +#: utils/info.c:469 #, c-format msgid "" "For the arguments marked with *, omitting the -c or --cpu argument is\n" "equivalent to setting it to zero\n" msgstr "Les arguments avec un * utiliseront le CPU 0 si -c (--cpu) est omis\n" -#: utils/info.c:478 +#: utils/info.c:563 #, c-format msgid "" "The argument passed to this tool can't be combined with passing a --cpu " "argument\n" msgstr "Cette option est incompatible avec --cpu\n" -#: utils/info.c:491 +#: utils/info.c:576 #, c-format msgid "" "You can't specify more than one --cpu parameter and/or\n" @@ -250,17 +277,17 @@ msgstr "" "On ne peut indiquer plus d'un paramtre --cpu, tout comme l'on ne peut\n" "spcifier plus d'un argument de formatage\n" -#: utils/info.c:497 utils/set.c:79 +#: utils/info.c:582 utils/set.c:95 #, c-format msgid "invalid or unknown argument\n" msgstr "option invalide\n" -#: utils/set.c:34 +#: utils/set.c:36 #, c-format msgid "Usage: cpufreq-set [options]\n" msgstr "Usage : cpufreq-set [options]\n" -#: utils/set.c:36 +#: utils/set.c:38 #, c-format msgid "" " -c CPU, --cpu CPU number of CPU where cpufreq settings shall be " @@ -269,7 +296,7 @@ msgstr "" " -c CPU, --cpu CPU numro du CPU prendre en compte pour les\n" " changements\n" -#: utils/set.c:37 +#: utils/set.c:39 #, c-format msgid "" " -d FREQ, --min FREQ new minimum CPU frequency the governor may " @@ -278,7 +305,7 @@ msgstr "" " -d FREQ, --min FREQ nouvelle frquence minimale du CPU utiliser\n" " par le rgulateur\n" -#: utils/set.c:38 +#: utils/set.c:40 #, c-format msgid "" " -u FREQ, --max FREQ new maximum CPU frequency the governor may " @@ -287,12 +314,12 @@ msgstr "" " -u FREQ, --max FREQ nouvelle frquence maximale du CPU utiliser\n" " par le rgulateur\n" -#: utils/set.c:39 +#: utils/set.c:41 #, c-format msgid " -g GOV, --governor GOV new cpufreq governor\n" msgstr " -g GOV, --governor GOV active le rgulateur GOV\n" -#: utils/set.c:40 +#: utils/set.c:42 #, c-format msgid "" " -f FREQ, --freq FREQ specific frequency to be set. Requires userspace\n" @@ -304,6 +331,16 @@ msgstr "" #: utils/set.c:44 #, c-format +msgid " -r, --related Switches all hardware-related CPUs\n" +msgstr "" + +#: utils/set.c:45 +#, fuzzy, c-format +msgid " -h, --help Prints out this screen\n" +msgstr " -h, --help affiche l'aide-mmoire\n" + +#: utils/set.c:47 +#, c-format msgid "" "Notes:\n" "1. Omitting the -c or --cpu argument is equivalent to setting it to zero\n" @@ -322,30 +359,7 @@ msgstr "" " les valeurs par hz, kHz (par dfaut), MHz, GHz ou THz\n" " (kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).\n" -#: utils/set.c:251 -#, c-format -msgid "" -"the -f/--freq parameter cannot be combined with -d/--min, -u/--max or\n" -"-g/--governor parameters\n" -msgstr "" -"l'option -f/--freq est incompatible avec les options -d/--min, -u/--max et\n" -"-g/--governor\n" - -#: utils/set.c:262 -#, c-format -msgid "" -"At least one parameter out of -f/--freq, -d/--min, -u/--max, and\n" -"-g/--governor must be passed\n" -msgstr "" -"L'un de ces paramtres est obligatoire : -f/--freq, -d/--min, -u/--max et\n" -"-g/--governor\n" - -#: utils/set.c:282 -#, c-format -msgid "wrong, unknown or unhandled CPU?\n" -msgstr "CPU inconnu ou non support ?\n" - -#: utils/set.c:306 +#: utils/set.c:69 #, c-format msgid "" "Error setting new values. Common errors:\n" @@ -368,3 +382,26 @@ msgstr "" "- vous voulez utiliser l'option -f/--freq, mais le rgulateur userspace \n" " n'est pas disponible, par exemple parce que le matriel ne le supporte\n" " pas, ou bien n'est tout simplement pas charg.\n" + +#: utils/set.c:183 +#, c-format +msgid "wrong, unknown or unhandled CPU?\n" +msgstr "CPU inconnu ou non support ?\n" + +#: utils/set.c:336 +#, c-format +msgid "" +"the -f/--freq parameter cannot be combined with -d/--min, -u/--max or\n" +"-g/--governor parameters\n" +msgstr "" +"l'option -f/--freq est incompatible avec les options -d/--min, -u/--max et\n" +"-g/--governor\n" + +#: utils/set.c:342 +#, c-format +msgid "" +"At least one parameter out of -f/--freq, -d/--min, -u/--max, and\n" +"-g/--governor must be passed\n" +msgstr "" +"L'un de ces paramtres est obligatoire : -f/--freq, -d/--min, -u/--max et\n" +"-g/--governor\n" diff --git a/po/it.po b/po/it.po index 36f09ed..4e9aa83 100644 --- a/po/it.po +++ b/po/it.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: cpufrequtils 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-09 11:53+0200\n" +"POT-Creation-Date: 2010-09-01 01:20+0200\n" "PO-Revision-Date: 2009-08-15 12:00+0900\n" "Last-Translator: Mattia Dongili \n" "Language-Team: NONE\n" diff --git a/po/pt.po b/po/pt.po index 75cca0d..2baf1d5 100644 --- a/po/pt.po +++ b/po/pt.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: cpufrequtils 004\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-09 11:53+0200\n" +"POT-Creation-Date: 2010-09-01 01:20+0200\n" "PO-Revision-Date: 2008-06-14 22:16-0400\n" "Last-Translator: Claudio Eduardo \n" "MIME-Version: 1.0\n" -- 1.7.10 debian/patches/0008-cpufrequtils-make-NLS-optional.patch0000644000000000000000000000472211751416657020163 0ustar From a2f0c39d5f21596bb9f5223e895c0ff210b265d0 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 13 Aug 2011 23:02:20 -0400 Subject: [PATCH 8/8] cpufrequtils: make NLS optional https://bugs.gentoo.org/205576 Signed-off-by: Matt Turner Signed-off-by: Dominik Brodowski --- Makefile | 1 + utils/info.c | 10 +++++++++- utils/set.c | 10 +++++++++- 3 files changed, 19 insertions(+), 2 deletions(-) Index: cpufrequtils/Makefile =================================================================== --- cpufrequtils.orig/Makefile 2012-05-06 13:30:41.865796974 +0900 +++ cpufrequtils/Makefile 2012-05-06 13:35:13.994099919 +0900 @@ -140,6 +140,7 @@ ifeq ($(strip $(NLS)),true) INSTALL_NLS += install-gmo COMPILE_NLS += update-gmo + CPPFLAGS += -DNLS endif ifeq ($(strip $(CPUFRQ_BENCH)),true) Index: cpufrequtils/utils/info.c =================================================================== --- cpufrequtils.orig/utils/info.c 2012-05-06 11:56:20.287842838 +0900 +++ cpufrequtils/utils/info.c 2012-05-06 13:35:13.994099919 +0900 @@ -10,7 +10,6 @@ #include #include #include -#include #include #include @@ -18,9 +17,18 @@ #include "cpufreq.h" +#ifdef NLS +#include #define _(String) gettext (String) #define gettext_noop(String) String #define N_(String) gettext_noop (String) +#else +#define gettext_noop(String) String +#define _(String) gettext_noop (String) +#define gettext(String) gettext_noop (String) +#define N_(String) gettext_noop (String) +#define textdomain(String) +#endif #define LINE_LEN 10 Index: cpufrequtils/utils/set.c =================================================================== --- cpufrequtils.orig/utils/set.c 2012-05-06 11:56:20.287842838 +0900 +++ cpufrequtils/utils/set.c 2012-05-06 13:35:13.994099919 +0900 @@ -12,16 +12,24 @@ #include #include #include -#include #include #include #include "cpufreq.h" +#ifdef NLS +#include #define _(String) gettext(String) #define gettext_noop(String) String #define N_(String) gettext_noop(String) +#else +#define gettext_noop(String) String +#define _(String) gettext_noop (String) +#define gettext(String) gettext_noop (String) +#define N_(String) gettext_noop (String) +#define textdomain(String) +#endif #define NORM_FREQ_LEN 32 debian/patches/10_build_static_lib.patch0000644000000000000000000000162611751416657015454 0ustar Build the static library archive even without libtool Index: cpufrequtils/Makefile =================================================================== --- cpufrequtils.orig/Makefile 2012-05-06 14:54:58.573929641 +0900 +++ cpufrequtils/Makefile 2012-05-06 14:55:30.049333295 +0900 @@ -193,7 +193,10 @@ @ln -sf $@ libcpufreq.so @ln -sf $@ libcpufreq.so.$(LIB_MIN) -libcpufreq: libcpufreq.so.$(LIB_MAJ) +libcpufreq.a: $(LIB_OBJS) + $(QUIET) $(AR) rcs $@ $(LIB_OBJS) + +libcpufreq: libcpufreq.so.$(LIB_MAJ) libcpufreq.a cpufreq-%: libcpufreq.so.$(LIB_MAJ) $(UTIL_SRC) $(QUIET) $(CC) $(CPPFLAGS) $(CFLAGS) -I. -I./lib/ -c -o utils/$@.o utils/$*.c @@ -237,6 +240,7 @@ install-lib: $(INSTALL) -d $(DESTDIR)${libdir} $(CP) libcpufreq.so* $(DESTDIR)${libdir}/ + $(CP) libcpufreq.a $(DESTDIR)${libdir}/ $(INSTALL) -d $(DESTDIR)${includedir} $(INSTALL_DATA) lib/cpufreq.h $(DESTDIR)${includedir}/cpufreq.h debian/patches/0007-po-add-missing-word-in-DE.patch0000644000000000000000000000141711751416657016720 0ustar From 26ce99ab92ae9f1f367a58b7858a96f4e1e6814c Mon Sep 17 00:00:00 2001 From: Dominik Brodowski Date: Fri, 29 Jul 2011 19:40:46 +0200 Subject: [PATCH 7/8] po: add missing word in DE Reported-by: Michael Basse Reported-by: Signed-off-by: Dominik Brodowski --- po/de.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po/de.po b/po/de.po index 1da1f2b..ee793f5 100644 --- a/po/de.po +++ b/po/de.po @@ -304,7 +304,7 @@ msgid "" "modified\n" msgstr "" " -c CPU, --cpu CPU Nummer der CPU, deren Taktfrequenz-Einstellung\n" -" werden soll\n" +" verndert werden soll\n" #: utils/set.c:39 #, c-format -- 1.7.10 debian/cpufrequtils.README.Debian0000644000000000000000000000164411751416657013776 0ustar README for Debian package of Cpufrequtils ========================================= This package provides very useful tools to get information about the CPUFreq Linux kernel features (with cpufreq-info) and set values for it (with cpufreq-set). This package provides the ability to set a chosen governor (different from the one configured at kernel compile time) at boot time by setting the governor name in /etc/default/cpufrequtils. By editing that file you can also set limits to which the CPU must run. Additionally loadcpufreq is a boot-time script that tries to detect and load the most appropriate cpu driver. You can override its behaviour by creating a /etc/default/loadcpufreq file. See the examples/ directory for sample configurations. This package can be preseeded using a hidden debconf question. This is the preseed value to use: cpufrequtils cpufrequtils/enable boolean true debian/watch0000644000000000000000000000013211751416657010230 0ustar version=3 http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils-(.*)\.tar\.gz debian/changelog0000644000000000000000000002451211751416657011061 0ustar cpufrequtils (008-1) unstable; urgency=low * Package the last available upstream vesion of cpufrequtils. Anything after this should really be cpupowerutils (closes: 639454). * Include all the work also pending the in the git repository as patches on top of version 008. * Upstream fixed po.DE (closes: #633307). * Enable static library building as upstream disabled it. * Load powernow-k8 for AMD Bulldozer (21) and Llano (18) (closes: #654957). * Do not update po files upon building (closes: #651415). -- Mattia Dongili Sun, 06 May 2012 08:23:44 +0900 cpufrequtils (007-2) unstable; urgency=low * Bulk load only helper modules. Linux 3.0 shuffled cpufreq modules locations a bit and now cpu drivers and helpers are in the same directory (closes: #636141). * Use modprobe -b in loadcpufreq to honour blacklisted modules (closes: #592488). * Load powernow-k8 for AMD family 20 (i.e. AMD E-350 cpus) (closes: #627811). * Stop changing printk levels when loading cpufreq modules (closes: #624575 and closes: #596235). -- Mattia Dongili Wed, 03 Aug 2011 18:13:41 +0900 cpufrequtils (007-1) unstable; urgency=low * New upstream version * Load acpi_cpufreq instead of e_powersaver on VIA C7s (closes: #566214 and closes: #579091) * loadcpufreq should start after syslog (closes: #578639) * Remove stop symlinks in runlevel 0 1 6 on upgrades (closes: #498717) * Start loadcpufreq on install (closes: #544098) * Add a homepage link in the control file for cpufrequtils (closes: #579089) * Remove patches included upstream, refresh the rest * Switch to dpkg-source 3.0 (quilt) format * Bump Standards-Version and check for file existence before including it in loadcpufreq (lintian warnings) -- Mattia Dongili Sat, 15 May 2010 20:04:34 +0900 cpufrequtils (006-2) unstable; urgency=low * Grrr! fix the stop scripts removal condition -- Mattia Dongili Sat, 21 Nov 2009 23:44:09 +0900 cpufrequtils (006-1) unstable; urgency=low * New upstream version * Fix the errors in the extended description (closes: #543679). * Re-generate the symbols file (closes: #552344). * Use upper-case for the CPU aronym (closes: #493174). * Remove the unused stop links in /etc/rc[016].d (closes: 498717) * Bump Standards-Version to latest (3.8.3). * Add cpufreq-aperf manpage and pull quilt as a dependency to add patches. * Pull a fix from the upstream repository to fix reading of /proc/stat in cpufreq-aperf (6657831200419d7509edcc04434d03b994c86adb). -- Mattia Dongili Fri, 20 Nov 2009 20:24:47 +0900 cpufrequtils (005-1) unstable; urgency=low * New upstream version * Always load acpi-cpufreq on Intel CPUs with the est flag (Closes: #502431) * Load the powenow-k8 module for AMD family 17, Laszlo Kajan (Closes: 523839) * Removed libsysfs dependency, not needed anymore -- Mattia Dongili Sun, 26 Apr 2009 15:15:11 +0900 cpufrequtils (004-2) unstable; urgency=low * Load powernow-k8 for Phenom AMD CPUs (Closes: #491299) -- Mattia Dongili Sat, 19 Jul 2008 15:10:07 +0900 cpufrequtils (004-1) unstable; urgency=low * New upstream version * Ack previous NMUs (Closes: #470062) (Closes: #464636) (Closes: #468483) (Closes: #468655) * removed dependency on libsysfs as the upstream code doesn't need it anymore -- Mattia Dongili Wed, 16 Jul 2008 20:54:15 +0900 cpufrequtils (002-7.2) unstable; urgency=low * Non-maintainer upload with consent from Mattia Dongili. * Fix typo in call to dh_installinit (Closes: #470062) -- Petter Reinholdtsen Sat, 8 Mar 2008 23:32:26 +0100 cpufrequtils (002-7.1) unstable; urgency=low * Non-maintainer upload with consent from Mattia Dongili. * Fix bashism in init.d/loadcpufreq (Closes: #464636) * Make sure update-rc.d is called in dependency order to work with insserv. Depend on debhelper >= 6 for this to work properly (Closes: #468483) * Correct LSB dependnecy information (Closes: #468655) -- Petter Reinholdtsen Sat, 8 Mar 2008 11:44:08 +0100 cpufrequtils (002-7) unstable; urgency=low * Set ENABLE=true by default in loadcpufreq.init (Closes: #457753) * use /proc/stat to get the list of cpus for which we need to set the default governor/limits at boot in cpufrequtils.init (Closes: #457931) -- Mattia Dongili Sun, 30 Dec 2007 11:39:18 +0900 cpufrequtils (002-6) unstable; urgency=low * in loadcpufreq.init: - Support VIA C7 (model_id 10) (Closes: #429269) - Redirect to stderr correclty (Closes: #431690) - Only check for sysfs file existence as we don't know exactly which governors are really available (Closes: 431922) - redirect stderr on modprobe and say that no module has been loaded if that is the case, patch from Kel Modderman (Closes: #428248) * set policy earlier to avoid overriding policy daemons (Closes: #433202) * use cpufreq-info to determine the available CPUs, patch from Kel Modderman (Closes: #449307) * document ordering of init.d scripts in LSB header, patch from Petter Reinholdtsen (Closes: #451482) * handle DEB_BUILD_OPTIONS=nostrip in debian/rules (Closes: #436673) * allow disabling and/or overriding loadcpufreq (Closes: #440915) * clarify the package description stating this package also enable active cpu control at boot time (Closes: #433203) * bump Standards-Version to 3.7.3 * unignore $(MAKE) clean errors as it actually should never fail in normal conditions for this package (lintian warning) * describe the usage of /etc/default/loadcpufreq in README.Debian -- Mattia Dongili Mon, 24 Dec 2007 14:15:47 +0900 cpufrequtils (002-5) unstable; urgency=low * fix loadcpufreq script to avoid using laptop-detect as the result of its invocation was not used (Closes: #428172). * output the name of the driver used at startup. -- Mattia Dongili Sun, 10 Jun 2007 11:30:31 +0900 cpufrequtils (002-4) unstable; urgency=low * Enable by default if cpufreq kernel module is loaded thanks to Peter Reinholdtsen for the base code/idea (Closes: #426138) -- Mattia Dongili Thu, 31 May 2007 00:29:39 +0900 cpufrequtils (002-3) unstable; urgency=low * Acknowledge NMUs (Closes: #412184) (Closes: #423991) * Fix typo in loadcpufreq (Closes: #426067) * Add a sample /etc/default/cpufrequtils for the user reference. -- Mattia Dongili Sat, 26 May 2007 10:55:52 +0900 cpufrequtils (002-2.2) unstable; urgency=low * Non-maintainer upload with maintainers approval. * Correct debconf value name used in previous changelog. The preseed template name is cpufrequtils/enable, not cpufrequtils/active-on-boot. * Add a small section in README.Debian on how to use it. -- Petter Reinholdtsen Fri, 25 May 2007 15:43:32 +0200 cpufrequtils (002-2.1) unstable; urgency=low * Non-maintainer upload with maintainers approval. * Add init.d/loadcpufreq to detect and load the needed kernel modules. Based on code from powernowd in Ubuntu, combined into one script and slightly modified to prefer acpi-cpufreq over speedstep-centrino with kernels 2.6.20->. (Closes: #423991) * Improve wording in README.Debian. Based on suggestion from Pete Boyd. (Closes: #412184) * Make init.d script accept the same speed values in default/cpufrequtils as cpufreq-set. Patch from Bernd Feige. (Closes: #392572) * Move default values for init.d/cpufrequtils into the script, and drop /etc/default/cpufrequtils as a conffile to ease autoconfiguration and upgrades when the default values changes. * Add hidden boolean debconf value cpufrequtils/enable to enable the ondemand governor during installation. Add lintian overrides to ignore lintian warnings about hidden debconf questions. * Add provides line to the LSB header in init.d/cpufrequtils to keep lintian and insserv happy. * Remove runlevels from the LSB header default-stop, as the init.d script do not stop anything. -- Petter Reinholdtsen Fri, 25 May 2007 14:52:20 +0200 cpufrequtils (002-2) unstable; urgency=low * Be Sarge's sed compliant, thanks to Peter Palfrader. (Closes: #378482) -- Mattia Dongili Fri, 11 Aug 2006 13:34:09 +0200 cpufrequtils (002-1) unstable; urgency=low * New upstream release. * Set cpufreq values for all available cpus. (Closes: #364547) * Bump Standards-Version to latest (3.7.2). -- Mattia Dongili Thu, 01 Jun 2006 20:05:06 +0200 cpufrequtils (001-2) unstable; urgency=low * Fix libcpufreq.la braindamaged rpath. -- Mattia Dongili Sun, 09 Apr 2006 09:31:01 +0200 cpufrequtils (001-1) unstable; urgency=low * New upstream release. * Fix orthographical error in README.Debian (closes: #348549). * Fix lack of newline on an error message (closes: #352601). -- Mattia Dongili Mon, 27 Mar 2006 22:04:37 +0200 cpufrequtils (0.4-2) unstable; urgency=low * Build against libsysfs2 (closes: #347630). * Fix wording in README.Debian (closes: #348549). -- Mattia Dongili Sun, 12 Feb 2006 14:09:49 +0100 cpufrequtils (0.4-1) unstable; urgency=low * New upstream release. * changed '==' to '=' to make dash happy (and the init script POSIX compliant) (closes: #323429). * Upstream applied the po correction (closes: #314134). -- Mattia Dongili Tue, 20 Dec 2005 21:47:38 +0100 cpufrequtils (0.3-2) unstable; urgency=low * Added init and default scripts to allow the user set a governor on boot (closes: #311604). -- Mattia Dongili Sat, 02 Jul 2005 00:27:34 +0200 cpufrequtils (0.3-1) unstable; urgency=low * New upstream release. -- Mattia Dongili Tue, 10 May 2005 19:52:14 +0200 cpufrequtils (0.2-1) unstable; urgency=low * New upstream release. * Changed maintainer's address to the @d.o one. -- Mattia Dongili Sun, 20 Mar 2005 12:03:39 +0100 cpufrequtils (0.1-1) unstable; urgency=low * Initial Release. (closes: #278767) -- Mattia Dongili (ma.d.) Sun, 28 Nov 2004 17:26:30 +0100