[PATCH V2 16/17] staging: wilc1000: linux_wlan_get_num_conn_ifcs: add argument net_device
Glen Lee
glen.lee at atmel.com
Fri Oct 30 09:47:22 UTC 2015
This patch add new argument struct net_device and use netdev private data
member wilc instead of g_linux_wlan, pass dev to the function as well.
Signed-off-by: Glen Lee <glen.lee at atmel.com>
---
drivers/staging/wilc1000/host_interface.c | 4 +---
drivers/staging/wilc1000/linux_wlan.c | 10 +++++++---
drivers/staging/wilc1000/wilc_wfi_netdevice.h | 1 +
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/wilc1000/host_interface.c b/drivers/staging/wilc1000/host_interface.c
index 1263b5e..2a8330e 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -271,8 +271,6 @@ static struct host_if_drv *join_req_drv;
static void *host_int_ParseJoinBssParam(tstrNetworkInfo *ptstrNetworkInfo);
-extern int linux_wlan_get_num_conn_ifcs(void);
-
static int add_handler_in_list(struct host_if_drv *handler)
{
int i;
@@ -2991,7 +2989,7 @@ static int hostIFthread(void *pvArg)
del_timer(&hif_drv->scan_timer);
PRINT_D(HOSTINF_DBG, "scan completed successfully\n");
- if (!linux_wlan_get_num_conn_ifcs())
+ if (!linux_wlan_get_num_conn_ifcs(hif_drv->priv->dev))
chip_sleep_manually(hif_drv->priv->dev,
INFINITE_SLEEP_TIME);
diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c
index 2226ddb..3801a00 100644
--- a/drivers/staging/wilc1000/linux_wlan.c
+++ b/drivers/staging/wilc1000/linux_wlan.c
@@ -421,14 +421,18 @@ int linux_wlan_set_bssid(struct net_device *wilc_netdev, u8 *pBSSID)
}
/*Function to get number of connected interfaces*/
-int linux_wlan_get_num_conn_ifcs(void)
+int linux_wlan_get_num_conn_ifcs(struct net_device *dev)
{
u8 i = 0;
u8 null_bssid[6] = {0};
u8 ret_val = 0;
+ perInterface_wlan_t *nic = netdev_priv(dev);
+ struct wilc *wilc;
- for (i = 0; i < g_linux_wlan->vif_num; i++)
- if (memcmp(g_linux_wlan->vif[i].bssid, null_bssid, 6))
+ wilc = nic->wilc;
+
+ for (i = 0; i < wilc->vif_num; i++)
+ if (memcmp(wilc->vif[i].bssid, null_bssid, 6))
ret_val++;
return ret_val;
diff --git a/drivers/staging/wilc1000/wilc_wfi_netdevice.h b/drivers/staging/wilc1000/wilc_wfi_netdevice.h
index 07917ea..31d5ac9 100644
--- a/drivers/staging/wilc1000/wilc_wfi_netdevice.h
+++ b/drivers/staging/wilc1000/wilc_wfi_netdevice.h
@@ -219,4 +219,5 @@ void wilc1000_wlan_deinit(struct net_device *dev);
void WILC_WFI_mgmt_rx(struct wilc *wilc, u8 *buff, u32 size);
u16 Set_machw_change_vir_if(struct net_device *dev, bool bValue);
int linux_wlan_get_firmware(struct net_device *dev);
+int linux_wlan_get_num_conn_ifcs(struct net_device *dev);
#endif
--
1.9.1
More information about the devel
mailing list