mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-04 20:19:47 +08:00 
			
		
		
		
	 2afe38d15c
			
		
	
	
		2afe38d15c
		
	
	
	
	
		
			
			When a fully converted cfg80211 driver needs cfg80211-wext for userspace API purposes, the symbols need not be exported. When other drivers (orinoco/hermes or ipw2200) are enabled, they do need the symbols exported as they use them directly. Make those drivers select a new CFG80211_WEXT_EXPORT Kconfig symbol (instead of just CFG80211_WEXT) and export the functions only if requested - this saves about 1/2k due to the size of EXPORT_SYMBOL() itself. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef __WEXT_COMPAT
 | |
| #define __WEXT_COMPAT
 | |
| 
 | |
| #include <net/iw_handler.h>
 | |
| #include <linux/wireless.h>
 | |
| 
 | |
| #ifdef CONFIG_CFG80211_WEXT_EXPORT
 | |
| #define EXPORT_WEXT_HANDLER(h) EXPORT_SYMBOL_GPL(h)
 | |
| #else
 | |
| #define EXPORT_WEXT_HANDLER(h)
 | |
| #endif /* CONFIG_CFG80211_WEXT_EXPORT */
 | |
| 
 | |
| int cfg80211_ibss_wext_siwfreq(struct net_device *dev,
 | |
| 			       struct iw_request_info *info,
 | |
| 			       struct iw_freq *freq, char *extra);
 | |
| int cfg80211_ibss_wext_giwfreq(struct net_device *dev,
 | |
| 			       struct iw_request_info *info,
 | |
| 			       struct iw_freq *freq, char *extra);
 | |
| int cfg80211_ibss_wext_siwap(struct net_device *dev,
 | |
| 			     struct iw_request_info *info,
 | |
| 			     struct sockaddr *ap_addr, char *extra);
 | |
| int cfg80211_ibss_wext_giwap(struct net_device *dev,
 | |
| 			     struct iw_request_info *info,
 | |
| 			     struct sockaddr *ap_addr, char *extra);
 | |
| int cfg80211_ibss_wext_siwessid(struct net_device *dev,
 | |
| 				struct iw_request_info *info,
 | |
| 				struct iw_point *data, char *ssid);
 | |
| int cfg80211_ibss_wext_giwessid(struct net_device *dev,
 | |
| 				struct iw_request_info *info,
 | |
| 				struct iw_point *data, char *ssid);
 | |
| 
 | |
| int cfg80211_mgd_wext_siwfreq(struct net_device *dev,
 | |
| 			      struct iw_request_info *info,
 | |
| 			      struct iw_freq *freq, char *extra);
 | |
| int cfg80211_mgd_wext_giwfreq(struct net_device *dev,
 | |
| 			      struct iw_request_info *info,
 | |
| 			      struct iw_freq *freq, char *extra);
 | |
| int cfg80211_mgd_wext_siwap(struct net_device *dev,
 | |
| 			    struct iw_request_info *info,
 | |
| 			    struct sockaddr *ap_addr, char *extra);
 | |
| int cfg80211_mgd_wext_giwap(struct net_device *dev,
 | |
| 			    struct iw_request_info *info,
 | |
| 			    struct sockaddr *ap_addr, char *extra);
 | |
| int cfg80211_mgd_wext_siwessid(struct net_device *dev,
 | |
| 			       struct iw_request_info *info,
 | |
| 			       struct iw_point *data, char *ssid);
 | |
| int cfg80211_mgd_wext_giwessid(struct net_device *dev,
 | |
| 			       struct iw_request_info *info,
 | |
| 			       struct iw_point *data, char *ssid);
 | |
| 
 | |
| int cfg80211_wext_siwmlme(struct net_device *dev,
 | |
| 			  struct iw_request_info *info,
 | |
| 			  struct iw_point *data, char *extra);
 | |
| int cfg80211_wext_siwgenie(struct net_device *dev,
 | |
| 			   struct iw_request_info *info,
 | |
| 			   struct iw_point *data, char *extra);
 | |
| 
 | |
| 
 | |
| int cfg80211_wext_freq(struct iw_freq *freq);
 | |
| 
 | |
| 
 | |
| extern const struct iw_handler_def cfg80211_wext_handler;
 | |
| #endif /* __WEXT_COMPAT */
 |