mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 05:11:48 +00:00
rtl8192e: Split the driver up
This patch splits the current r8192e_pci driver up into six different drivers: rtllib, rtllib_crypt, rtllib_crypt_ccmp, rtllib_crypt_tkip, rtllib_crypt_wep, and r8192e_pci. Now that they are proper modules, the init and exit functions do not need to be called directly. Also, the rtllib_*_null functions are not needed since they will be loaded on demand. Signed-off-by: Sean MacLennan <seanm@seanm.ca> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
3b28499c55
commit
d37e0208df
@ -1,6 +1,52 @@
|
||||
config RTLLIB
|
||||
tristate "Support for rtllib wireless devices"
|
||||
depends on WLAN && m
|
||||
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.
|
||||
|
||||
config RTL8192E
|
||||
tristate "RealTek RTL8192E Wireless LAN NIC driver"
|
||||
depends on PCI && WLAN
|
||||
depends on PCI && WLAN && RTLLIB
|
||||
depends on m
|
||||
select WIRELESS_EXT
|
||||
select WEXT_PRIV
|
||||
|
@ -1,34 +1,39 @@
|
||||
rtllib-objs := \
|
||||
dot11d.o \
|
||||
rtllib_module.o \
|
||||
rtllib_rx.o \
|
||||
rtllib_tx.o \
|
||||
rtllib_wx.o \
|
||||
rtllib_softmac.o \
|
||||
rtllib_softmac_wx.o \
|
||||
rtl819x_BAProc.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
|
||||
|
||||
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_rx.o \
|
||||
rtllib_softmac.o \
|
||||
rtllib_tx.o \
|
||||
rtllib_wx.o \
|
||||
rtllib_module.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
|
||||
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
|
||||
|
||||
|
@ -3084,33 +3084,6 @@ bool NicIFDisableNIC(struct net_device *dev)
|
||||
|
||||
static int __init rtl8192_pci_module_init(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
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");
|
||||
|
||||
@ -3129,11 +3102,6 @@ static void __exit rtl8192_pci_module_exit(void)
|
||||
|
||||
RT_TRACE(COMP_DOWN, "Exiting");
|
||||
rtl8192_proc_module_remove();
|
||||
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)
|
||||
|
@ -28,10 +28,6 @@
|
||||
#include "r8190P_rtl8256.h" /* RTL8225 Radio frontend */
|
||||
#include "r8192E_cmdpkt.h"
|
||||
|
||||
u32 rt_global_debug_component = \
|
||||
COMP_ERR ;
|
||||
EXPORT_SYMBOL(rt_global_debug_component);
|
||||
|
||||
/****************************************************************************
|
||||
-----------------------------PROCFS STUFF-------------------------
|
||||
*****************************************************************************/
|
||||
|
@ -243,3 +243,8 @@ void __exit rtllib_crypto_deinit(void)
|
||||
|
||||
kfree(hcrypt);
|
||||
}
|
||||
|
||||
module_init(rtllib_crypto_init);
|
||||
module_exit(rtllib_crypto_deinit);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
|
@ -428,11 +428,6 @@ static char *rtllib_ccmp_print_stats(char *p, void *priv)
|
||||
return p;
|
||||
}
|
||||
|
||||
void rtllib_ccmp_null(void)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
static struct rtllib_crypto_ops rtllib_crypt_ccmp = {
|
||||
.name = "CCMP",
|
||||
.init = rtllib_ccmp_init,
|
||||
@ -460,3 +455,8 @@ 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");
|
||||
|
@ -739,7 +739,6 @@ static char *rtllib_tkip_print_stats(char *p, void *priv)
|
||||
return p;
|
||||
}
|
||||
|
||||
|
||||
static struct rtllib_crypto_ops rtllib_crypt_tkip = {
|
||||
.name = "TKIP",
|
||||
.init = rtllib_tkip_init,
|
||||
@ -768,7 +767,7 @@ 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");
|
||||
|
@ -256,7 +256,6 @@ static char *prism2_wep_print_stats(char *p, void *priv)
|
||||
return p;
|
||||
}
|
||||
|
||||
|
||||
static struct rtllib_crypto_ops rtllib_crypt_wep = {
|
||||
.name = "WEP",
|
||||
.init = prism2_wep_init,
|
||||
@ -285,7 +284,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");
|
||||
|
@ -54,6 +54,10 @@
|
||||
#include "rtllib.h"
|
||||
|
||||
|
||||
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)
|
||||
{
|
||||
ptimer->function = fun;
|
||||
@ -175,10 +179,6 @@ struct net_device *alloc_rtllib(int sizeof_priv)
|
||||
ieee->last_packet_time[i] = 0;
|
||||
}
|
||||
|
||||
rtllib_tkip_null();
|
||||
rtllib_wep_null();
|
||||
rtllib_ccmp_null();
|
||||
|
||||
return dev;
|
||||
|
||||
failed:
|
||||
@ -287,3 +287,8 @@ void __exit rtllib_exit(void)
|
||||
rtllib_proc = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
module_init(rtllib_init);
|
||||
module_exit(rtllib_exit);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
|
Loading…
Reference in New Issue
Block a user