Code

Changed `cpuinfo' -> `scaling' in the manpage and another place in the plugin I had...
[collectd.git] / src / cpufreq.c
index 92f1cc5824dc905ebc835e90f2f54d013e9c36d7..22877b4d173107209970e1e7f9026669acdb4cb0 100644 (file)
 
 #define MODULE_NAME "cpufreq"
 
+#if defined(KERNEL_LINUX)
+# define CPUFREQ_HAVE_READ 1
+#else
+# define CPUFREQ_HAVE_READ 0
+#endif
+
 static char *cpufreq_file = "cpufreq-%s.rrd";
 
 static char *ds_def[] =
@@ -51,7 +57,7 @@ static void cpufreq_init (void)
 
        while (1)
        {
-               status = snprintf (filename, BUFSIZE, "/sys/devices/system/cpu/cpu%d/cpufreq/cpuinfo_cur_freq", num_cpu);
+               status = snprintf (filename, BUFSIZE, "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_cur_freq", num_cpu);
                if (status < 1 || status >= BUFSIZE)
                        break;
 
@@ -79,6 +85,7 @@ static void cpufreq_write (char *host, char *inst, char *val)
        rrd_update_file (host, file, val, ds_def, ds_num);
 }
 
+#if CPUFREQ_HAVE_READ
 static void cpufreq_submit (int cpu_num, unsigned long long val)
 {
        char buf[BUFSIZE];
@@ -103,7 +110,7 @@ static void cpufreq_read (void)
 
        for (i = 0; i < num_cpu; i++)
        {
-               status = snprintf (filename, BUFSIZE, "/sys/devices/system/cpu/cpu%d/cpufreq/cpuinfo_cur_freq", i);
+               status = snprintf (filename, BUFSIZE, "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_cur_freq", i);
                if (status < 1 || status >= BUFSIZE)
                        return;
 
@@ -131,6 +138,9 @@ static void cpufreq_read (void)
 
        return;
 }
+#else
+#define cpufreq_read NULL
+#endif
 #undef BUFSIZE
 
 void module_register (void)