[PATCH] cpufrequtils: Remove proc compile option and interfaces

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <trenn@xxxxxxx>
CC: linux@xxxxxxxxxxxxxxxxxxxx
CC: cpufreq@xxxxxxxxxxxxxxx
---
 Makefile         |   29 +-------
 lib/cpufreq.c    |   99 ++++--------------------
 lib/interfaces.h |   76 -------------------
 lib/proc.c       |  216 ------------------------------------------------------
 lib/sysfs.h      |   19 +++++
 po/cs.po         |  186 ++++++++++++++++++++++++++++-------------------
 po/de.po         |    2 +-
 po/fr.po         |  187 ++++++++++++++++++++++++++++-------------------
 po/it.po         |    2 +-
 po/pt.po         |    2 +-
 10 files changed, 265 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 <string.h>
 
 #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 <linux@xxxxxxxxxxxxxxxxxxx>
- *
- *  Licensed under the terms of the GNU GPL License version 2.
- */
-
-#include <stdio.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#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..b8a2b69
--- /dev/null
+++ b/lib/sysfs.h
@@ -0,0 +1,19 @@
+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ý <kavol@xxxxxxxxx>\n"
 "Language-Team: Czech <diskuze@xxxxxxxxxxxxx>\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@xxxxxxxxx (Ä?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:  <linux@xxxxxxxxxxxxxxxxxxxx>\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 <ducrot@xxxxxxxxxxxx>\n"
 "Language-Team: NONE\n"
@@ -21,64 +21,74 @@ msgstr ""
 msgid "Couldn't count the number of CPUs (%s: %s), assuming 1\n"
 msgstr "Détermination 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 ""
 "         Fréquence CPU minimale - Fréquence CPU maximale  - régulateur\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 présent\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 fréquences en même 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 fréquences en même 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 matérielle : "
 
-#: utils/info.c:166
+#: utils/info.c:212
 #, c-format
 msgid "  available frequency steps: "
 msgstr "  plage de fréquence : "
 
-#: utils/info.c:179
+#: utils/info.c:225
 #, c-format
 msgid "  available cpufreq governors: "
 msgstr "  régulateurs disponibles : "
 
-#: utils/info.c:190
+#: utils/info.c:236
 #, c-format
 msgid "  current policy: frequency should be within "
 msgstr "  tactique actuelle : la fréquence 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 régulateur \"%s\" est libre de choisir la vitesse\n"
 "                  dans cette plage de fréquences.\n"
 
-#: utils/info.c:203
+#: utils/info.c:249
 #, c-format
 msgid "  current CPU frequency is "
 msgstr "  la fréquence actuelle de ce CPU est "
 
-#: utils/info.c:206
+#: utils/info.c:252
 #, c-format
 msgid " (asserted by call to hardware)"
 msgstr " (vérifié par un appel direct du matériel)"
 
-#: 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    Numéro du CPU pour lequel l'information sera "
 "affichée\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 déboguage\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 fréquence actuelle du CPU selon le point\n"
 "                       de vue du coeur du système 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 fréquence actuelle du CPU directement par\n"
 "                       le matériel (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 fréquences 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 régulateurs 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"
 "                        fréquences en même 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"
+"                        fréquences en même 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 fréquences 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-mémoire\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 paramètre --cpu, tout comme l'on ne peut\n"
 "spécifier 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        numéro 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 fréquence minimale du CPU à utiliser\n"
 "                            par le régulateur\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 fréquence maximale du CPU à utiliser\n"
 "                            par le régulateur\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 régulateur 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-mémoire\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 défaut), 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 paramètres 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 régulateur « userspace »\n"
 "  n'est pas disponible, par exemple parce que le matériel 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 paramètres 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 <malattia@xxxxxxxxx>\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 <claudioeddy@xxxxxxxxx>\n"
 "MIME-Version: 1.0\n"
-- 
1.6.4.2

--
To unsubscribe from this list: send the line "unsubscribe cpufreq" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Devel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Forum]     [Linux SCSI]

  Powered by Linux