OSDN Git Service

staging: wilc1000: wlan_init_locks: change parameter and use wilc
authorGlen Lee <glen.lee@atmel.com>
Tue, 20 Oct 2015 08:13:53 +0000 (17:13 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 25 Oct 2015 01:16:57 +0000 (18:16 -0700)
This patch changes function parameter type wilc with net_device and use netdev
private data member wilc instead of global variable g_linux_wlan.

Signed-off-by: Glen Lee <glen.lee@atmel.com>
Signed-off-by: Tony Cho <tony.cho@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wilc1000/linux_wlan.c

index 39341a8..5fcbfac 100644 (file)
@@ -920,23 +920,28 @@ void wilc1000_wlan_deinit(struct wilc *nic)
        }
 }
 
-int wlan_init_locks(struct wilc *p_nic)
+int wlan_init_locks(struct net_device *dev)
 {
+       perInterface_wlan_t *nic;
+       struct wilc *wl;
+
+       nic = netdev_priv(dev);
+       wl = nic->wilc;
 
        PRINT_D(INIT_DBG, "Initializing Locks ...\n");
 
-       mutex_init(&g_linux_wlan->hif_cs);
-       mutex_init(&g_linux_wlan->rxq_cs);
+       mutex_init(&wl->hif_cs);
+       mutex_init(&wl->rxq_cs);
 
-       spin_lock_init(&g_linux_wlan->txq_spinlock);
-       sema_init(&g_linux_wlan->txq_add_to_head_cs, 1);
+       spin_lock_init(&wl->txq_spinlock);
+       sema_init(&wl->txq_add_to_head_cs, 1);
 
-       sema_init(&g_linux_wlan->txq_event, 0);
+       sema_init(&wl->txq_event, 0);
 
-       sema_init(&g_linux_wlan->cfg_event, 0);
-       sema_init(&g_linux_wlan->sync_event, 0);
+       sema_init(&wl->cfg_event, 0);
+       sema_init(&wl->sync_event, 0);
 
-       sema_init(&g_linux_wlan->txq_thread_started, 0);
+       sema_init(&wl->txq_thread_started, 0);
 
        return 0;
 }
@@ -1033,7 +1038,7 @@ int wilc1000_wlan_init(struct net_device *dev, perInterface_wlan_t *p_nic)
                wl->mac_status = WILC_MAC_STATUS_INIT;
                wl->close = 0;
 
-               wlan_init_locks(wl);
+               wlan_init_locks(dev);
 
                linux_to_wlan(&nwi, wl);