On 5/27/20 6:02 AM, YueHaibing wrote: > If CONFIG_NEED_MULTIPLE_NODES is n, building fails: > > drivers/hwmon/amd_energy.c: In function ‘amd_energy_read’: > ./include/asm-generic/topology.h:51:36: error: void value not ignored as it ought to be > #define cpumask_of_node(node) ((void)node, cpu_online_mask) > ./include/linux/cpumask.h:618:72: note: in definition of macro ‘cpumask_first_and’ > #define cpumask_first_and(src1p, src2p) cpumask_next_and(-1, (src1p), (src2p)) > ^~~~~ > drivers/hwmon/amd_energy.c:194:6: note: in expansion of macro ‘cpumask_of_node’ > cpumask_of_node > ^~~~~~~~~~~~~~~ > ./include/asm-generic/topology.h:51:46: warning: left-hand operand of comma expression has no effect [-Wunused-value] > #define cpumask_of_node(node) ((void)node, cpu_online_mask) > ^ > ./include/linux/cpumask.h:618:72: note: in definition of macro ‘cpumask_first_and’ > #define cpumask_first_and(src1p, src2p) cpumask_next_and(-1, (src1p), (src2p)) > ^~~~~ > drivers/hwmon/amd_energy.c:194:6: note: in expansion of macro ‘cpumask_of_node’ > cpumask_of_node > ^~~~~~~~~~~~~~~ > > Fixes: 8abee9566b7e ("hwmon: Add amd_energy driver to report energy counters") > Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx> > --- > drivers/hwmon/amd_energy.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/hwmon/amd_energy.c b/drivers/hwmon/amd_energy.c > index bc8b643a37d5..9d5cd3057866 100644 > --- a/drivers/hwmon/amd_energy.c > +++ b/drivers/hwmon/amd_energy.c > @@ -192,7 +192,7 @@ static int amd_energy_read(struct device *dev, > if (channel >= data->nr_cpus) { > cpu = cpumask_first_and(cpu_online_mask, > cpumask_of_node > - (channel - data->nr_cpus)); > + ((channel - data->nr_cpus))); Wrong fix. The correct fix is to fix the macro, not its caller. A patch to fix the macro has been submitted. Guenter > amd_add_delta(data, channel, cpu, val, false); > } else { > cpu = channel; >