Subject: Re: [resend, PATCH net-next v1 2/2] net: thunderbolt: Use separate header data type for the Rx

From: Mika Westerberg <[email-masked]>
Date: Wed, 30 Nov 2022 09:46:16 +0200

On Tue, Nov 29, 2022 at 06:13:59PM +0200, Andy Shevchenko wrote:
> The same data type structure is used for bitwise operations and
> regular ones. It makes sparse unhappy, for example:
> 
>   .../thunderbolt.c:718:23: warning: cast to restricted __le32
> 
>   .../thunderbolt.c:953:23: warning: incorrect type in initializer (different base types)
>   .../thunderbolt.c:953:23:    expected restricted __wsum [usertype] wsum
>   .../thunderbolt.c:953:23:    got restricted __be32 [usertype]
> 
> Split the header to bitwise one and specific for Rx to make sparse
> happy. Assure the layout by involving static_assert() against size
> and offsets of the member of the structures.
> 
> Signed-off-by: Andy Shevchenko <[email-masked]>
> ---
>  drivers/net/thunderbolt.c | 22 +++++++++++++++++++++-
>  1 file changed, 21 insertions(+), 1 deletion(-)

I would much rather keep the humans reading this happy than add 20+
lines just to silence a tool. Unless this of course is some kind of a
real bug.