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 <[email protected]>
> ---
>  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;
> 

Reply via email to