staging: wilc1000: assign pointer of g_linux_wlan to sdio device data
This patch assigns wl pointer to sdio device data. The global variable g_linux_wlan will be removed finally. Signed-off-by: Tony Cho <tony.cho@atmel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
75ce07d4a0
commit
12ba5416dc
@ -1620,9 +1620,8 @@ void wl_wlan_cleanup(void)
|
|||||||
linux_wlan_device_power(0);
|
linux_wlan_device_power(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int wilc_netdev_init(void)
|
int wilc_netdev_init(struct wilc **wilc)
|
||||||
{
|
{
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
perInterface_wlan_t *nic;
|
perInterface_wlan_t *nic;
|
||||||
struct net_device *ndev;
|
struct net_device *ndev;
|
||||||
@ -1634,6 +1633,8 @@ int wilc_netdev_init(void)
|
|||||||
if (!g_linux_wlan)
|
if (!g_linux_wlan)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
*wilc = g_linux_wlan;
|
||||||
|
|
||||||
register_inetaddr_notifier(&g_dev_notifier);
|
register_inetaddr_notifier(&g_dev_notifier);
|
||||||
|
|
||||||
for (i = 0; i < NUM_CONCURRENT_IFC; i++) {
|
for (i = 0; i < NUM_CONCURRENT_IFC; i++) {
|
||||||
|
@ -27,7 +27,6 @@ struct wilc_sdio {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct sdio_func *local_sdio_func;
|
struct sdio_func *local_sdio_func;
|
||||||
extern int wilc_netdev_init(void);
|
|
||||||
extern void wilc_handle_isr(void);
|
extern void wilc_handle_isr(void);
|
||||||
|
|
||||||
static unsigned int sdio_default_speed;
|
static unsigned int sdio_default_speed;
|
||||||
@ -117,6 +116,7 @@ int linux_sdio_cmd53(sdio_cmd53_t *cmd)
|
|||||||
static int linux_sdio_probe(struct sdio_func *func, const struct sdio_device_id *id)
|
static int linux_sdio_probe(struct sdio_func *func, const struct sdio_device_id *id)
|
||||||
{
|
{
|
||||||
struct wilc_sdio *wl_sdio;
|
struct wilc_sdio *wl_sdio;
|
||||||
|
struct wilc *wilc;
|
||||||
|
|
||||||
PRINT_D(INIT_DBG, "probe function\n");
|
PRINT_D(INIT_DBG, "probe function\n");
|
||||||
wl_sdio = kzalloc(sizeof(struct wilc_sdio), GFP_KERNEL);
|
wl_sdio = kzalloc(sizeof(struct wilc_sdio), GFP_KERNEL);
|
||||||
@ -125,12 +125,13 @@ static int linux_sdio_probe(struct sdio_func *func, const struct sdio_device_id
|
|||||||
|
|
||||||
PRINT_D(INIT_DBG, "Initializing netdev\n");
|
PRINT_D(INIT_DBG, "Initializing netdev\n");
|
||||||
local_sdio_func = func;
|
local_sdio_func = func;
|
||||||
if (wilc_netdev_init()) {
|
if (wilc_netdev_init(&wilc)) {
|
||||||
PRINT_ER("Couldn't initialize netdev\n");
|
PRINT_ER("Couldn't initialize netdev\n");
|
||||||
kfree(wl_sdio);
|
kfree(wl_sdio);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
wl_sdio->func = func;
|
wl_sdio->func = func;
|
||||||
|
wl_sdio->wilc = wilc;
|
||||||
sdio_set_drvdata(func, wl_sdio);
|
sdio_set_drvdata(func, wl_sdio);
|
||||||
|
|
||||||
printk("Driver Initializing success\n");
|
printk("Driver Initializing success\n");
|
||||||
|
@ -214,4 +214,5 @@ void linux_wlan_rx_complete(void);
|
|||||||
void linux_wlan_dbg(u8 *buff);
|
void linux_wlan_dbg(u8 *buff);
|
||||||
int linux_wlan_lock_timeout(void *vp, u32 timeout);
|
int linux_wlan_lock_timeout(void *vp, u32 timeout);
|
||||||
void wl_wlan_cleanup(void);
|
void wl_wlan_cleanup(void);
|
||||||
|
int wilc_netdev_init(struct wilc **wilc);
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user