Re: [PATCH -next] hwmon: (amd_energy) Fix build error

From: Guenter Roeck
Date: Wed May 27 2020 - 09:23:09 EST


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;
>