staging: wilc1000: move 'chip_ps_state' static variable as part of 'wilc' struct
authorAjay Singh <ajay.kathat@microchip.com>
Tue, 4 Sep 2018 06:39:37 +0000 (12:09 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 10 Sep 2018 16:06:51 +0000 (18:06 +0200)
Move the static variable as part of 'wilc' priv struct.

Signed-off-by: Ajay Singh <ajay.kathat@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wilc1000/linux_wlan.c
drivers/staging/wilc1000/wilc_wfi_netdevice.h
drivers/staging/wilc1000/wilc_wlan.c

index 1300318..8c6b63a 100644 (file)
@@ -1066,6 +1066,7 @@ int wilc_netdev_init(struct wilc **wilc, struct device *dev, int io_type,
        wl->io_type = io_type;
        wl->hif_func = ops;
        wl->enable_ps = true;
+       wl->chip_ps_state = CHIP_WAKEDUP;
        INIT_LIST_HEAD(&wl->txq_head.list);
        INIT_LIST_HEAD(&wl->rxq_head.list);
 
index 26b87c4..ede967b 100644 (file)
@@ -201,6 +201,7 @@ struct wilc {
        bool enable_ps;
        int clients_count;
        struct workqueue_struct *hif_workqueue;
+       enum chip_ps_states chip_ps_state;
 };
 
 struct wilc_wfi_mon_priv {
index 4c5a69e..6ff3e58 100644 (file)
@@ -9,8 +9,6 @@
 #include "wilc_wfi_netdevice.h"
 #include "wilc_wlan_cfg.h"
 
-static enum chip_ps_states chip_ps_state = CHIP_WAKEDUP;
-
 static inline bool is_wilc1000(u32 id)
 {
        return ((id & 0xfffff000) == 0x100000 ? true : false);
@@ -444,7 +442,7 @@ void chip_wakeup(struct wilc *wilc)
                } while ((clk_status_reg & 0x1) == 0);
        }
 
-       if (chip_ps_state == CHIP_SLEEPING_MANUAL) {
+       if (wilc->chip_ps_state == CHIP_SLEEPING_MANUAL) {
                if (wilc_get_chipid(wilc, false) < 0x1002b0) {
                        u32 val32;
 
@@ -457,19 +455,19 @@ void chip_wakeup(struct wilc *wilc)
                        wilc->hif_func->hif_write_reg(wilc, 0x1e9c, val32);
                }
        }
-       chip_ps_state = CHIP_WAKEDUP;
+       wilc->chip_ps_state = CHIP_WAKEDUP;
 }
 
 void wilc_chip_sleep_manually(struct wilc *wilc)
 {
-       if (chip_ps_state != CHIP_WAKEDUP)
+       if (wilc->chip_ps_state != CHIP_WAKEDUP)
                return;
        acquire_bus(wilc, ACQUIRE_ONLY);
 
        chip_allow_sleep(wilc);
        wilc->hif_func->hif_write_reg(wilc, 0x10a8, 1);
 
-       chip_ps_state = CHIP_SLEEPING_MANUAL;
+       wilc->chip_ps_state = CHIP_SLEEPING_MANUAL;
        release_bus(wilc, RELEASE_ONLY);
 }