cpufreq/amd-pstate: Use sysfs_match_string() for epp
Subsystems (2)
PATCH 1/1 cpufreq/amd-pstate: Use sysfs_match_string() for epp
Rather than scanning the buffer and manually matching the string use the sysfs macros.
Signed-off-by Mario Limonciello (AMD) <[email protected]>
--- drivers/cpufreq/amd-pstate.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
drivers/cpufreq/amd-pstate.c +1 -6
@@ -1157,15 +1157,10 @@ static ssize_t store_energy_performance_preference( struct cpufreq_policy *policy, const char *buf, size_t count) { struct amd_cpudata *cpudata = policy->driver_data; -char str_preference[21 ];ssize_t ret;u8 epp; - ret =sscanf (buf,"%20s" , str_preference); -if (ret !=1 ) -return -EINVAL ; - - ret =match_string (energy_perf_strings,-1 , str_preference); + ret =sysfs_match_string (energy_perf_strings, buf);if (ret <0 )return -EINVAL ;
Signature · 1 line
2.51.0
Hello Mario,
Quoted 2 lines · Mario Limonciello (AMD)
Rather than scanning the buffer and manually matching the string use the sysfs macros.
This is a nice optimization.
While at it, would it be possible to get rid of the "NULL" entry from the energy_perf_strings array ?
Something like the following in addition to the change in your patch?
--------------x8---------------------------x8----------------------------
drivers/cpufreq/amd-pstate.c +2 -3
@@ -117,8 +117,7 @@ static const char * const energy_perf_strings[] = { [EPP_INDEX_PERFORMANCE] = "performance", [EPP_INDEX_BALANCE_PERFORMANCE] = "balance_performance", [EPP_INDEX_BALANCE_POWERSAVE] = "balance_power", - [EPP_INDEX_POWERSAVE ] ="power" , -NULL + [EPP_INDEX_POWERSAVE ] ="power" };static unsigned int epp_values[] = {
@@ -1180,7 +1179,7 @@ static ssize_t show_energy_performance_available_preferences(return sysfs_emit_at (buf, offset,"%s\n" , energy_perf_strings[EPP_INDEX_PERFORMANCE ]); -while (energy_perf_strings[i] !=NULL ) +for (i =0 ; i <ARRAY_SIZE (energy_perf_strings); i++) offset +=sysfs_emit_at (buf, offset,"%s " , energy_perf_strings[i++]); offset +=sysfs_emit_at (buf, offset,"\n" );
--------------x8---------------------------x8----------------------------
Quoted 30 lines
Signed-off-by Mario Limonciello (AMD) <[email protected]>--- drivers/cpufreq/amd-pstate.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)drivers/cpufreq/amd-pstate.c +1
-6@@ -1157,15 +1157,10 @@ static ssize_t store_energy_performance_preference( struct cpufreq_policy *policy, const char *buf, size_t count) { struct amd_cpudata *cpudata = policy->driver_data; -char str_preference[21 ];ssize_t ret;u8 epp; - ret =sscanf (buf,"%20s" , str_preference); -if (ret !=1 ) -return -EINVAL ; - - ret =match_string (energy_perf_strings,-1 , str_preference); + ret =sysfs_match_string (energy_perf_strings, buf);if (ret <0 )return -EINVAL ;Signature · 1 line
2.51.0
Signature · 2 lines
Thanks and Regards gautham.