The rtl8192e driver had a natural split between the more generic rtllib code and the more specific rtl8192e code. This patch splits the driver into two parts and six drivers: rtllib, rtllib_crypt, rtllib_crypt_ccmp, rtllib_crypt_tkip, rtllib_crypt_wep and r8192e. Most of the code changes where either infrastructure (get it building), or the exporting of symbols from rtllib to the r8192e driver. Signed-off-by: Sean MacLennan <seanm@xxxxxxxx> --- drivers/staging/rtl8192e/Kconfig | 58 +++++++++++++++++--- drivers/staging/rtl8192e/Makefile | 47 +++++----------- drivers/staging/rtl8192e/dot11d.c | 4 ++ drivers/staging/rtl8192e/rtl8192e/Kconfig | 8 +++ drivers/staging/rtl8192e/rtl8192e/Makefile | 21 +++++++ .../staging/rtl8192e/{ => }/rtl8192e/r8190P_def.h | 0 .../rtl8192e/{ => }/rtl8192e/r8190P_rtl8256.c | 0 .../rtl8192e/{ => }/rtl8192e/r8190P_rtl8256.h | 0 .../rtl8192e/{ => }/rtl8192e/r8192E_cmdpkt.c | 0 .../rtl8192e/{ => }/rtl8192e/r8192E_cmdpkt.h | 0 .../staging/rtl8192e/{ => }/rtl8192e/r8192E_dev.c | 0 .../staging/rtl8192e/{ => }/rtl8192e/r8192E_dev.h | 0 .../rtl8192e/{ => }/rtl8192e/r8192E_firmware.c | 0 .../rtl8192e/{ => }/rtl8192e/r8192E_firmware.h | 0 .../staging/rtl8192e/{ => }/rtl8192e/r8192E_hw.h | 0 .../rtl8192e/{ => }/rtl8192e/r8192E_hwimg.c | 0 .../rtl8192e/{ => }/rtl8192e/r8192E_hwimg.h | 0 .../staging/rtl8192e/{ => }/rtl8192e/r8192E_phy.c | 2 +- .../staging/rtl8192e/{ => }/rtl8192e/r8192E_phy.h | 0 .../rtl8192e/{ => }/rtl8192e/r8192E_phyreg.h | 0 .../rtl8192e/{ => }/rtl8192e/r819xE_phyreg.h | 0 drivers/staging/rtl8192e/{ => }/rtl8192e/rtl_cam.c | 4 -- drivers/staging/rtl8192e/{ => }/rtl8192e/rtl_cam.h | 0 .../staging/rtl8192e/{ => }/rtl8192e/rtl_core.c | 49 +---------------- .../staging/rtl8192e/{ => }/rtl8192e/rtl_core.h | 39 +------------- .../staging/rtl8192e/{ => }/rtl8192e/rtl_crypto.h | 0 .../staging/rtl8192e/{ => }/rtl8192e/rtl_debug.c | 3 - .../staging/rtl8192e/{ => }/rtl8192e/rtl_debug.h | 2 + drivers/staging/rtl8192e/{ => }/rtl8192e/rtl_dm.c | 0 drivers/staging/rtl8192e/{ => }/rtl8192e/rtl_dm.h | 0 .../staging/rtl8192e/{ => }/rtl8192e/rtl_eeprom.c | 22 +++++++- .../staging/rtl8192e/{ => }/rtl8192e/rtl_eeprom.h | 0 .../staging/rtl8192e/{ => }/rtl8192e/rtl_ethtool.c | 0 drivers/staging/rtl8192e/{ => }/rtl8192e/rtl_pci.c | 0 drivers/staging/rtl8192e/{ => }/rtl8192e/rtl_pci.h | 2 +- drivers/staging/rtl8192e/{ => }/rtl8192e/rtl_pm.c | 4 -- drivers/staging/rtl8192e/{ => }/rtl8192e/rtl_pm.h | 4 -- drivers/staging/rtl8192e/{ => }/rtl8192e/rtl_ps.c | 4 -- drivers/staging/rtl8192e/{ => }/rtl8192e/rtl_ps.h | 2 +- drivers/staging/rtl8192e/{ => }/rtl8192e/rtl_wx.c | 6 +- drivers/staging/rtl8192e/{ => }/rtl8192e/rtl_wx.h | 0 drivers/staging/rtl8192e/rtl819x_BAProc.c | 20 ++++---- drivers/staging/rtl8192e/rtl819x_HTProc.c | 9 ++-- drivers/staging/rtl8192e/rtl819x_TSProc.c | 2 + drivers/staging/rtl8192e/rtllib.h | 23 +++------ drivers/staging/rtl8192e/rtllib_crypt.c | 17 ++++++ drivers/staging/rtl8192e/rtllib_crypt_ccmp.c | 8 +++- drivers/staging/rtl8192e/rtllib_crypt_tkip.c | 16 ++++-- drivers/staging/rtl8192e/rtllib_crypt_wep.c | 15 ++++-- drivers/staging/rtl8192e/rtllib_debug.h | 48 ++++++++++++++++ drivers/staging/rtl8192e/rtllib_module.c | 30 ++++++++-- drivers/staging/rtl8192e/rtllib_rx.c | 3 + drivers/staging/rtl8192e/rtllib_softmac.c | 49 +++++++++++++---- drivers/staging/rtl8192e/rtllib_softmac_wx.c | 47 ++++++++++++++-- drivers/staging/rtl8192e/rtllib_tx.c | 2 + drivers/staging/rtl8192e/rtllib_wx.c | 16 ++++++ 56 files changed, 373 insertions(+), 213 deletions(-) diff --git a/drivers/staging/rtl8192e/Kconfig b/drivers/staging/rtl8192e/Kconfig index 750c347..e7dc7c2 100644 --- a/drivers/staging/rtl8192e/Kconfig +++ b/drivers/staging/rtl8192e/Kconfig @@ -1,9 +1,51 @@ -config RTL8192E - tristate "RealTek RTL8192E Wireless LAN NIC driver" - depends on PCI && WLAN - depends on m - select WIRELESS_EXT - select WEXT_PRIV - select CRYPTO - default N +config RTLLIB + tristate "Support for rtllib wireless devices" + depends on WLAN + default n ---help--- + If you have a wireless card that uses rtllib, say + Y. Currently the only card is the rtl8192e. + + If unsure, say N. + +config RTLLIB_CRYPTO + tristate "Support for rtllib crypto support" + depends on RTLLIB + default y + ---help--- + CCMP crypto driver for rtllib. + + If you enabled RTLLIB, you want this. + +config RTLLIB_CRYPTO_CCMP + tristate "Support for rtllib CCMP crypto" + depends on RTLLIB && RTLLIB_CRYPTO + default y + ---help--- + CCMP crypto driver for rtllib. + + If you enabled RTLLIB, you want this. + +config RTLLIB_CRYPTO_TKIP + tristate "Support for rtllib TKIP crypto" + depends on RTLLIB && RTLLIB_CRYPTO + default y + ---help--- + TKIP crypto driver for rtllib. + + If you enabled RTLLIB, you want this. + +config RTLLIB_CRYPTO_WEP + tristate "Support for rtllib WEP crypto" + depends on RTLLIB && RTLLIB_CRYPTO + default y + ---help--- + TKIP crypto driver for rtllib. + + If you enabled RTLLIB, you want this. + +if RTLLIB + +source "drivers/staging/rtl8192e/rtl8192e/Kconfig" + +endif diff --git a/drivers/staging/rtl8192e/Makefile b/drivers/staging/rtl8192e/Makefile index a66a9ad..729cb7b 100644 --- a/drivers/staging/rtl8192e/Makefile +++ b/drivers/staging/rtl8192e/Makefile @@ -1,41 +1,22 @@ -ccflags-y += -DUSE_FW_SOURCE_IMG_FILE -ccflags-y += -DCONFIG_PM_RTL -ccflags-y += -DCONFIG_PM -ccflags-y += -DHAVE_NET_DEVICE_OPS -ccflags-y += -DENABLE_DOT11D - -r8192e_pci-objs := \ - rtl_core.o \ - rtl_eeprom.o \ - rtl_ps.o \ - rtl_wx.o \ - rtl_cam.o \ - rtl_dm.o \ - rtl_pm.o \ - rtl_pci.o \ - rtl_debug.o \ - rtl_ethtool.o \ - r8192E_dev.o \ - r8192E_phy.o \ - r8192E_firmware.o \ - r8192E_cmdpkt.o \ - r8192E_hwimg.o \ - r8190P_rtl8256.o \ +rtllib-objs := \ + dot11d.o \ + rtllib_module.o \ rtllib_rx.o \ - rtllib_softmac.o \ rtllib_tx.o \ rtllib_wx.o \ - rtllib_module.o \ + rtllib_softmac.o \ rtllib_softmac_wx.o \ - rtl819x_HTProc.o \ - rtl819x_TSProc.o \ rtl819x_BAProc.o \ - dot11d.o \ - rtllib_crypt.o \ - rtllib_crypt_tkip.o \ - rtllib_crypt_ccmp.o \ - rtllib_crypt_wep.o + rtl819x_HTProc.o \ + rtl819x_TSProc.o + +obj-$(CONFIG_RTLLIB) += rtllib.o + +obj-$(CONFIG_RTLLIB_CRYPTO) += rtllib_crypt.o +obj-$(CONFIG_RTLLIB_CRYPTO_CCMP) += rtllib_crypt_ccmp.o +obj-$(CONFIG_RTLLIB_CRYPTO_TKIP) += rtllib_crypt_tkip.o +obj-$(CONFIG_RTLLIB_CRYPTO_WEP) += rtllib_crypt_wep.o -obj-$(CONFIG_RTL8192E) += r8192e_pci.o +obj-$(CONFIG_RTL8192E) += rtl8192e/ ccflags-y += -D__CHECK_ENDIAN__ diff --git a/drivers/staging/rtl8192e/dot11d.c b/drivers/staging/rtl8192e/dot11d.c index ee0381e..f9ba015 100644 --- a/drivers/staging/rtl8192e/dot11d.c +++ b/drivers/staging/rtl8192e/dot11d.c @@ -58,6 +58,8 @@ void Dot11d_Init(struct rtllib_device *ieee) RESET_CIE_WATCHDOG(ieee); } +EXPORT_SYMBOL(Dot11d_Init); + void Dot11d_Channelmap(u8 channel_plan, struct rtllib_device *ieee) { @@ -99,6 +101,8 @@ void Dot11d_Channelmap(u8 channel_plan, struct rtllib_device *ieee) break; } } +EXPORT_SYMBOL(Dot11d_Channelmap); + void Dot11d_Reset(struct rtllib_device *ieee) diff --git a/drivers/staging/rtl8192e/rtl8192e/Kconfig b/drivers/staging/rtl8192e/rtl8192e/Kconfig new file mode 100644 index 0000000..2aee84a --- /dev/null +++ b/drivers/staging/rtl8192e/rtl8192e/Kconfig @@ -0,0 +1,8 @@ +config RTL8192E + tristate "RealTek RTL8192E Wireless LAN NIC driver" + depends on PCI && WLAN && RTLLIB + select WIRELESS_EXT + select WEXT_PRIV + select CRYPTO + default N + ---help--- diff --git a/drivers/staging/rtl8192e/rtl8192e/Makefile b/drivers/staging/rtl8192e/rtl8192e/Makefile new file mode 100644 index 0000000..313a92e --- /dev/null +++ b/drivers/staging/rtl8192e/rtl8192e/Makefile @@ -0,0 +1,21 @@ +r8192e_pci-objs := \ + r8192E_dev.o \ + r8192E_phy.o \ + r8192E_firmware.o \ + r8192E_cmdpkt.o \ + r8192E_hwimg.o \ + r8190P_rtl8256.o \ + rtl_cam.o \ + rtl_core.o \ + rtl_debug.o \ + rtl_dm.o \ + rtl_eeprom.o \ + rtl_ethtool.o \ + rtl_pci.o \ + rtl_pm.o \ + rtl_ps.o \ + rtl_wx.o \ + +obj-$(CONFIG_RTL8192E) += r8192e_pci.o + +ccflags-y += -D__CHECK_ENDIAN__ diff --git a/drivers/staging/rtl8192e/r8190P_def.h b/drivers/staging/rtl8192e/rtl8192e/r8190P_def.h similarity index 100% rename from drivers/staging/rtl8192e/r8190P_def.h rename to drivers/staging/rtl8192e/rtl8192e/r8190P_def.h diff --git a/drivers/staging/rtl8192e/r8190P_rtl8256.c b/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c similarity index 100% rename from drivers/staging/rtl8192e/r8190P_rtl8256.c rename to drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c diff --git a/drivers/staging/rtl8192e/r8190P_rtl8256.h b/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.h similarity index 100% rename from drivers/staging/rtl8192e/r8190P_rtl8256.h rename to drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.h diff --git a/drivers/staging/rtl8192e/r8192E_cmdpkt.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c similarity index 100% rename from drivers/staging/rtl8192e/r8192E_cmdpkt.c rename to drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c diff --git a/drivers/staging/rtl8192e/r8192E_cmdpkt.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.h similarity index 100% rename from drivers/staging/rtl8192e/r8192E_cmdpkt.h rename to drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.h diff --git a/drivers/staging/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c similarity index 100% rename from drivers/staging/rtl8192e/r8192E_dev.c rename to drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c diff --git a/drivers/staging/rtl8192e/r8192E_dev.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.h similarity index 100% rename from drivers/staging/rtl8192e/r8192E_dev.h rename to drivers/staging/rtl8192e/rtl8192e/r8192E_dev.h diff --git a/drivers/staging/rtl8192e/r8192E_firmware.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c similarity index 100% rename from drivers/staging/rtl8192e/r8192E_firmware.c rename to drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c diff --git a/drivers/staging/rtl8192e/r8192E_firmware.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h similarity index 100% rename from drivers/staging/rtl8192e/r8192E_firmware.h rename to drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h diff --git a/drivers/staging/rtl8192e/r8192E_hw.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h similarity index 100% rename from drivers/staging/rtl8192e/r8192E_hw.h rename to drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h diff --git a/drivers/staging/rtl8192e/r8192E_hwimg.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.c similarity index 100% rename from drivers/staging/rtl8192e/r8192E_hwimg.c rename to drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.c diff --git a/drivers/staging/rtl8192e/r8192E_hwimg.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.h similarity index 100% rename from drivers/staging/rtl8192e/r8192E_hwimg.h rename to drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.h diff --git a/drivers/staging/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c similarity index 99% rename from drivers/staging/rtl8192e/r8192E_phy.c rename to drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index 7fe69a3..784a9aa 100644 --- a/drivers/staging/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -23,7 +23,7 @@ #include "r8190P_rtl8256.h" #include "r8192E_phy.h" #include "rtl_dm.h" -#include "dot11d.h" +#include "../dot11d.h" #include "r8192E_hwimg.h" diff --git a/drivers/staging/rtl8192e/r8192E_phy.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.h similarity index 100% rename from drivers/staging/rtl8192e/r8192E_phy.h rename to drivers/staging/rtl8192e/rtl8192e/r8192E_phy.h diff --git a/drivers/staging/rtl8192e/r8192E_phyreg.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_phyreg.h similarity index 100% rename from drivers/staging/rtl8192e/r8192E_phyreg.h rename to drivers/staging/rtl8192e/rtl8192e/r8192E_phyreg.h diff --git a/drivers/staging/rtl8192e/r819xE_phyreg.h b/drivers/staging/rtl8192e/rtl8192e/r819xE_phyreg.h similarity index 100% rename from drivers/staging/rtl8192e/r819xE_phyreg.h rename to drivers/staging/rtl8192e/rtl8192e/r819xE_phyreg.h diff --git a/drivers/staging/rtl8192e/rtl_cam.c b/drivers/staging/rtl8192e/rtl8192e/rtl_cam.c similarity index 98% rename from drivers/staging/rtl8192e/rtl_cam.c rename to drivers/staging/rtl8192e/rtl8192e/rtl_cam.c index baf3b63..6fd3d76 100644 --- a/drivers/staging/rtl8192e/rtl_cam.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_cam.c @@ -23,10 +23,6 @@ * wlanfae <wlanfae@xxxxxxxxxxx> ******************************************************************************/ #include "rtl_core.h" -#include "r8192E_phy.h" -#include "r8192E_phyreg.h" -#include "r8190P_rtl8256.h" /* RTL8225 Radio frontend */ -#include "r8192E_cmdpkt.h" extern int hwwep; void CamResetAllEntry(struct net_device *dev) diff --git a/drivers/staging/rtl8192e/rtl_cam.h b/drivers/staging/rtl8192e/rtl8192e/rtl_cam.h similarity index 100% rename from drivers/staging/rtl8192e/rtl_cam.h rename to drivers/staging/rtl8192e/rtl8192e/rtl_cam.h diff --git a/drivers/staging/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c similarity index 98% rename from drivers/staging/rtl8192e/rtl_core.c rename to drivers/staging/rtl8192e/rtl8192e/rtl_core.c index 5ad9664..e123c7b 100644 --- a/drivers/staging/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -53,9 +53,7 @@ #include "rtl_wx.h" #include "rtl_dm.h" -#ifdef CONFIG_PM_RTL #include "rtl_pm.h" -#endif int hwwep = 1; static int channels = 0x3fff; @@ -402,8 +400,8 @@ bool MgntActSet_RF_State(struct net_device *dev, priv->blinked_ingpio = true; else priv->blinked_ingpio = false; - rtllib_MgntDisconnect(priv->rtllib, - disas_lv_ss); + rtllib_mgnt_disconnect(priv->rtllib, + disas_lv_ss); } } if ((ChangeSource == RF_CHANGE_BY_HW) && @@ -2839,7 +2837,6 @@ done: /**************************************************************************** ---------------------------- PCI_STUFF--------------------------- *****************************************************************************/ -#ifdef HAVE_NET_DEVICE_OPS static const struct net_device_ops rtl8192_netdev_ops = { .ndo_open = rtl8192_open, .ndo_stop = rtl8192_close, @@ -2851,7 +2848,6 @@ static const struct net_device_ops rtl8192_netdev_ops = { .ndo_change_mtu = eth_change_mtu, .ndo_start_xmit = rtllib_xmit, }; -#endif static int __devinit rtl8192_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) @@ -2938,17 +2934,7 @@ static int __devinit rtl8192_pci_probe(struct pci_dev *pdev, dev->irq = pdev->irq; priv->irq = 0; -#ifdef HAVE_NET_DEVICE_OPS dev->netdev_ops = &rtl8192_netdev_ops; -#else - dev->open = rtl8192_open; - dev->stop = rtl8192_close; - dev->tx_timeout = rtl8192_tx_timeout; - dev->do_ioctl = rtl8192_ioctl; - dev->set_multicast_list = r8192_set_multicast; - dev->set_mac_address = r8192_set_mac_adr; - dev->hard_start_xmit = rtllib_xmit; -#endif dev->wireless_handlers = (struct iw_handler_def *) &r8192_wx_handlers_def; @@ -3103,34 +3089,8 @@ bool NicIFDisableNIC(struct net_device *dev) static int __init rtl8192_pci_module_init(void) { - int ret; int error; - ret = rtllib_init(); - if (ret) { - printk(KERN_ERR "rtllib_init() failed %d\n", ret); - return ret; - } - ret = rtllib_crypto_init(); - if (ret) { - printk(KERN_ERR "rtllib_crypto_init() failed %d\n", ret); - return ret; - } - ret = rtllib_crypto_tkip_init(); - if (ret) { - printk(KERN_ERR "rtllib_crypto_tkip_init() failed %d\n", ret); - return ret; - } - ret = rtllib_crypto_ccmp_init(); - if (ret) { - printk(KERN_ERR "rtllib_crypto_ccmp_init() failed %d\n", ret); - return ret; - } - ret = rtllib_crypto_wep_init(); - if (ret) { - printk(KERN_ERR "rtllib_crypto_wep_init() failed %d\n", ret); - return ret; - } printk(KERN_INFO "\nLinux kernel driver for RTL8192E WLAN cards\n"); printk(KERN_INFO "Copyright (c) 2007-2008, Realsil Wlan Driver\n"); @@ -3159,11 +3119,6 @@ static void __exit rtl8192_pci_module_exit(void) RT_TRACE(COMP_DOWN, "Exiting"); rtl8192_proc_module_remove(); rtl_remove_debugfs_root(); - rtllib_crypto_tkip_exit(); - rtllib_crypto_ccmp_exit(); - rtllib_crypto_wep_exit(); - rtllib_crypto_deinit(); - rtllib_exit(); } void check_rfctrl_gpio_timer(unsigned long data) diff --git a/drivers/staging/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h similarity index 97% rename from drivers/staging/rtl8192e/rtl_core.h rename to drivers/staging/rtl8192e/rtl8192e/rtl_core.h index f9af515..05f88a6 100644 --- a/drivers/staging/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -46,9 +46,9 @@ #include <linux/random.h> #include <linux/version.h> #include <linux/io.h> -#include "rtllib.h" -#include "dot11d.h" +#include "../rtllib.h" +#include "../dot11d.h" #include "r8192E_firmware.h" #include "r8192E_hw.h" @@ -215,41 +215,6 @@ enum RTL819x_PHY_PARAM { RTL819X_EFUSE_MAP = 19, }; -enum RTL_DEBUG { - COMP_TRACE = BIT0, - COMP_DBG = BIT1, - COMP_INIT = BIT2, - COMP_RECV = BIT3, - COMP_SEND = BIT4, - COMP_CMD = BIT5, - COMP_POWER = BIT6, - COMP_EPROM = BIT7, - COMP_SWBW = BIT8, - COMP_SEC = BIT9, - COMP_LPS = BIT10, - COMP_QOS = BIT11, - COMP_RATE = BIT12, - COMP_RXDESC = BIT13, - COMP_PHY = BIT14, - COMP_DIG = BIT15, - COMP_TXAGC = BIT16, - COMP_HALDM = BIT17, - COMP_POWER_TRACKING = BIT18, - COMP_CH = BIT19, - COMP_RF = BIT20, - COMP_FIRMWARE = BIT21, - COMP_HT = BIT22, - COMP_RESET = BIT23, - COMP_CMDPKT = BIT24, - COMP_SCAN = BIT25, - COMP_PS = BIT26, - COMP_DOWN = BIT27, - COMP_INTR = BIT28, - COMP_LED = BIT29, - COMP_MLME = BIT30, - COMP_ERR = BIT31 -}; - enum nic_t { NIC_UNKNOWN = 0, NIC_8192E = 1, diff --git a/drivers/staging/rtl8192e/rtl_crypto.h b/drivers/staging/rtl8192e/rtl8192e/rtl_crypto.h similarity index 100% rename from drivers/staging/rtl8192e/rtl_crypto.h rename to drivers/staging/rtl8192e/rtl8192e/rtl_crypto.h diff --git a/drivers/staging/rtl8192e/rtl_debug.c b/drivers/staging/rtl8192e/rtl8192e/rtl_debug.c similarity index 99% rename from drivers/staging/rtl8192e/rtl_debug.c rename to drivers/staging/rtl8192e/rtl8192e/rtl_debug.c index 22bc2dd..c40c497 100644 --- a/drivers/staging/rtl8192e/rtl_debug.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_debug.c @@ -29,9 +29,6 @@ #include "r8190P_rtl8256.h" /* RTL8225 Radio frontend */ #include "r8192E_cmdpkt.h" -u32 rt_global_debug_component = \ - COMP_ERR ; - /*------------------Declare variable-----------------------*/ u32 DBGP_Type[DBGP_TYPE_MAX]; diff --git a/drivers/staging/rtl8192e/rtl_debug.h b/drivers/staging/rtl8192e/rtl8192e/rtl_debug.h similarity index 99% rename from drivers/staging/rtl8192e/rtl_debug.h rename to drivers/staging/rtl8192e/rtl8192e/rtl_debug.h index 50fb9a9..d3d535f 100644 --- a/drivers/staging/rtl8192e/rtl_debug.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_debug.h @@ -29,6 +29,8 @@ #include <linux/version.h> #include <linux/debugfs.h> +#include "../rtllib_debug.h" + struct r8192_priv; struct _tx_desc_8192se; struct _TX_DESC_8192CE; diff --git a/drivers/staging/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c similarity index 100% rename from drivers/staging/rtl8192e/rtl_dm.c rename to drivers/staging/rtl8192e/rtl8192e/rtl_dm.c diff --git a/drivers/staging/rtl8192e/rtl_dm.h b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h similarity index 100% rename from drivers/staging/rtl8192e/rtl_dm.h rename to drivers/staging/rtl8192e/rtl8192e/rtl_dm.h diff --git a/drivers/staging/rtl8192e/rtl_eeprom.c b/drivers/staging/rtl8192e/rtl8192e/rtl_eeprom.c similarity index 100% rename from drivers/staging/rtl8192e/rtl_eeprom.c rename to drivers/staging/rtl8192e/rtl8192e/rtl_eeprom.c diff --git a/drivers/staging/rtl8192e/rtl_eeprom.h b/drivers/staging/rtl8192e/rtl8192e/rtl_eeprom.h similarity index 100% rename from drivers/staging/rtl8192e/rtl_eeprom.h rename to drivers/staging/rtl8192e/rtl8192e/rtl_eeprom.h diff --git a/drivers/staging/rtl8192e/rtl_ethtool.c b/drivers/staging/rtl8192e/rtl8192e/rtl_ethtool.c similarity index 100% rename from drivers/staging/rtl8192e/rtl_ethtool.c rename to drivers/staging/rtl8192e/rtl8192e/rtl_ethtool.c diff --git a/drivers/staging/rtl8192e/rtl_pci.c b/drivers/staging/rtl8192e/rtl8192e/rtl_pci.c similarity index 100% rename from drivers/staging/rtl8192e/rtl_pci.c rename to drivers/staging/rtl8192e/rtl8192e/rtl_pci.c diff --git a/drivers/staging/rtl8192e/rtl_pci.h b/drivers/staging/rtl8192e/rtl8192e/rtl_pci.h similarity index 99% rename from drivers/staging/rtl8192e/rtl_pci.h rename to drivers/staging/rtl8192e/rtl8192e/rtl_pci.h index 7ea5a47..c8021f3 100644 --- a/drivers/staging/rtl8192e/rtl_pci.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_pci.h @@ -27,7 +27,7 @@ #include <linux/types.h> #include <linux/pci.h> -#include "rtllib.h" +#include "../rtllib.h" static inline void NdisRawWritePortUlong(u32 port, u32 val) { diff --git a/drivers/staging/rtl8192e/rtl_pm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_pm.c similarity index 97% rename from drivers/staging/rtl8192e/rtl_pm.c rename to drivers/staging/rtl8192e/rtl8192e/rtl_pm.c index 92e2fde..2b749d0 100644 --- a/drivers/staging/rtl8192e/rtl_pm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_pm.c @@ -17,10 +17,7 @@ * wlanfae <wlanfae@xxxxxxxxxxx> ******************************************************************************/ -#ifdef CONFIG_PM_RTL #include "rtl_core.h" -#include "r8192E_hw.h" -#include "r8190P_rtl8256.h" #include "rtl_pm.h" int rtl8192E_save_state(struct pci_dev *dev, pm_message_t state) @@ -133,4 +130,3 @@ int rtl8192E_enable_wake(struct pci_dev *dev, pm_message_t state, int enable) return -EAGAIN; } -#endif diff --git a/drivers/staging/rtl8192e/rtl_pm.h b/drivers/staging/rtl8192e/rtl8192e/rtl_pm.h similarity index 97% rename from drivers/staging/rtl8192e/rtl_pm.h rename to drivers/staging/rtl8192e/rtl8192e/rtl_pm.h index 4d7f406..e5299fc 100644 --- a/drivers/staging/rtl8192e/rtl_pm.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_pm.h @@ -17,8 +17,6 @@ * wlanfae <wlanfae@xxxxxxxxxxx> ******************************************************************************/ -#ifdef CONFIG_PM_RTL - #ifndef R8192E_PM_H #define R8192E_PM_H @@ -31,5 +29,3 @@ int rtl8192E_resume(struct pci_dev *dev); int rtl8192E_enable_wake(struct pci_dev *dev, pm_message_t state, int enable); #endif - -#endif diff --git a/drivers/staging/rtl8192e/rtl_ps.c b/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c similarity index 98% rename from drivers/staging/rtl8192e/rtl_ps.c rename to drivers/staging/rtl8192e/rtl8192e/rtl_ps.c index c9a7c56..4f391d5 100644 --- a/drivers/staging/rtl8192e/rtl_ps.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c @@ -24,10 +24,6 @@ *****************************************************************************/ #include "rtl_ps.h" #include "rtl_core.h" -#include "r8192E_phy.h" -#include "r8192E_phyreg.h" -#include "r8190P_rtl8256.h" /* RTL8225 Radio frontend */ -#include "r8192E_cmdpkt.h" static void rtl8192_hw_sleep_down(struct net_device *dev) { diff --git a/drivers/staging/rtl8192e/rtl_ps.h b/drivers/staging/rtl8192e/rtl8192e/rtl_ps.h similarity index 98% rename from drivers/staging/rtl8192e/rtl_ps.h rename to drivers/staging/rtl8192e/rtl8192e/rtl_ps.h index a9c2d79..575984d 100644 --- a/drivers/staging/rtl8192e/rtl_ps.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_ps.h @@ -26,7 +26,7 @@ #define _RTL_PS_H #include <linux/types.h> -#include "rtllib.h" +#include "../rtllib.h" struct net_device; #define RT_CHECK_FOR_HANG_PERIOD 2 diff --git a/drivers/staging/rtl8192e/rtl_wx.c b/drivers/staging/rtl8192e/rtl8192e/rtl_wx.c similarity index 99% rename from drivers/staging/rtl8192e/rtl_wx.c rename to drivers/staging/rtl8192e/rtl8192e/rtl_wx.c index 93b1edb..5221693 100644 --- a/drivers/staging/rtl8192e/rtl_wx.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_wx.c @@ -19,7 +19,7 @@ #include <linux/string.h> #include "rtl_core.h" -#include "dot11d.h" +#include "../dot11d.h" #define RATE_COUNT 12 static u32 rtl8192_rates[] = { @@ -1143,8 +1143,8 @@ static int r8192_wx_set_PromiscuousMode(struct net_device *dev, ieee->IntelPromiscuousModeInfo.bFilterSourceStationFrame = (bFilterSourceStationFrame) ? (true) : (false); (bPromiscuousOn) ? - (rtllib_EnableIntelPromiscuousMode(dev, false)) : - (rtllib_DisableIntelPromiscuousMode(dev, false)); + (rtllib_enable_intel_promisc_mode(dev, false)) : + (rtllib_disable_intel_promisc_mode(dev, false)); printk(KERN_INFO "=======>%s(), on = %d, filter src sta = %d\n", __func__, bPromiscuousOn, bFilterSourceStationFrame); diff --git a/drivers/staging/rtl8192e/rtl_wx.h b/drivers/staging/rtl8192e/rtl8192e/rtl_wx.h similarity index 100% rename from drivers/staging/rtl8192e/rtl_wx.h rename to drivers/staging/rtl8192e/rtl8192e/rtl_wx.h diff --git a/drivers/staging/rtl8192e/rtl819x_BAProc.c b/drivers/staging/rtl8192e/rtl819x_BAProc.c index 8b9d85c..a0e94f2 100644 --- a/drivers/staging/rtl8192e/rtl819x_BAProc.c +++ b/drivers/staging/rtl8192e/rtl819x_BAProc.c @@ -17,8 +17,8 @@ * wlanfae <wlanfae@xxxxxxxxxxx> ******************************************************************************/ #include "rtllib.h" +#include "rtllib_debug.h" #include "rtl819x_BA.h" -#include "rtl_core.h" static void ActivateBAEntry(struct rtllib_device *ieee, struct ba_record *pBA, u16 Time) @@ -110,12 +110,12 @@ static struct sk_buff *rtllib_ADDBA(struct rtllib_device *ieee, u8 *Dst, BAReq->frame_ctl = cpu_to_le16(RTLLIB_STYPE_MANAGE_ACT); tag = (u8 *)skb_put(skb, 9); - *tag ++= ACT_CAT_BA; - *tag ++= type; - *tag ++= pBA->DialogToken; + *tag++ = ACT_CAT_BA; + *tag++ = type; + *tag++ = pBA->DialogToken; if (ACT_ADDBARSP == type) { - RT_TRACE(COMP_DBG, "====>to send ADDBARSP\n"); + RTLLIB_TRACE(COMP_DBG, "====>to send ADDBARSP\n"); tmp = cpu_to_le16(StatusCode); memcpy(tag, (u8 *)&tmp, 2); tag += 2; @@ -176,8 +176,8 @@ static struct sk_buff *rtllib_DELBA(struct rtllib_device *ieee, u8 *dst, tag = (u8 *)skb_put(skb, 6); - *tag ++= ACT_CAT_BA; - *tag ++= ACT_DELBA; + *tag++ = ACT_CAT_BA; + *tag++ = ACT_DELBA; tmp = cpu_to_le16(DelbaParamSet.shortData); memcpy(tag, (u8 *)&tmp, 2); @@ -200,7 +200,7 @@ static void rtllib_send_ADDBAReq(struct rtllib_device *ieee, u8 *dst, skb = rtllib_ADDBA(ieee, dst, pBA, 0, ACT_ADDBAREQ); if (skb) { - RT_TRACE(COMP_DBG, "====>to send ADDBAREQ!!!!!\n"); + RTLLIB_TRACE(COMP_DBG, "====>to send ADDBAREQ!!!!!\n"); softmac_mgmt_xmit(skb, ieee); } else { RTLLIB_DEBUG(RTLLIB_DL_ERR, "alloc skb error in function" @@ -265,7 +265,7 @@ int rtllib_rx_ADDBAReq(struct rtllib_device *ieee, struct sk_buff *skb) pBaTimeoutVal = (u16 *)(tag + 5); pBaStartSeqCtrl = (union sequence_control *)(req + 7); - RT_TRACE(COMP_DBG, "====>rx ADDBAREQ from : %pM\n", dst); + RTLLIB_TRACE(COMP_DBG, "====>rx ADDBAREQ from : %pM\n", dst); if (ieee->current_network.qos_data.active == 0 || (ieee->pHTInfo->bCurrentHTSupport == false) || (ieee->pHTInfo->IOTAction & HT_IOT_ACT_REJECT_ADDBA_REQ)) { @@ -347,7 +347,7 @@ int rtllib_rx_ADDBARsp(struct rtllib_device *ieee, struct sk_buff *skb) pBaParamSet = (union ba_param_set *)(tag + 5); pBaTimeoutVal = (u16 *)(tag + 7); - RT_TRACE(COMP_DBG, "====>rx ADDBARSP from : %pM\n", dst); + RTLLIB_TRACE(COMP_DBG, "====>rx ADDBARSP from : %pM\n", dst); if (ieee->current_network.qos_data.active == 0 || ieee->pHTInfo->bCurrentHTSupport == false || ieee->pHTInfo->bCurrentAMPDUEnable == false) { diff --git a/drivers/staging/rtl8192e/rtl819x_HTProc.c b/drivers/staging/rtl8192e/rtl819x_HTProc.c index b1c0c56..3341aa8 100644 --- a/drivers/staging/rtl8192e/rtl819x_HTProc.c +++ b/drivers/staging/rtl8192e/rtl819x_HTProc.c @@ -396,7 +396,8 @@ static bool HTIOTActIsDisableMCSTwoSpatialStream(struct rtllib_device *ieee) return false; } -static u8 HTIOTActIsDisableEDCATurbo(struct rtllib_device *ieee, u8 *PeerMacAddr) +static u8 HTIOTActIsDisableEDCATurbo(struct rtllib_device *ieee, + u8 *PeerMacAddr) { return false; } @@ -680,10 +681,6 @@ u8 HTFilterMCSRate(struct rtllib_device *ieee, u8 *pSupportMCS, u8 *pOperateMCS) return true; } -void HTSetConnectBwMode(struct rtllib_device *ieee, - enum ht_channel_width Bandwidth, - enum ht_extchnl_offset Offset); - void HTOnAssocRsp(struct rtllib_device *ieee) { struct rt_hi_throughput *pHTInfo = ieee->pHTInfo; @@ -955,6 +952,8 @@ void HTUpdateSelfAndPeerSetting(struct rtllib_device *ieee, pHTInfo->CurrentOpMode = pPeerHTInfo->OptMode; } } +EXPORT_SYMBOL(HTUpdateSelfAndPeerSetting); + void HTUseDefaultSetting(struct rtllib_device *ieee) { diff --git a/drivers/staging/rtl8192e/rtl819x_TSProc.c b/drivers/staging/rtl8192e/rtl819x_TSProc.c index 09a602f..8a72335 100644 --- a/drivers/staging/rtl8192e/rtl819x_TSProc.c +++ b/drivers/staging/rtl8192e/rtl819x_TSProc.c @@ -497,6 +497,8 @@ void RemovePeerTS(struct rtllib_device *ieee, u8 *Addr) } } } +EXPORT_SYMBOL(RemovePeerTS); + void RemoveAllTS(struct rtllib_device *ieee) { diff --git a/drivers/staging/rtl8192e/rtllib.h b/drivers/staging/rtl8192e/rtllib.h index de25975..a7bf904 100644 --- a/drivers/staging/rtl8192e/rtllib.h +++ b/drivers/staging/rtl8192e/rtllib.h @@ -65,19 +65,9 @@ #define IW_CUSTOM_MAX 256 /* In bytes */ #endif -#ifndef container_of -/** - * container_of - cast a member of a structure out to the containing structure - * - * @ptr: the pointer to the member. - * @type: the type of the container struct this is embedded in. - * @member: the name of the member within the struct. - * - */ -#define container_of(ptr, type, member) ({ \ - const typeof(((type *)0)->member)*__mptr = (ptr); \ - (type *)((char *)__mptr - offsetof(type, member)); }) -#endif + +#define RTLLIB_DRV_NAME "rtllib" + #define skb_tail_pointer_rsl(skb) skb_tail_pointer(skb) @@ -2844,9 +2834,9 @@ extern void rtllib_EnableNetMonitorMode(struct net_device *dev, bool bInitState); extern void rtllib_DisableNetMonitorMode(struct net_device *dev, bool bInitState); -extern void rtllib_EnableIntelPromiscuousMode(struct net_device *dev, +extern void rtllib_enable_intel_promisc_mode(struct net_device *dev, bool bInitState); -extern void rtllib_DisableIntelPromiscuousMode(struct net_device *dev, +extern void rtllib_disable_intel_promisc_mode(struct net_device *dev, bool bInitState); extern void rtllib_send_probe_requests(struct rtllib_device *ieee, u8 is_mesh); @@ -3067,7 +3057,7 @@ void rtllib_MgntDisconnectIBSS(struct rtllib_device *rtllib); void rtllib_MlmeDisassociateRequest(struct rtllib_device *rtllib, u8 *asSta, u8 asRsn); void rtllib_MgntDisconnectAP(struct rtllib_device *rtllib, u8 asRsn); -bool rtllib_MgntDisconnect(struct rtllib_device *rtllib, u8 asRsn); +bool rtllib_mgnt_disconnect(struct rtllib_device *rtllib, u8 asRsn); /* For the function is more related to hardware setting, it's better to use the @@ -3141,4 +3131,5 @@ static inline void dump_buf(u8 *buf, u32 len) printk("%2.2x-", *(buf+i)); printk("\n"); } + #endif /* RTLLIB_H */ diff --git a/drivers/staging/rtl8192e/rtllib_crypt.c b/drivers/staging/rtl8192e/rtllib_crypt.c index acda37b..5c8ef71 100644 --- a/drivers/staging/rtl8192e/rtllib_crypt.c +++ b/drivers/staging/rtl8192e/rtllib_crypt.c @@ -53,6 +53,8 @@ void rtllib_crypt_deinit_entries(struct rtllib_device *ieee, kfree(entry); } } +EXPORT_SYMBOL(rtllib_crypt_deinit_entries); + void rtllib_crypt_deinit_handler(unsigned long data) { @@ -70,6 +72,8 @@ void rtllib_crypt_deinit_handler(unsigned long data) spin_unlock_irqrestore(&ieee->lock, flags); } +EXPORT_SYMBOL(rtllib_crypt_deinit_handler); + void rtllib_crypt_delayed_deinit(struct rtllib_device *ieee, struct rtllib_crypt_data **crypt) @@ -95,6 +99,8 @@ void rtllib_crypt_delayed_deinit(struct rtllib_device *ieee, } spin_unlock_irqrestore(&ieee->lock, flags); } +EXPORT_SYMBOL(rtllib_crypt_delayed_deinit); + int rtllib_register_crypto_ops(struct rtllib_crypto_ops *ops) { @@ -120,6 +126,8 @@ int rtllib_register_crypto_ops(struct rtllib_crypto_ops *ops) return 0; } +EXPORT_SYMBOL(rtllib_register_crypto_ops); + int rtllib_unregister_crypto_ops(struct rtllib_crypto_ops *ops) { @@ -150,6 +158,8 @@ int rtllib_unregister_crypto_ops(struct rtllib_crypto_ops *ops) return del_alg ? 0 : -1; } +EXPORT_SYMBOL(rtllib_unregister_crypto_ops); + struct rtllib_crypto_ops *rtllib_get_crypto_ops(const char *name) @@ -177,6 +187,8 @@ struct rtllib_crypto_ops *rtllib_get_crypto_ops(const char *name) else return NULL; } +EXPORT_SYMBOL(rtllib_get_crypto_ops); + static void * rtllib_crypt_null_init(int keyidx) { return (void *) 1; } @@ -239,3 +251,8 @@ void __exit rtllib_crypto_deinit(void) kfree(hcrypt); } + +module_init(rtllib_crypto_init); +module_exit(rtllib_crypto_deinit); + +MODULE_LICENSE("GPL"); diff --git a/drivers/staging/rtl8192e/rtllib_crypt_ccmp.c b/drivers/staging/rtl8192e/rtllib_crypt_ccmp.c index 6196b9a..4fc68e8 100644 --- a/drivers/staging/rtl8192e/rtllib_crypt_ccmp.c +++ b/drivers/staging/rtl8192e/rtllib_crypt_ccmp.c @@ -433,6 +433,8 @@ void rtllib_ccmp_null(void) { return; } +EXPORT_SYMBOL(rtllib_ccmp_null); + static struct rtllib_crypto_ops rtllib_crypt_ccmp = { .name = "CCMP", @@ -456,8 +458,12 @@ int __init rtllib_crypto_ccmp_init(void) return rtllib_register_crypto_ops(&rtllib_crypt_ccmp); } - void __exit rtllib_crypto_ccmp_exit(void) { rtllib_unregister_crypto_ops(&rtllib_crypt_ccmp); } + +module_init(rtllib_crypto_ccmp_init); +module_exit(rtllib_crypto_ccmp_exit); + +MODULE_LICENSE("GPL"); diff --git a/drivers/staging/rtl8192e/rtllib_crypt_tkip.c b/drivers/staging/rtl8192e/rtllib_crypt_tkip.c index 6a0c878..cf3c391 100644 --- a/drivers/staging/rtl8192e/rtllib_crypt_tkip.c +++ b/drivers/staging/rtl8192e/rtllib_crypt_tkip.c @@ -740,6 +740,12 @@ static char *rtllib_tkip_print_stats(char *p, void *priv) return p; } +void rtllib_tkip_null(void) +{ + return; +} +EXPORT_SYMBOL(rtllib_tkip_null); + static struct rtllib_crypto_ops rtllib_crypt_tkip = { .name = "TKIP", @@ -757,7 +763,6 @@ static struct rtllib_crypto_ops rtllib_crypt_tkip = { .owner = THIS_MODULE, }; - int __init rtllib_crypto_tkip_init(void) { return rtllib_register_crypto_ops(&rtllib_crypt_tkip); @@ -769,7 +774,8 @@ void __exit rtllib_crypto_tkip_exit(void) rtllib_unregister_crypto_ops(&rtllib_crypt_tkip); } -void rtllib_tkip_null(void) -{ - return; -} + +module_init(rtllib_crypto_tkip_init); +module_exit(rtllib_crypto_tkip_exit); + +MODULE_LICENSE("GPL"); diff --git a/drivers/staging/rtl8192e/rtllib_crypt_wep.c b/drivers/staging/rtl8192e/rtllib_crypt_wep.c index c59bf10..8d1ac28c 100644 --- a/drivers/staging/rtl8192e/rtllib_crypt_wep.c +++ b/drivers/staging/rtl8192e/rtllib_crypt_wep.c @@ -258,6 +258,13 @@ static char *prism2_wep_print_stats(char *p, void *priv) } +void rtllib_wep_null(void) +{ + return; +} +EXPORT_SYMBOL(rtllib_wep_null); + + static struct rtllib_crypto_ops rtllib_crypt_wep = { .name = "WEP", .init = prism2_wep_init, @@ -286,7 +293,7 @@ void __exit rtllib_crypto_wep_exit(void) rtllib_unregister_crypto_ops(&rtllib_crypt_wep); } -void rtllib_wep_null(void) -{ - return; -} +module_init(rtllib_crypto_wep_init); +module_exit(rtllib_crypto_wep_exit); + +MODULE_LICENSE("GPL"); diff --git a/drivers/staging/rtl8192e/rtllib_debug.h b/drivers/staging/rtl8192e/rtllib_debug.h new file mode 100644 index 0000000..b073998 --- /dev/null +++ b/drivers/staging/rtl8192e/rtllib_debug.h @@ -0,0 +1,48 @@ +#ifndef RTLLIB_DEBUG_H +#define RTLLIB_DEBUG_H + +enum RTL_DEBUG { + COMP_TRACE = (1 << 0), + COMP_DBG = (1 << 1), + COMP_INIT = (1 << 2), + COMP_RECV = (1 << 3), + COMP_SEND = (1 << 4), + COMP_CMD = (1 << 5), + COMP_POWER = (1 << 6), + COMP_EPROM = (1 << 7), + COMP_SWBW = (1 << 8), + COMP_SEC = (1 << 9), + COMP_LPS = (1 << 10), + COMP_QOS = (1 << 11), + COMP_RATE = (1 << 12), + COMP_RXDESC = (1 << 13), + COMP_PHY = (1 << 14), + COMP_DIG = (1 << 15), + COMP_TXAGC = (1 << 16), + COMP_HALDM = (1 << 17), + COMP_POWER_TRACKING = (1 << 18), + COMP_CH = (1 << 19), + COMP_RF = (1 << 20), + COMP_FIRMWARE = (1 << 21), + COMP_HT = (1 << 22), + COMP_RESET = (1 << 23), + COMP_CMDPKT = (1 << 24), + COMP_SCAN = (1 << 25), + COMP_PS = (1 << 26), + COMP_DOWN = (1 << 27), + COMP_INTR = (1 << 28), + COMP_LED = (1 << 29), + COMP_MLME = (1 << 30), + COMP_ERR = (1 << 31) +}; + +extern u32 rt_global_debug_component; + +#define RTLLIB_TRACE(component, x, args...) \ +do { \ + if (rt_global_debug_component & component) \ + printk(KERN_DEBUG RTLLIB_DRV_NAME ":" x "\n" , \ + ##args);\ +} while (0); + +#endif diff --git a/drivers/staging/rtl8192e/rtllib_module.c b/drivers/staging/rtl8192e/rtllib_module.c index c36a140..246cf74 100644 --- a/drivers/staging/rtl8192e/rtllib_module.c +++ b/drivers/staging/rtl8192e/rtllib_module.c @@ -52,9 +52,12 @@ #include <net/arp.h> #include "rtllib.h" +#include "rtllib_debug.h" -#define DRV_NAME "rtllib_92e" +u32 rt_global_debug_component = COMP_ERR; +EXPORT_SYMBOL(rt_global_debug_component); + void _setup_timer(struct timer_list *ptimer, void *fun, unsigned long data) { @@ -177,9 +180,15 @@ struct net_device *alloc_rtllib(int sizeof_priv) ieee->last_packet_time[i] = 0; } +#ifdef CONFIG_RTLLIB_CRYPTO_TKIP_MODULE rtllib_tkip_null(); +#endif +#ifdef CONFIG_RTLLIB_CRYPTO_WEP_MODULE rtllib_wep_null(); +#endif +#ifdef CONFIG_RTLLIB_CRYPTO_CCMP rtllib_ccmp_null(); +#endif return dev; @@ -188,6 +197,8 @@ struct net_device *alloc_rtllib(int sizeof_priv) free_netdev(dev); return NULL; } +EXPORT_SYMBOL(alloc_rtllib); + void free_rtllib(struct net_device *dev) { @@ -214,6 +225,8 @@ void free_rtllib(struct net_device *dev) rtllib_networks_free(ieee); free_netdev(dev); } +EXPORT_SYMBOL(free_rtllib); + u32 rtllib_debug_level; static int debug = \ @@ -246,7 +259,7 @@ static int store_debug_level(struct file *file, const char __user *buffer, } else val = simple_strtoul(p, &p, 10); if (p == buf) - printk(KERN_INFO DRV_NAME + printk(KERN_INFO RTLLIB_DRV_NAME ": %s is not in hex or decimal form.\n", buf); else rtllib_debug_level = val; @@ -259,16 +272,16 @@ int __init rtllib_init(void) struct proc_dir_entry *e; rtllib_debug_level = debug; - rtllib_proc = create_proc_entry(DRV_NAME, S_IFDIR, init_net.proc_net); + rtllib_proc = create_proc_entry(RTLLIB_DRV_NAME, S_IFDIR, init_net.proc_net); if (rtllib_proc == NULL) { - RTLLIB_ERROR("Unable to create " DRV_NAME + RTLLIB_ERROR("Unable to create " RTLLIB_DRV_NAME " proc directory\n"); return -EIO; } e = create_proc_entry("debug_level", S_IFREG | S_IRUGO | S_IWUSR, rtllib_proc); if (!e) { - remove_proc_entry(DRV_NAME, init_net.proc_net); + remove_proc_entry(RTLLIB_DRV_NAME, init_net.proc_net); rtllib_proc = NULL; return -EIO; } @@ -283,7 +296,12 @@ void __exit rtllib_exit(void) { if (rtllib_proc) { remove_proc_entry("debug_level", rtllib_proc); - remove_proc_entry(DRV_NAME, init_net.proc_net); + remove_proc_entry(RTLLIB_DRV_NAME, init_net.proc_net); rtllib_proc = NULL; } } + +module_init(rtllib_init); +module_exit(rtllib_exit); + +MODULE_LICENSE("GPL"); diff --git a/drivers/staging/rtl8192e/rtllib_rx.c b/drivers/staging/rtl8192e/rtllib_rx.c index 8d0af5e..878b2ac 100644 --- a/drivers/staging/rtl8192e/rtllib_rx.c +++ b/drivers/staging/rtl8192e/rtllib_rx.c @@ -1497,6 +1497,7 @@ int rtllib_rx(struct rtllib_device *ieee, struct sk_buff *skb, ieee->stats.rx_dropped++; return 0; } +EXPORT_SYMBOL(rtllib_rx); static u8 qos_oui[QOS_OUI_LEN] = { 0x00, 0x50, 0xF2 }; @@ -2503,6 +2504,8 @@ int IsLegalChannel(struct rtllib_device *rtllib, u8 channel) return 0; } +EXPORT_SYMBOL(IsLegalChannel); + static inline void rtllib_process_probe_response( struct rtllib_device *ieee, diff --git a/drivers/staging/rtl8192e/rtllib_softmac.c b/drivers/staging/rtl8192e/rtllib_softmac.c index b508685..fde42cf 100644 --- a/drivers/staging/rtl8192e/rtllib_softmac.c +++ b/drivers/staging/rtl8192e/rtllib_softmac.c @@ -15,7 +15,7 @@ #include "rtllib.h" -#include "rtl_core.h" +#include "rtllib_debug.h" #include <linux/random.h> #include <linux/delay.h> @@ -453,7 +453,7 @@ void rtllib_DisableNetMonitorMode(struct net_device *dev, * to allow all dest. BUT: if we enable checking BSSID then we can't recv * packets from other STA. */ -void rtllib_EnableIntelPromiscuousMode(struct net_device *dev, +void rtllib_enable_intel_promisc_mode(struct net_device *dev, bool bInitState) { bool bFilterOutNonAssociatedBSSID = false; @@ -468,14 +468,14 @@ void rtllib_EnableIntelPromiscuousMode(struct net_device *dev, ieee->bNetPromiscuousMode = true; } - +EXPORT_SYMBOL(rtllib_enable_intel_promisc_mode); /* * Description: * This disables the specialized promiscuous mode required by Intel. * See MgntEnableIntelPromiscuousMode for detail. */ -void rtllib_DisableIntelPromiscuousMode(struct net_device *dev, +void rtllib_disable_intel_promisc_mode(struct net_device *dev, bool bInitState) { bool bFilterOutNonAssociatedBSSID = true; @@ -490,6 +490,7 @@ void rtllib_DisableIntelPromiscuousMode(struct net_device *dev, ieee->bNetPromiscuousMode = false; } +EXPORT_SYMBOL(rtllib_disable_intel_promisc_mode); static void rtllib_send_probe(struct rtllib_device *ieee, u8 is_mesh) { @@ -685,6 +686,8 @@ void rtllib_stop_send_beacons(struct rtllib_device *ieee) if (ieee->softmac_features & IEEE_SOFTMAC_BEACONS) rtllib_beacons_stop(ieee); } +EXPORT_SYMBOL(rtllib_stop_send_beacons); + void rtllib_start_send_beacons(struct rtllib_device *ieee) @@ -694,6 +697,8 @@ void rtllib_start_send_beacons(struct rtllib_device *ieee) if (ieee->softmac_features & IEEE_SOFTMAC_BEACONS) rtllib_beacons_start(ieee); } +EXPORT_SYMBOL(rtllib_start_send_beacons); + static void rtllib_softmac_stop_scan(struct rtllib_device *ieee) @@ -719,6 +724,8 @@ void rtllib_stop_scan(struct rtllib_device *ieee) ieee->rtllib_stop_hw_scan(ieee->dev); } } +EXPORT_SYMBOL(rtllib_stop_scan); + void rtllib_stop_scan_syncro(struct rtllib_device *ieee) { @@ -729,6 +736,8 @@ void rtllib_stop_scan_syncro(struct rtllib_device *ieee) ieee->rtllib_stop_hw_scan(ieee->dev); } } +EXPORT_SYMBOL(rtllib_stop_scan_syncro); + bool rtllib_act_scanning(struct rtllib_device *ieee, bool sync_scan) { @@ -741,11 +750,12 @@ bool rtllib_act_scanning(struct rtllib_device *ieee, bool sync_scan) return test_bit(STATUS_SCANNING, &ieee->status); } } +EXPORT_SYMBOL(rtllib_act_scanning); /* called with ieee->lock held */ static void rtllib_start_scan(struct rtllib_device *ieee) { - RT_TRACE(COMP_DBG, "===>%s()\n", __func__); + RTLLIB_TRACE(COMP_DBG, "===>%s()\n", __func__); if (ieee->rtllib_ips_leave_wq != NULL) ieee->rtllib_ips_leave_wq(ieee->dev); @@ -781,6 +791,8 @@ void rtllib_start_scan_syncro(struct rtllib_device *ieee, u8 is_mesh) ieee->rtllib_start_hw_scan(ieee->dev); } } +EXPORT_SYMBOL(rtllib_start_scan_syncro); + inline struct sk_buff *rtllib_authentication_req(struct rtllib_network *beacon, struct rtllib_device *ieee, int challengelen, u8 *daddr) @@ -1603,11 +1615,11 @@ static void rtllib_associate_procedure_wq(void *data) ieee->data_hard_stop(ieee->dev); rtllib_stop_scan(ieee); - RT_TRACE(COMP_DBG, "===>%s(), chan:%d\n", __func__, + RTLLIB_TRACE(COMP_DBG, "===>%s(), chan:%d\n", __func__, ieee->current_network.channel); HTSetConnectBwMode(ieee, HT_CHANNEL_WIDTH_20, HT_EXTCHNL_OFFSET_NO_EXT); if (ieee->eRFPowerState == eRfOff) { - RT_TRACE(COMP_DBG, "=============>%s():Rf state is eRfOff," + RTLLIB_TRACE(COMP_DBG, "=============>%s():Rf state is eRfOff," " schedule ipsleave wq again,return\n", __func__); if (ieee->rtllib_ips_leave_wq != NULL) ieee->rtllib_ips_leave_wq(ieee->dev); @@ -1956,6 +1968,8 @@ void rtllib_sta_ps_send_null_frame(struct rtllib_device *ieee, short pwr) if (buf) softmac_ps_mgmt_xmit(buf, ieee); } +EXPORT_SYMBOL(rtllib_sta_ps_send_null_frame); + void rtllib_sta_ps_send_pspoll_frame(struct rtllib_device *ieee) { @@ -2059,7 +2073,7 @@ static inline void rtllib_sta_ps(struct rtllib_device *ieee) if ((ieee->ps == RTLLIB_PS_DISABLED || ieee->iw_mode != IW_MODE_INFRA || ieee->state != RTLLIB_LINKED)) { - RT_TRACE(COMP_DBG, "=====>%s(): no need to ps,wake up!! " + RTLLIB_TRACE(COMP_DBG, "=====>%s(): no need to ps,wake up!! " "ieee->ps is %d, ieee->iw_mode is %d, ieee->state" " is %d\n", __func__, ieee->ps, ieee->iw_mode, ieee->state); @@ -2168,6 +2182,8 @@ void rtllib_ps_tx_ack(struct rtllib_device *ieee, short success) } spin_unlock_irqrestore(&ieee->lock, flags); } +EXPORT_SYMBOL(rtllib_ps_tx_ack); + static void rtllib_process_action(struct rtllib_device *ieee, struct sk_buff *skb) { @@ -2540,6 +2556,8 @@ void rtllib_reset_queue(struct rtllib_device *ieee) spin_unlock_irqrestore(&ieee->lock, flags); } +EXPORT_SYMBOL(rtllib_reset_queue); + void rtllib_wake_queue(struct rtllib_device *ieee) { @@ -2928,6 +2946,8 @@ struct sk_buff *rtllib_get_beacon(struct rtllib_device *ieee) return skb; } +EXPORT_SYMBOL(rtllib_get_beacon); + void rtllib_softmac_stop_protocol(struct rtllib_device *ieee, u8 mesh_flag, u8 shutdown) @@ -2937,6 +2957,8 @@ void rtllib_softmac_stop_protocol(struct rtllib_device *ieee, u8 mesh_flag, rtllib_stop_protocol(ieee, shutdown); up(&ieee->wx_sem); } +EXPORT_SYMBOL(rtllib_softmac_stop_protocol); + void rtllib_stop_protocol(struct rtllib_device *ieee, u8 shutdown) @@ -2985,6 +3007,8 @@ void rtllib_softmac_start_protocol(struct rtllib_device *ieee, u8 mesh_flag) rtllib_start_protocol(ieee); up(&ieee->wx_sem); } +EXPORT_SYMBOL(rtllib_softmac_start_protocol); + void rtllib_start_protocol(struct rtllib_device *ieee) { @@ -3104,7 +3128,7 @@ void rtllib_softmac_init(struct rtllib_device *ieee) (unsigned long) ieee); - ieee->wq = create_workqueue(DRV_NAME); + ieee->wq = create_workqueue(RTLLIB_DRV_NAME); INIT_DELAYED_WORK_RSL(&ieee->link_change_wq, (void *)rtllib_link_change_wq, ieee); @@ -3634,6 +3658,8 @@ out: return ret; } +EXPORT_SYMBOL(rtllib_wpa_supplicant_ioctl); + void rtllib_MgntDisconnectIBSS(struct rtllib_device *rtllib) { @@ -3704,7 +3730,7 @@ rtllib_MgntDisconnectAP( rtllib->state = RTLLIB_NOLINK; } -bool rtllib_MgntDisconnect(struct rtllib_device *rtllib, u8 asRsn) +bool rtllib_mgnt_disconnect(struct rtllib_device *rtllib, u8 asRsn) { if (rtllib->ps != RTLLIB_PS_DISABLED) rtllib->sta_wake_up(rtllib->dev); @@ -3719,6 +3745,7 @@ bool rtllib_MgntDisconnect(struct rtllib_device *rtllib, u8 asRsn) return true; } +EXPORT_SYMBOL(rtllib_mgnt_disconnect); void notify_wx_assoc_event(struct rtllib_device *ieee) { @@ -3739,3 +3766,5 @@ void notify_wx_assoc_event(struct rtllib_device *ieee) } wireless_send_event(ieee->dev, SIOCGIWAP, &wrqu, NULL); } +EXPORT_SYMBOL(notify_wx_assoc_event); + diff --git a/drivers/staging/rtl8192e/rtllib_softmac_wx.c b/drivers/staging/rtl8192e/rtllib_softmac_wx.c index 22988fb..c599c3a 100644 --- a/drivers/staging/rtl8192e/rtllib_softmac_wx.c +++ b/drivers/staging/rtl8192e/rtllib_softmac_wx.c @@ -15,7 +15,7 @@ #include "rtllib.h" -#include "rtl_core.h" +#include "rtllib_debug.h" #include "dot11d.h" /* FIXME: add A freqs */ @@ -25,6 +25,7 @@ const long rtllib_wlan_frequencies[] = { 2452, 2457, 2462, 2467, 2472, 2484 }; +EXPORT_SYMBOL(rtllib_wlan_frequencies); int rtllib_wx_set_freq(struct rtllib_device *ieee, struct iw_request_info *a, @@ -82,6 +83,8 @@ out: up(&ieee->wx_sem); return ret; } +EXPORT_SYMBOL(rtllib_wx_set_freq); + int rtllib_wx_get_freq(struct rtllib_device *ieee, @@ -97,6 +100,8 @@ int rtllib_wx_get_freq(struct rtllib_device *ieee, fwrq->e = 1; return 0; } +EXPORT_SYMBOL(rtllib_wx_get_freq); + int rtllib_wx_get_wap(struct rtllib_device *ieee, struct iw_request_info *info, @@ -125,6 +130,8 @@ int rtllib_wx_get_wap(struct rtllib_device *ieee, return 0; } +EXPORT_SYMBOL(rtllib_wx_get_wap); + int rtllib_wx_set_wap(struct rtllib_device *ieee, @@ -184,6 +191,8 @@ out: up(&ieee->wx_sem); return ret; } +EXPORT_SYMBOL(rtllib_wx_set_wap); + int rtllib_wx_get_essid(struct rtllib_device *ieee, struct iw_request_info *a, union iwreq_data *wrqu, char *b) @@ -220,6 +229,8 @@ out: return ret; } +EXPORT_SYMBOL(rtllib_wx_get_essid); + int rtllib_wx_set_rate(struct rtllib_device *ieee, struct iw_request_info *info, @@ -231,6 +242,8 @@ int rtllib_wx_set_rate(struct rtllib_device *ieee, ieee->rate = target_rate/100000; return 0; } +EXPORT_SYMBOL(rtllib_wx_set_rate); + int rtllib_wx_get_rate(struct rtllib_device *ieee, struct iw_request_info *info, @@ -243,6 +256,8 @@ int rtllib_wx_get_rate(struct rtllib_device *ieee, return 0; } +EXPORT_SYMBOL(rtllib_wx_get_rate); + int rtllib_wx_set_rts(struct rtllib_device *ieee, @@ -259,6 +274,8 @@ int rtllib_wx_set_rts(struct rtllib_device *ieee, } return 0; } +EXPORT_SYMBOL(rtllib_wx_set_rts); + int rtllib_wx_get_rts(struct rtllib_device *ieee, struct iw_request_info *info, @@ -269,6 +286,8 @@ int rtllib_wx_get_rts(struct rtllib_device *ieee, wrqu->rts.disabled = (wrqu->rts.value == DEFAULT_RTS_THRESHOLD); return 0; } +EXPORT_SYMBOL(rtllib_wx_get_rts); + int rtllib_wx_set_mode(struct rtllib_device *ieee, struct iw_request_info *a, union iwreq_data *wrqu, char *b) @@ -314,6 +333,8 @@ out: up(&ieee->wx_sem); return set_mode_status; } +EXPORT_SYMBOL(rtllib_wx_set_mode); + void rtllib_wx_sync_scan_wq(void *data) { @@ -356,7 +377,7 @@ void rtllib_wx_sync_scan_wq(void *data) b40M = 1; chan_offset = ieee->pHTInfo->CurSTAExtChnlOffset; bandwidth = (enum ht_channel_width)ieee->pHTInfo->bCurBW40MHz; - RT_TRACE(COMP_DBG, "Scan in 40M, force to 20M first:%d, %d\n", + RTLLIB_TRACE(COMP_DBG, "Scan in 40M, force to 20M first:%d, %d\n", chan_offset, bandwidth); ieee->SetBWModeHandler(ieee->dev, HT_CHANNEL_WIDTH_20, HT_EXTCHNL_OFFSET_NO_EXT); @@ -365,7 +386,7 @@ void rtllib_wx_sync_scan_wq(void *data) rtllib_start_scan_syncro(ieee, 0); if (b40M) { - RT_TRACE(COMP_DBG, "Scan in 20M, back to 40M\n"); + RTLLIB_TRACE(COMP_DBG, "Scan in 20M, back to 40M\n"); if (chan_offset == HT_EXTCHNL_OFFSET_UPPER) ieee->set_chan(ieee->dev, chan + 2); else if (chan_offset == HT_EXTCHNL_OFFSET_LOWER) @@ -405,6 +426,8 @@ out: up(&ieee->wx_sem); } +EXPORT_SYMBOL(rtllib_wx_sync_scan_wq); + int rtllib_wx_set_scan(struct rtllib_device *ieee, struct iw_request_info *a, union iwreq_data *wrqu, char *b) @@ -428,6 +451,8 @@ out: up(&ieee->wx_sem); return ret; } +EXPORT_SYMBOL(rtllib_wx_set_scan); + int rtllib_wx_set_essid(struct rtllib_device *ieee, struct iw_request_info *a, @@ -490,6 +515,8 @@ out: up(&ieee->wx_sem); return ret; } +EXPORT_SYMBOL(rtllib_wx_set_essid); + int rtllib_wx_get_mode(struct rtllib_device *ieee, struct iw_request_info *a, union iwreq_data *wrqu, char *b) @@ -497,6 +524,8 @@ int rtllib_wx_get_mode(struct rtllib_device *ieee, struct iw_request_info *a, wrqu->mode = ieee->iw_mode; return 0; } +EXPORT_SYMBOL(rtllib_wx_get_mode); + int rtllib_wx_set_rawtx(struct rtllib_device *ieee, struct iw_request_info *info, @@ -533,6 +562,8 @@ int rtllib_wx_set_rawtx(struct rtllib_device *ieee, return 0; } +EXPORT_SYMBOL(rtllib_wx_set_rawtx); + int rtllib_wx_get_name(struct rtllib_device *ieee, struct iw_request_info *info, @@ -548,6 +579,8 @@ int rtllib_wx_get_name(struct rtllib_device *ieee, strcat(wrqu->name, "n"); return 0; } +EXPORT_SYMBOL(rtllib_wx_get_name); + /* this is mostly stolen from hostap */ @@ -568,13 +601,13 @@ int rtllib_wx_set_power(struct rtllib_device *ieee, down(&ieee->wx_sem); if (wrqu->power.disabled) { - RT_TRACE(COMP_DBG, "===>%s(): power disable\n", __func__); + RTLLIB_TRACE(COMP_DBG, "===>%s(): power disable\n", __func__); ieee->ps = RTLLIB_PS_DISABLED; goto exit; } if (wrqu->power.flags & IW_POWER_TIMEOUT) { ieee->ps_timeout = wrqu->power.value / 1000; - RT_TRACE(COMP_DBG, "===>%s():ps_timeout is %d\n", __func__, + RTLLIB_TRACE(COMP_DBG, "===>%s():ps_timeout is %d\n", __func__, ieee->ps_timeout); } @@ -605,6 +638,8 @@ exit: return ret; } +EXPORT_SYMBOL(rtllib_wx_set_power); + /* this is stolen from hostap */ int rtllib_wx_get_power(struct rtllib_device *ieee, @@ -643,3 +678,5 @@ exit: return ret; } +EXPORT_SYMBOL(rtllib_wx_get_power); + diff --git a/drivers/staging/rtl8192e/rtllib_tx.c b/drivers/staging/rtl8192e/rtllib_tx.c index 44e8006..3bf3d4c 100644 --- a/drivers/staging/rtl8192e/rtllib_tx.c +++ b/drivers/staging/rtl8192e/rtllib_tx.c @@ -965,3 +965,5 @@ int rtllib_xmit(struct sk_buff *skb, struct net_device *dev) memset(skb->cb, 0, sizeof(skb->cb)); return rtllib_xmit_inter(skb, dev); } +EXPORT_SYMBOL(rtllib_xmit); + diff --git a/drivers/staging/rtl8192e/rtllib_wx.c b/drivers/staging/rtl8192e/rtllib_wx.c index 8cea4a6..bdcf1ce 100644 --- a/drivers/staging/rtl8192e/rtllib_wx.c +++ b/drivers/staging/rtl8192e/rtllib_wx.c @@ -295,6 +295,8 @@ int rtllib_wx_get_scan(struct rtllib_device *ieee, return err; } +EXPORT_SYMBOL(rtllib_wx_get_scan); + int rtllib_wx_set_encode(struct rtllib_device *ieee, struct iw_request_info *info, @@ -470,6 +472,8 @@ int rtllib_wx_set_encode(struct rtllib_device *ieee, } return 0; } +EXPORT_SYMBOL(rtllib_wx_set_encode); + int rtllib_wx_get_encode(struct rtllib_device *ieee, struct iw_request_info *info, @@ -513,6 +517,8 @@ int rtllib_wx_get_encode(struct rtllib_device *ieee, return 0; } +EXPORT_SYMBOL(rtllib_wx_get_encode); + int rtllib_wx_set_encode_ext(struct rtllib_device *ieee, struct iw_request_info *info, @@ -674,6 +680,8 @@ done: } return ret; } +EXPORT_SYMBOL(rtllib_wx_set_encode_ext); + int rtllib_wx_get_encode_ext(struct rtllib_device *ieee, struct iw_request_info *info, @@ -731,6 +739,8 @@ int rtllib_wx_get_encode_ext(struct rtllib_device *ieee, return 0; } +EXPORT_SYMBOL(rtllib_wx_get_encode_ext); + int rtllib_wx_set_mlme(struct rtllib_device *ieee, struct iw_request_info *info, @@ -778,6 +788,8 @@ int rtllib_wx_set_mlme(struct rtllib_device *ieee, return 0; } +EXPORT_SYMBOL(rtllib_wx_set_mlme); + int rtllib_wx_set_auth(struct rtllib_device *ieee, struct iw_request_info *info, @@ -830,6 +842,8 @@ int rtllib_wx_set_auth(struct rtllib_device *ieee, } return 0; } +EXPORT_SYMBOL(rtllib_wx_set_auth); + int rtllib_wx_set_gen_ie(struct rtllib_device *ieee, u8 *ie, size_t len) { @@ -874,3 +888,5 @@ int rtllib_wx_set_gen_ie(struct rtllib_device *ieee, u8 *ie, size_t len) } return 0; } +EXPORT_SYMBOL(rtllib_wx_set_gen_ie); + _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel