Re: checkpatch complaint

From: Joe Perches
Date: Wed Feb 08 2012 - 18:42:21 EST


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.

I tried:

$ cat cp.c
#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)

$ ./scripts/checkpatch.pl -f cp.c
total: 0 errors, 0 warnings, 5 lines checked

cp.c has no obvious style problems and is ready for submission.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/