hwmon: (coretemp) Fix compile error if CONFIG_SMP is not defined
authorGuenter Roeck <guenter.roeck@ericsson.com>
Mon, 23 May 2011 19:06:41 +0000 (12:06 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 23 May 2011 18:59:08 +0000 (11:59 -0700)
cpu_sibling_mask() is not defined unless CONFIG_SMP is defined, so it
must not be used directly in the code without ifdef protection.

To solve the problem and avoid ifdefs in the code, define
for_each_sibling() and use it instead.

Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Durgadoss R <durgadoss.r@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/hwmon/coretemp.c

index 5c7cd60..a00245e 100644 (file)
 #define TO_PHYS_ID(cpu)                cpu_data(cpu).phys_proc_id
 #define TO_CORE_ID(cpu)                cpu_data(cpu).cpu_core_id
 #define TO_ATTR_NO(cpu)                (TO_CORE_ID(cpu) + BASE_SYSFS_ATTR_NO)
+#define for_each_sibling(i, cpu)       for_each_cpu(i, cpu_sibling_mask(cpu))
 #else
 #define TO_PHYS_ID(cpu)                (cpu)
 #define TO_CORE_ID(cpu)                (cpu)
 #define TO_ATTR_NO(cpu)                (cpu)
+#define for_each_sibling(i, cpu)       for (i = 0; false; )
 #endif
 
 /*
@@ -762,7 +764,7 @@ static void __cpuinit put_core_offline(unsigned int cpu)
                coretemp_remove_core(pdata, &pdev->dev, indx);
 
        /* Online the HT version of this core, if any */
-       for_each_cpu(i, cpu_sibling_mask(cpu)) {
+       for_each_sibling(i, cpu) {
                if (i != cpu) {
                        get_core_online(i);
                        break;