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

From: Jiabing Wan
Date: Mon Mar 21 2022 - 08:03:07 EST




On 2022/3/21 19:54, Alexander Lobakin wrote:
From: Tony Nguyen <anthony.l.nguyen@xxxxxxxxx>
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 <wanjiabing@xxxxxxxx>
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