Re: checkpatch complaint

From: Dan Carpenter
Date: Thu Feb 09 2012 - 05:04:36 EST


On Wed, Feb 08, 2012 at 03:42:14PM -0800, Joe Perches wrote:
> On Wed, 2012-02-08 at 21:51 +0100, Arend van Spriel wrote:
> > checkpatch complains on code below and I must overlook something or
> > checkpatch gives a false negative/positive/whatever:
> >
> > #define IFPTR(usb, idx) ((usb)->actconfig->interface[(idx)])
> > #define IFALTS(usb, idx) (IFPTR((usb), (idx))->altsetting[0])
> > #define IFDESC(usb, idx) IFALTS((usb), (idx)).desc
> > #define IFEPDESC(usb, idx, ep) \
> > (IFALTS((usb), (idx)).endpoint[(ep)]).desc
> >
> > checkpatch errors:
> > ERROR: Macros with complex values should be enclosed in parenthesis
> > #169: FILE: drivers/net/wireless/brcm80211/brcmfmac/usb.c:58:
> > +#define IFDESC(usb, idx) (IFALTS((usb), (idx))).desc
> >
> > ERROR: Macros with complex values should be enclosed in parenthesis
> > #170: FILE: drivers/net/wireless/brcm80211/brcmfmac/usb.c:59:
> > +#define IFEPDESC(usb, idx, ep) ((IFALTS((usb),
> > (idx))).endpoint[(ep)]).desc
> >
> > Any ideas? I tried extra parenthesis around IFALTS but that does not
> > resolve it.
>
> I think the entries should be surround by ()
> I think it's reasonable too.
>

No. That's not reasonable. The other code is:
A) perfectly fine
B) nicer to look at

We already have newbies running checkpatch.pl -f against the kernel
source and sending bogus patches that make the code uglier. I've
tried to fight back against checkpatch patches before where they
make the code worse, but it's just overwhelming. I don't like to
be the bad guy to tell newbies that they are sending bad patches
when actually the Official Kernel Checkpatch tool said they should
send it. We're causing everyone pain for no reason.

regards,
dan carpenter

Attachment: signature.asc
Description: Digital signature