just call the function linux_wlan_rx_complete directly. No need for a pointer to the functions. Remove rx_complete, wilc_wlan_net_func_t and net_func which are not used anymore. Finally remove static from the function linux_wlan_rx_complete. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> --- drivers/staging/wilc1000/linux_wlan.c | 5 +---- drivers/staging/wilc1000/wilc_wfi_netdevice.h | 1 + drivers/staging/wilc1000/wilc_wlan.c | 5 +---- drivers/staging/wilc1000/wilc_wlan_if.h | 5 ----- 4 files changed, 3 insertions(+), 13 deletions(-) diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c index 9e099c3..7b76b22 100644 --- a/drivers/staging/wilc1000/linux_wlan.c +++ b/drivers/staging/wilc1000/linux_wlan.c @@ -555,7 +555,7 @@ static int linux_wlan_txq_task(void *vp) return 0; } -static void linux_wlan_rx_complete(void) +void linux_wlan_rx_complete(void) { PRINT_D(RX_DBG, "RX completed\n"); } @@ -1092,9 +1092,6 @@ void linux_to_wlan(wilc_wlan_inp_t *nwi, linux_wlan_t *nic) nwi->io_func.u.spi.spi_trx = linux_spi_write_read; nwi->io_func.u.spi.spi_max_speed = linux_spi_set_max_speed; #endif - - /*for now - to be revised*/ - nwi->net_func.rx_complete = linux_wlan_rx_complete; } int wlan_initialize_threads(perInterface_wlan_t *nic) diff --git a/drivers/staging/wilc1000/wilc_wfi_netdevice.h b/drivers/staging/wilc1000/wilc_wfi_netdevice.h index 5efbaf4..bda9244 100644 --- a/drivers/staging/wilc1000/wilc_wfi_netdevice.h +++ b/drivers/staging/wilc1000/wilc_wfi_netdevice.h @@ -218,5 +218,6 @@ struct WILC_WFI_mon_priv { extern struct net_device *WILC_WFI_devs[]; void frmw_to_linux(u8 *buff, u32 size, u32 pkt_offset); void linux_wlan_mac_indicate(int flag); +void linux_wlan_rx_complete(void); #endif diff --git a/drivers/staging/wilc1000/wilc_wlan.c b/drivers/staging/wilc1000/wilc_wlan.c index 8acf013..a133595 100644 --- a/drivers/staging/wilc1000/wilc_wlan.c +++ b/drivers/staging/wilc1000/wilc_wlan.c @@ -32,7 +32,6 @@ typedef struct { **/ wilc_wlan_os_func_t os_func; wilc_wlan_io_func_t io_func; - wilc_wlan_net_func_t net_func; /** * host interface functions @@ -1241,8 +1240,7 @@ static void wilc_wlan_handle_rxq(void) kfree(rqe); if (has_packet) { - if (p->net_func.rx_complete) - p->net_func.rx_complete(); + linux_wlan_rx_complete(); } } while (1); @@ -1973,7 +1971,6 @@ int wilc_wlan_init(wilc_wlan_inp_t *inp, wilc_wlan_oup_t *oup) **/ memcpy((void *)&g_wlan.os_func, (void *)&inp->os_func, sizeof(wilc_wlan_os_func_t)); memcpy((void *)&g_wlan.io_func, (void *)&inp->io_func, sizeof(wilc_wlan_io_func_t)); - memcpy((void *)&g_wlan.net_func, (void *)&inp->net_func, sizeof(wilc_wlan_net_func_t)); g_wlan.hif_lock = inp->os_context.hif_critical_section; g_wlan.txq_lock = inp->os_context.txq_critical_section; diff --git a/drivers/staging/wilc1000/wilc_wlan_if.h b/drivers/staging/wilc1000/wilc_wlan_if.h index e42bb07..4ff1a8f 100644 --- a/drivers/staging/wilc1000/wilc_wlan_if.h +++ b/drivers/staging/wilc1000/wilc_wlan_if.h @@ -99,10 +99,6 @@ typedef struct { } u; } wilc_wlan_io_func_t; -typedef struct { - void (*rx_complete)(void); -} wilc_wlan_net_func_t; - #define WILC_MAC_INDICATE_STATUS 0x1 #define WILC_MAC_STATUS_INIT -1 #define WILC_MAC_STATUS_READY 0 @@ -135,7 +131,6 @@ typedef struct { wilc_wlan_os_context_t os_context; wilc_wlan_os_func_t os_func; wilc_wlan_io_func_t io_func; - wilc_wlan_net_func_t net_func; } wilc_wlan_inp_t; struct tx_complete_data { -- 1.9.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel