On Thu, 2009-06-25 at 21:37 +0100, Dave wrote: > Regarding patch 11 (the internalise one), would it be better to: > * continue to export cfg80211_wext_* for now > * set mac80211s dev->wireless_handler to &cfg80211_wext_handler in > iface.c (via a #define that's NULL if !CONFIG_WEXT) > * specify a release when we expect all drivers, or at least those > anyone cares about, to have converted? > > That removes the WE dependency from mac80211 but allows drivers to > gradually implement cfg80211 support. I originally attempted doing it in > one hit - that sucked, but may have been due to not having a clear idea > of how cfg80211 is supposed to work. Another idea I just had is that we could do everything like my internalise patch, but have an if (!netdev->wireless_handlers) before the assignment. That way, people could still have their own wireless handlers. Additionally, subject to a Kconfig symbol, we could still export the handlers, something like this: config NEED_CFG80211_WEXT_HANDLERS bool #ifdef CONFIG_NEED_... #define EXPORT_WEXT(sym) EXPORT_SYMBOL_GPL(sym) #define __wext_static static inline void cfg80211_assign_wext_handlers(netdev, handlers) { if (!dev->wireless_handlers) dev->wireless_handlers = h; } #else #warn "Having custom wireless handlers is deprecated!!" #define EXPORT_WEXT(sym) #define __wext_static static static inline void cfg80211_assign_wext_handlers(netdev, handlers) { dev->wireless_handlers = h; } #endif or something like that. Then drivers that are in transition could select NEED_... and transition call by call even in the future after we switch to the central model. Is it worth it? I don't know. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part