On Mon, Aug 5, 2019 at 11:11 AM Linus Walleij <[email protected]> wrote:
>
> On Sun, Jul 21, 2019 at 2:53 PM Hennie Muller <[email protected]> wrote:
>
> > cpu_to_be16 returns a __be16 value. This does not break anything
> > but does cause sparse to generate unnecessary warnings.
> >
> > Signed-off-by: Hennie Muller <[email protected]>
> (...)
>
> > - gbmsg->val = cpu_to_be16(dir << offset);
> > - gbmsg->mask = cpu_to_be16(0x0001 << offset);
> > + gbmsg->val = (__force u16)cpu_to_be16(dir << offset);
> > + gbmsg->mask = (__force u16)cpu_to_be16(0x0001 << offset);
>
> Ugh I don't understand this.
>
> Arnd: you know this better than me: is this the right thing to do
> to get rid of sparse warnings from the code?
No, the structure should be modified to use __be16 fields instead of u16.
Arnd