On Wed, 2010-03-17 at 09:05 -0700, Joe Perches wrote: > > 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, > > ... > > orinoco uses one more macro indirection which seems reasonable > > Maybe this define should be moved to wireless.h > > #define STD_IW_HANDLER(id, func) \ > [IW_IOCTL_IDX(id)] = (iw_handler) func > > the line continued macro probably avoids checkpatch warnings too... > > orinoco use: > > static const iw_handler orinoco_handler[] = { > STD_IW_HANDLER(SIOCSIWCOMMIT, orinoco_ioctl_commit), > STD_IW_HANDLER(SIOCGIWNAME, cfg80211_wext_giwname), > > Here's a suggested patch: > > Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> > --- > diff --git a/include/linux/wireless.h b/include/linux/wireless.h > index 5b4c6c7..ad9f8d5 100644 > --- a/include/linux/wireless.h > +++ b/include/linux/wireless.h > @@ -346,6 +346,8 @@ > #define SIOCIWFIRST 0x8B00 > #define SIOCIWLAST SIOCIWLASTPRIV /* 0x8BFF */ > #define IW_IOCTL_IDX(cmd) ((cmd) - SIOCIWFIRST) > +#define STD_IW_HANDLER(id, func) \ > + [IW_IOCTL_IDX(id)] = (iw_handler) func Err, who still cares about wireless extensions (who isn't working on net/wireless/wext*)? johannes _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel