Re: [PATCH v3 4/7] staging: vt6655: Replace VNSvOutPortB with iowrite8

From: Dan Carpenter
Date: Tue Apr 12 2022 - 03:46:16 EST


On Tue, Apr 12, 2022 at 08:45:53AM +0200, Philipp Hortmann wrote:
> On 4/12/22 08:37, Dan Carpenter wrote:
> > On Mon, Apr 11, 2022 at 10:49:39PM +0200, Philipp Hortmann wrote:
> > > Replace macro VNSvOutPortB with iowrite8.
> > > The name of macro and the arguments use CamelCase which
> > > is not accepted by checkpatch.pl
> > >
> > > For constants from 0 to below 0x80 the u8 cast was omitted.
> > > For variables which are defined as unsigned char the u8 is omitted.
> > I hate that GCC prints warnings for this. Useless. Horrible. But I
> > understand that GCC does and we haven't figured out how to disable it
> > or who needs to approve that.
> >
> > But even then I still don't understand the casting in this patch.
> >
> > Shouldn't the rule be to do the minimum work arounds to silence GCC?
> > My understand is that the the casting is only needed when you're dealing
> > with a bitwise negated constant. These are macros so the parameters
> > might be constant so basically any bitwise negate gets a cast.
> >
>
> Please send me the compiler flags you are using.
> I was using:
> make "KCFLAGS=-pipe -Wall" -C . M=drivers/staging/vt6655/
> But of course more flags are set.
> I did not see any compiler warnings.

I think I was not clear.

Why are you doing these casts? I do not like any of them, and wish we
could remove them.

My understanding is that if you remove the casts kbuild will complain
and the build will fail on certain architectures. But I have not tried
to compile this. If we can remove all the casting let's do that, but
if we can only remove some then lets do that.

regards,
dan carpenter