Commit 9a1aa642 authored by Zihuan Zhang's avatar Zihuan Zhang Committed by Rafael J. Wysocki
Browse files

cpufreq: Replace pointer subtraction with iteration macro



The cpufreq documentation suggests avoiding direct pointer subtraction
when working with entries in driver_freq_table, as it is relatively
costly. Instead, the recommended approach is to use the provided
iteration macros, like cpufreq_for_each_valid_entry_idx().

Use cpufreq_for_each_entry_idx() instead of pointer subtraction in
cpufreq_frequency_table_cpuinfo() which improves code clarity and
follows the established cpufreq coding style.

While at it, remove redundant local variable initialization from
cpufreq_table_index_unsorted().

No functional change intended.

Signed-off-by: default avatarZihuan Zhang <zhangzihuan@kylinos.cn>
Link: https://patch.msgid.link/20250923075553.45532-1-zhangzihuan@kylinos.cn


[ rjw: Subject tweak, changelog edits, local variable definition tweak ]
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 02d09026
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -33,16 +33,16 @@ int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy)
	struct cpufreq_frequency_table *pos, *table = policy->freq_table;
	unsigned int min_freq = ~0;
	unsigned int max_freq = 0;
	unsigned int freq;
	unsigned int freq, i;

	cpufreq_for_each_valid_entry(pos, table) {
	cpufreq_for_each_valid_entry_idx(pos, table, i) {
		freq = pos->frequency;

		if ((!cpufreq_boost_enabled() || !policy->boost_enabled)
		    && (pos->flags & CPUFREQ_BOOST_FREQ))
			continue;

		pr_debug("table entry %u: %u kHz\n", (int)(pos - table), freq);
		pr_debug("table entry %u: %u kHz\n", i, freq);
		if (freq < min_freq)
			min_freq = freq;
		if (freq > max_freq)
@@ -126,7 +126,7 @@ int cpufreq_table_index_unsorted(struct cpufreq_policy *policy,
	};
	struct cpufreq_frequency_table *pos;
	struct cpufreq_frequency_table *table = policy->freq_table;
	unsigned int freq, diff, i = 0;
	unsigned int freq, diff, i;
	int index;

	pr_debug("request for target %u kHz (relation: %u) for cpu %u\n",