wext: refactor
Refactor wext to * split out iwpriv handling * split out iwspy handling * split out procfs support * allow cfg80211 to have wireless extensions compat code w/o CONFIG_WIRELESS_EXT After this, drivers need to - select WIRELESS_EXT - for wext support - select WEXT_PRIV - for iwpriv support - select WEXT_SPY - for iwspy support except cfg80211 -- which gets new hooks in wext-core.c and can then get wext handlers without CONFIG_WIRELESS_EXT. Wireless extensions procfs support is auto-selected based on PROC_FS and anything that requires the wext core (i.e. WIRELESS_EXT or CFG80211_WEXT). Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
bc974f4a23
commit
3d23e349d8
@@ -1,29 +1,19 @@
|
||||
#ifndef __NET_WEXT_H
|
||||
#define __NET_WEXT_H
|
||||
|
||||
/*
|
||||
* wireless extensions interface to the core code
|
||||
*/
|
||||
#include <net/iw_handler.h>
|
||||
|
||||
struct net;
|
||||
|
||||
#ifdef CONFIG_WIRELESS_EXT
|
||||
extern int wext_proc_init(struct net *net);
|
||||
extern void wext_proc_exit(struct net *net);
|
||||
#ifdef CONFIG_WEXT_CORE
|
||||
extern int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd,
|
||||
void __user *arg);
|
||||
extern int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
|
||||
unsigned long arg);
|
||||
|
||||
extern struct iw_statistics *get_wireless_stats(struct net_device *dev);
|
||||
extern int call_commit_handler(struct net_device *dev);
|
||||
#else
|
||||
static inline int wext_proc_init(struct net *net)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
static inline void wext_proc_exit(struct net *net)
|
||||
{
|
||||
return;
|
||||
}
|
||||
static inline int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd,
|
||||
void __user *arg)
|
||||
{
|
||||
@@ -36,4 +26,35 @@ static inline int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_WEXT_PROC
|
||||
extern int wext_proc_init(struct net *net);
|
||||
extern void wext_proc_exit(struct net *net);
|
||||
#else
|
||||
static inline int wext_proc_init(struct net *net)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
static inline void wext_proc_exit(struct net *net)
|
||||
{
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_WEXT_PRIV
|
||||
int ioctl_private_call(struct net_device *dev, struct iwreq *iwr,
|
||||
unsigned int cmd, struct iw_request_info *info,
|
||||
iw_handler handler);
|
||||
int compat_private_call(struct net_device *dev, struct iwreq *iwr,
|
||||
unsigned int cmd, struct iw_request_info *info,
|
||||
iw_handler handler);
|
||||
int iw_handler_get_private(struct net_device * dev,
|
||||
struct iw_request_info * info,
|
||||
union iwreq_data * wrqu,
|
||||
char * extra);
|
||||
#else
|
||||
#define ioctl_private_call NULL
|
||||
#define compat_private_call NULL
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __NET_WEXT_H */
|
||||
|
Reference in New Issue
Block a user