cpufreq: intel_pstate: use match_string() helper
authorXie Yisheng <xieyisheng1@huawei.com>
Thu, 31 May 2018 11:11:15 +0000 (19:11 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 2 Jul 2018 09:25:40 +0000 (11:25 +0200)
match_string() returns the index of an array for a matching string,
which can be used instead of open coded variant.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/intel_pstate.c

index ece120d..a5c3684 100644 (file)
@@ -657,21 +657,18 @@ static ssize_t store_energy_performance_preference(
 {
        struct cpudata *cpu_data = all_cpu_data[policy->cpu];
        char str_preference[21];
-       int ret, i = 0;
+       int ret;
 
        ret = sscanf(buf, "%20s", str_preference);
        if (ret != 1)
                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(