diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c index e278d9408a85..9e222471e916 100644 --- a/drivers/staging/wilc1000/linux_wlan.c +++ b/drivers/staging/wilc1000/linux_wlan.c @@ -86,10 +86,6 @@ static struct notifier_block g_dev_notifier = { .notifier_call = dev_state_ev_handler }; -#define wilc_wlan_deinit(nic) { if (&g_linux_wlan->oup != NULL) \ - if (g_linux_wlan->oup.wlan_cleanup != NULL) \ - g_linux_wlan->oup.wlan_cleanup(); } - #define IRQ_WAIT 1 #define IRQ_NO_WAIT 0 /* @@ -983,7 +979,7 @@ void wilc1000_wlan_deinit(linux_wlan_t *nic) wilc_wlan_stop(); PRINT_D(INIT_DBG, "Deinitializing WILC Wlan\n"); - wilc_wlan_deinit(nic); + wilc_wlan_cleanup(); #if (defined WILC_SDIO) && (!defined WILC_SDIO_IRQ_GPIO) #if defined(PLAT_ALLWINNER_A20) || defined(PLAT_ALLWINNER_A23) || defined(PLAT_ALLWINNER_A31) PRINT_D(INIT_DBG, "Disabling IRQ 2\n"); @@ -1132,7 +1128,7 @@ u8 wilc1000_prepare_11b_core(wilc_wlan_inp_t *nwi, wilc_wlan_oup_t *nwo, linux_w while ((core_11b_ready() && (READY_CHECK_THRESHOLD > (trials++)))) { PRINT_D(INIT_DBG, "11b core not ready yet: %u\n", trials); - wilc_wlan_deinit(nic); + wilc_wlan_cleanup(); wilc_wlan_global_reset(); sdio_unregister_driver(&wilc_bus); @@ -1330,7 +1326,7 @@ int wilc1000_wlan_init(struct net_device *dev, perInterface_wlan_t *p_nic) _fail_threads_: wlan_deinitialize_threads(g_linux_wlan); _fail_wilc_wlan_: - wilc_wlan_deinit(g_linux_wlan); + wilc_wlan_cleanup(); _fail_locks_: wlan_deinit_locks(g_linux_wlan); PRINT_ER("WLAN Iinitialization FAILED\n"); diff --git a/drivers/staging/wilc1000/wilc_wlan.c b/drivers/staging/wilc1000/wilc_wlan.c index e9af7451e37a..d352f2442049 100644 --- a/drivers/staging/wilc1000/wilc_wlan.c +++ b/drivers/staging/wilc1000/wilc_wlan.c @@ -1652,7 +1652,7 @@ int wilc_wlan_stop(void) return ret; } -static void wilc_wlan_cleanup(void) +void wilc_wlan_cleanup(void) { wilc_wlan_dev_t *p = (wilc_wlan_dev_t *)&g_wlan; struct txq_entry_t *tqe; @@ -2028,7 +2028,6 @@ int wilc_wlan_init(wilc_wlan_inp_t *inp, wilc_wlan_oup_t *oup) /** * export functions **/ - oup->wlan_cleanup = wilc_wlan_cleanup; oup->wlan_cfg_set = wilc_wlan_cfg_set; oup->wlan_cfg_get = wilc_wlan_cfg_get; oup->wlan_cfg_get_value = wilc_wlan_cfg_get_val; diff --git a/drivers/staging/wilc1000/wilc_wlan.h b/drivers/staging/wilc1000/wilc_wlan.h index 2054ad5693e2..198ddb7c449a 100644 --- a/drivers/staging/wilc1000/wilc_wlan.h +++ b/drivers/staging/wilc1000/wilc_wlan.h @@ -312,4 +312,5 @@ int wilc_wlan_txq_add_net_pkt(void *priv, u8 *buffer, u32 buffer_size, wilc_tx_complete_func_t func); int wilc_wlan_handle_txq(u32 *pu32TxqCount); void wilc_handle_isr(void); +void wilc_wlan_cleanup(void); #endif diff --git a/drivers/staging/wilc1000/wilc_wlan_if.h b/drivers/staging/wilc1000/wilc_wlan_if.h index 91bf68abf09b..624b99f09c20 100644 --- a/drivers/staging/wilc1000/wilc_wlan_if.h +++ b/drivers/staging/wilc1000/wilc_wlan_if.h @@ -122,7 +122,6 @@ typedef void (*wilc_tx_complete_func_t)(void *, int); #define WILC_TX_ERR_NO_BUF (-2) typedef struct { - void (*wlan_cleanup)(void); int (*wlan_cfg_set)(int, u32, u8 *, u32, int, u32); int (*wlan_cfg_get)(int, u32, int, u32); int (*wlan_cfg_get_value)(u32, u8 *, u32);