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

Alexander Lobakin alexandr.lobakin at intel.com
Mon Mar 21 11:54:11 UTC 2022


From: Tony Nguyen <anthony.l.nguyen at intel.com>
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 at vivo.com>
> 
> 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


More information about the Intel-wired-lan mailing list