-
-static void cpufreq_read (void)
-{
-#ifdef KERNEL_LINUX
- int status;
- unsigned long long val;
- int i = 0;
- FILE *fp;
- char filename[BUFSIZE];
- char buffer[16];
-
- for (i = 0; i < num_cpu; i++)
- {
- status = snprintf (filename, BUFSIZE, "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_cur_freq", i);
- if (status < 1 || status >= BUFSIZE)
- return;
-
- if ((fp = fopen (filename, "r")) == NULL)
- {
- syslog (LOG_WARNING, "cpufreq: fopen: %s", strerror (errno));
- return;
- }
-
- if (fgets (buffer, 16, fp) == NULL)
- {
- syslog (LOG_WARNING, "cpufreq: fgets: %s", strerror (errno));
- fclose (fp);
- return;
- }
-
- if (fclose (fp))
- syslog (LOG_WARNING, "cpufreq: fclose: %s", strerror (errno));
-
- /* You're seeing correctly: The file is reporting kHz values.. */
- val = atoll (buffer) * 1000;
-
- cpufreq_submit (i, val);
- }
-#endif /* defined(KERNEL_LINUX) */
-
- return;
-}
-#else
-#define cpufreq_read NULL
-#endif
-#undef BUFSIZE
-
-void module_register (void)
-{
- plugin_register (MODULE_NAME, cpufreq_init, cpufreq_read, cpufreq_write);
-}
-
-#undef MODULE_NAME