parent
bc4383e82f
commit
d17c66d771
File diff suppressed because it is too large
Load Diff
|
@ -21,7 +21,7 @@ main(int argc, char *argv[])
|
|||
fprintf(stderr, "\tfreqset <frequency|governor> <freq-level|governor-name>\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (seteuid(0))
|
||||
{
|
||||
fprintf(stderr, "Unable to assume root privileges\n");
|
||||
|
@ -31,13 +31,13 @@ main(int argc, char *argv[])
|
|||
if (!strcmp(argv[1], "frequency"))
|
||||
{
|
||||
int new_frequency = atoi(argv[2]);
|
||||
int len = 4;
|
||||
int len = 4;
|
||||
if (sysctlbyname("dev.cpu.0.freq", NULL, 0, &new_frequency, &len) == -1)
|
||||
{
|
||||
fprintf(stderr, "Unable to open frequency interface for writing.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
else if (!strcmp(argv[1], "governor"))
|
||||
|
@ -50,20 +50,20 @@ main(int argc, char *argv[])
|
|||
fprintf(stderr, "Unknown command.\n");
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#else
|
||||
if (!strcmp(argv[1], "frequency"))
|
||||
{
|
||||
if (sys_cpu_setall("scaling_setspeed", argv[2]) == 0)
|
||||
if (sys_cpu_setall("scaling_setspeed", argv[2]) == 0)
|
||||
{
|
||||
fprintf(stderr, "Unable to open frequency interface for writing.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
else if (!strcmp(argv[1], "governor"))
|
||||
{
|
||||
if (sys_cpu_setall("scaling_governor", argv[2]) == 0)
|
||||
if (sys_cpu_setall("scaling_governor", argv[2]) == 0)
|
||||
{
|
||||
fprintf(stderr, "Unable to open governor interface for writing.\n");
|
||||
return 1;
|
||||
|
@ -88,22 +88,22 @@ main(int argc, char *argv[])
|
|||
static int
|
||||
sys_cpu_setall(const char *control, const char *value)
|
||||
{
|
||||
int num = 0;
|
||||
char filename[4096];
|
||||
FILE *f;
|
||||
int num = 0;
|
||||
char filename[4096];
|
||||
FILE *f;
|
||||
|
||||
while (1)
|
||||
{
|
||||
snprintf(filename, sizeof(filename), "/sys/devices/system/cpu/cpu%i/cpufreq/%s", num, control);
|
||||
f = fopen(filename, "w");
|
||||
snprintf(filename, sizeof(filename), "/sys/devices/system/cpu/cpu%i/cpufreq/%s", num, control);
|
||||
f = fopen(filename, "w");
|
||||
|
||||
if (!f)
|
||||
{
|
||||
return(num);
|
||||
}
|
||||
fprintf(f, "%s\n", value);
|
||||
fclose(f);
|
||||
num++;
|
||||
if (!f)
|
||||
{
|
||||
return num;
|
||||
}
|
||||
fprintf(f, "%s\n", value);
|
||||
fclose(f);
|
||||
num++;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
@ -119,10 +119,10 @@ sys_cpufreq_set(const char *control, const char *value)
|
|||
|
||||
if (!f)
|
||||
{
|
||||
if (sys_cpu_setall(control, value) > 0)
|
||||
return 1;
|
||||
else
|
||||
return -1;
|
||||
if (sys_cpu_setall(control, value) > 0)
|
||||
return 1;
|
||||
else
|
||||
return -1;
|
||||
}
|
||||
|
||||
fprintf(f, "%s\n", value);
|
||||
|
@ -130,3 +130,4 @@ sys_cpufreq_set(const char *control, const char *value)
|
|||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue