2022-03-21 22:53:59

by Jiabing Wan

[permalink] [raw]
Subject: Re: [Intel-wired-lan] [PATCH] ice: use min() to make code cleaner in ice_gnss



On 2022/3/21 19:54, Alexander Lobakin wrote:
> From: Tony Nguyen <[email protected]>
> Date: Fri, 18 Mar 2022 13:19:26 -0700
>
>> On 3/18/2022 2:46 AM, Wan Jiabing wrote:
> Hey Wan,
>
>>> Fix the following coccicheck warning:
>>> ./drivers/net/ethernet/intel/ice/ice_gnss.c:79:26-27: WARNING opportunity for min()
>>>
>>> Use min() to make code cleaner.
>>>
>>> Signed-off-by: Wan Jiabing <[email protected]>
>> There are build issues with this patch:
>>
>> In file included from ./include/linux/kernel.h:26,
>> from drivers/net/ethernet/intel/ice/ice.h:9,
>> from drivers/net/ethernet/intel/ice/ice_gnss.c:4:
>> drivers/net/ethernet/intel/ice/ice_gnss.c: In function 'ice_gnss_read':
>> ./include/linux/minmax.h:20:35: error: comparison of distinct pointer types lacks a cast [-Werror]
>> 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
>> | ^~
>> ./include/linux/minmax.h:26:18: note: in expansion of macro '__typecheck'
>> 26 | (__typecheck(x, y) && __no_side_effects(x, y))
>> | ^~~~~~~~~~~
>> ./include/linux/minmax.h:36:31: note: in expansion of macro '__safe_cmp'
>> 36 | __builtin_choose_expr(__safe_cmp(x, y), \
>> | ^~~~~~~~~~
>> ./include/linux/minmax.h:45:25: note: in expansion of macro '__careful_cmp'
>> 45 | #define min(x, y) __careful_cmp(x, y, <)
>> | ^~~~~~~~~~~~~
>> drivers/net/ethernet/intel/ice/ice_gnss.c:79:30: note: in expansion of macro 'min'
>> 79 | bytes_read = min(bytes_left, ICE_MAX_I2C_DATA_SIZE);
>> | ^~~
> Use `min_t(typeof(bytes_left), ICE_MAX_I2C_DATA_SIZE)` to avoid
> this. Plain definitions are usually treated as `unsigned long`
> unless there's a suffix (u, ull etc.).
>
>> cc1: all warnings being treated as errors
> Thanks,
> Al

OK, I'll fix it in v2.

Thanks,
Wan Jiabing