mwifiex: get rid of global pointer reset_host
authorAmitkumar Karwar <akarwar@marvell.com>
Fri, 20 Jun 2014 04:38:54 +0000 (21:38 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 25 Jun 2014 19:32:46 +0000 (15:32 -0400)
As we can derive host pointer from adapter, maintaining
a global variable doesn't make sense.

Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mwifiex/sdio.c

index 2ae4dd754226307a74819a2067879a1c961ebb14..b34270d425f44dc29bb34d65f47dac5be7eb24b7 100644 (file)
@@ -1916,10 +1916,10 @@ mwifiex_update_mp_end_port(struct mwifiex_adapter *adapter, u16 port)
                port, card->mp_data_port_mask);
 }
 
-static struct mmc_host *reset_host;
-static void mwifiex_sdio_card_reset_work(struct work_struct *work)
+static void mwifiex_sdio_card_reset_work(struct mwifiex_adapter *adapter)
 {
-       struct mmc_host *target = reset_host;
+       struct sdio_mmc_card *card = adapter->card;
+       struct mmc_host *target = card->func->card->host;
 
        /* The actual reset operation must be run outside of driver thread.
         * This is because mmc_remove_host() will cause the device to be
@@ -1943,20 +1943,17 @@ static void mwifiex_sdio_work(struct work_struct *work)
 
        if (test_and_clear_bit(MWIFIEX_IFACE_WORK_CARD_RESET,
                               &adapter->iface_work_flags))
-               mwifiex_sdio_card_reset_work(work);
+               mwifiex_sdio_card_reset_work(adapter);
 }
 
 /* This function resets the card */
 static void mwifiex_sdio_card_reset(struct mwifiex_adapter *adapter)
 {
-       struct sdio_mmc_card *card = adapter->card;
-
        if (test_bit(MWIFIEX_IFACE_WORK_CARD_RESET, &adapter->iface_work_flags))
                return;
 
        set_bit(MWIFIEX_IFACE_WORK_CARD_RESET, &adapter->iface_work_flags);
 
-       reset_host = card->func->card->host;
        schedule_work(&adapter->iface_work);
 }