Re: checkpatch false positive

From: Richard Kennedy
Date: Wed Mar 17 2010 - 11:41:00 EST


On Wed, 2010-03-17 at 08:25 -0700, Joe Perches wrote:
> On Wed, 2010-03-17 at 11:00 +0000, Richard Kennedy wrote:
> > I'm getting this error from checkpatch which is a false positive AFAICT.
> > I don't see any other way to code this macro so maybe this rule
> > shouldn't apply?.
> >
> > ERROR: space prohibited before open square bracket '['
> > #24: FILE: drivers/staging/wlan-ng/p80211wext.c:1685:
> > +#define IW_IOCTL(x) [(x)-SIOCSIWCOMMIT]
>
> While true that this is a false positive, hiding array indexing
> brackets in a macro doesn't seem a good idea.
>
> Maybe it'd be better to move the brackets to the use?
>
>
err maybe ;)

I copied it from driver/net/wireless/ipw2x00/ipw2200.c

It just reduces typing when initialising the array :-

#define IW_IOCTL(x) [(x)-SIOCSIWCOMMIT]
static iw_handler p80211wext_handlers[] = {
IW_IOCTL(SIOCSIWCOMMIT) = (iw_handler) p80211wext_siwcommit,
...

Oh, having quickly looked at wireless.h, I see there is already a macro
IW_IOCTL_IDX so I guess I should have used that!

would something like this be better?

static iw_handler p80211wext_handlers[] = {
[IW_IOCTL_IDX(SIOCSIWCOMMIT)] = (iw_handler) p80211wext_siwcommit,
...

regards
Richard


--
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/