|
@@ -657,21 +657,18 @@ static ssize_t store_energy_performance_preference(
|
|
{
|
|
{
|
|
struct cpudata *cpu_data = all_cpu_data[policy->cpu];
|
|
struct cpudata *cpu_data = all_cpu_data[policy->cpu];
|
|
char str_preference[21];
|
|
char str_preference[21];
|
|
- int ret, i = 0;
|
|
|
|
|
|
+ int ret;
|
|
|
|
|
|
ret = sscanf(buf, "%20s", str_preference);
|
|
ret = sscanf(buf, "%20s", str_preference);
|
|
if (ret != 1)
|
|
if (ret != 1)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
- while (energy_perf_strings[i] != NULL) {
|
|
|
|
- if (!strcmp(str_preference, energy_perf_strings[i])) {
|
|
|
|
- intel_pstate_set_energy_pref_index(cpu_data, i);
|
|
|
|
- return count;
|
|
|
|
- }
|
|
|
|
- ++i;
|
|
|
|
- }
|
|
|
|
|
|
+ ret = match_string(energy_perf_strings, -1, str_preference);
|
|
|
|
+ if (ret < 0)
|
|
|
|
+ return ret;
|
|
|
|
|
|
- return -EINVAL;
|
|
|
|
|
|
+ intel_pstate_set_energy_pref_index(cpu_data, ret);
|
|
|
|
+ return count;
|
|
}
|
|
}
|
|
|
|
|
|
static ssize_t show_energy_performance_preference(
|
|
static ssize_t show_energy_performance_preference(
|