On Tue, 17 May 2022 09:51:31 +0200 Johannes Berg wrote: > On Mon, 2022-05-16 at 14:56 -0700, Jakub Kicinski wrote: > > > > +#if IS_ENABLED(CONFIG_WIRELESS) > > struct wireless_dev *ieee80211_ptr; > > +#endif > > Technically, you should be able to use CONFIG_CFG80211 here, but in > practice I'd really hope nobody enables WIRELESS without CFG80211 :) ack > > +++ b/include/net/cfg80211.h > > @@ -8004,10 +8004,7 @@ int cfg80211_register_netdevice(struct net_device *dev); > > * > > * Requires the RTNL and wiphy mutex to be held. > > */ > > -static inline void cfg80211_unregister_netdevice(struct net_device *dev) > > -{ > > - cfg80211_unregister_wdev(dev->ieee80211_ptr); > > -} > > +void cfg80211_unregister_netdevice(struct net_device *dev); > > Exported functions aren't free either - I think in this case I'd > (slightly) prefer the extra ifdef. fine > Anyway, we can do this, but I also like Florian's suggestion about the > union, and sent an attempt at a disambiguation patch there. Would you be willing to do that as a follow up? Are you talking about wifi only or all the proto pointers? As a netdev maintainer I'd like to reduce the divergence in whether the proto pointers are ifdef'd or not.