match_string() returns the index of an array for a matching string,
which can be used intead of open coded variant.

Cc: Srinivas Pandruvada <srinivas.pandruv...@linux.intel.com>
Cc: Len Brown <l...@kernel.org>
Cc: "Rafael J. Wysocki" <r...@rjwysocki.net>
Cc: Viresh Kumar <viresh.ku...@linaro.org>
Cc: linux...@vger.kernel.org
Signed-off-by: Yisheng Xie <xieyishe...@huawei.com>
---
 drivers/cpufreq/intel_pstate.c | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index 17e566af..d701e26 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -645,21 +645,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(
-- 
1.7.12.4

Reply via email to