Commit 2b1987a9 authored by Brian W Hart's avatar Brian W Hart Committed by Rafael J. Wysocki

cpufreq: make table sentinel macros unsigned to match use

Commit 5eeaf1f1 (cpufreq: Fix build error on some platforms that
use cpufreq_for_each_*) moved function cpufreq_next_valid() to a public
header.  Warnings are now generated when objects including that header
are built with -Wsign-compare (as an out-of-tree module might be):

.../include/linux/cpufreq.h: In function ‘cpufreq_next_valid’:
.../include/linux/cpufreq.h:519:27: warning: comparison between signed
and unsigned integer expressions [-Wsign-compare]
  while ((*pos)->frequency != CPUFREQ_TABLE_END)
                           ^
.../include/linux/cpufreq.h:520:25: warning: comparison between signed
and unsigned integer expressions [-Wsign-compare]
   if ((*pos)->frequency != CPUFREQ_ENTRY_INVALID)
                         ^

Constants CPUFREQ_ENTRY_INVALID and CPUFREQ_TABLE_END are signed, but
are used with unsigned member 'frequency' of cpufreq_frequency_table.
Update the macro definitions to be explicitly unsigned to match their
use.

This also corrects potentially wrong behavior of clk_rate_table_iter()
if unsigned long is wider than usigned int.

Fixes: 5eeaf1f1 (cpufreq: Fix build error on some platforms that use cpufreq_for_each_*)
Signed-off-by: default avatarBrian W Hart <hartb@linux.vnet.ibm.com>
Reviewed-by: default avatarSimon Horman <horms+renesas@verge.net.au>
Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 92c14bd9
...@@ -482,8 +482,8 @@ extern struct cpufreq_governor cpufreq_gov_conservative; ...@@ -482,8 +482,8 @@ extern struct cpufreq_governor cpufreq_gov_conservative;
*********************************************************************/ *********************************************************************/
/* Special Values of .frequency field */ /* Special Values of .frequency field */
#define CPUFREQ_ENTRY_INVALID ~0 #define CPUFREQ_ENTRY_INVALID ~0u
#define CPUFREQ_TABLE_END ~1 #define CPUFREQ_TABLE_END ~1u
/* Special Values of .flags field */ /* Special Values of .flags field */
#define CPUFREQ_BOOST_FREQ (1 << 0) #define CPUFREQ_BOOST_FREQ (1 << 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment