On Sun, Jul 21, 2019 at 2:53 PM Hennie Muller <hm@xxxxxxxxxxxxx> 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 <hm@xxxxxxxxxxxxx> (...) > - 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? Yours, Linus Walleij