In some configurations, topology_physical_package_id() is trivially
defined as '-1' for any input, resulting a comparison that is
always true:

drivers/acpi/processor_thermal.c: In function ‘cpufreq_set_cur_state’:
drivers/acpi/processor_thermal.c:137:36: error: self-comparison always 
evaluates to true [-Werror=tautological-compare]

By introducing a temporary variable, we can tell gcc that this is
intentional.

Signed-off-by: Arnd Bergmann <a...@arndb.de>
---
 drivers/acpi/processor_thermal.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/processor_thermal.c b/drivers/acpi/processor_thermal.c
index 59c3a5d1e600..411f3a7f4a7c 100644
--- a/drivers/acpi/processor_thermal.c
+++ b/drivers/acpi/processor_thermal.c
@@ -122,20 +122,22 @@ static int cpufreq_get_cur_state(unsigned int cpu)
 static int cpufreq_set_cur_state(unsigned int cpu, int state)
 {
        int i;
+       int id;
 
        if (!cpu_has_cpufreq(cpu))
                return 0;
 
        reduction_pctg(cpu) = state;
 
+       id = topology_physical_package_id(cpu);
+
        /*
         * Update all the CPUs in the same package because they all
         * contribute to the temperature and often share the same
         * frequency.
         */
        for_each_online_cpu(i) {
-               if (topology_physical_package_id(i) ==
-                   topology_physical_package_id(cpu))
+               if (topology_physical_package_id(i) == id)
                        cpufreq_update_policy(i);
        }
        return 0;
-- 
2.9.0

Reply via email to