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

From: Andy Shevchenko
Date: Wed Nov 30 2022 - 06:38:39 EST


On Wed, Nov 30, 2022 at 01:09:59PM +0200, Mika Westerberg wrote:
> On Wed, Nov 30, 2022 at 12:51:06PM +0200, Andy Shevchenko wrote:
> > On Wed, Nov 30, 2022 at 09:46:16AM +0200, Mika Westerberg wrote:
> > > 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.
> >
> > > 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.
> >
> > Actually, changing types to bitwise ones reduces the sparse noise
> > (I will double check this) without reducing readability.
> > Would it be accepted?
>
> Sure if it makes it more readable and does not add too many lines :)

It replaces types u* by __le*, that's it: -4 +4 LoCs.

--
With Best Regards,
Andy Shevchenko