]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/net/wireless/rtlwifi/rtl8192ce/hw.c
rtlwifi: Convert to asynchronous firmware load
[mv-sheeva.git] / drivers / net / wireless / rtlwifi / rtl8192ce / hw.c
index 18f615c41212a34a3475892cb0e91aeab927399b..48c7b5d3fc5b17e68b7fa7f5de2dd56faa60b36e 100644 (file)
@@ -1,6 +1,6 @@
 /******************************************************************************
  *
- * Copyright(c) 2009-2010  Realtek Corporation.
+ * Copyright(c) 2009-2012  Realtek Corporation.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of version 2 of the GNU General Public License as
@@ -917,10 +917,7 @@ int rtl92ce_hw_init(struct ieee80211_hw *hw)
                RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING,
                         "Failed to download FW. Init HW without FW now..\n");
                err = 1;
-               rtlhal->fw_ready = false;
                return err;
-       } else {
-               rtlhal->fw_ready = true;
        }
 
        rtlhal->last_hmeboxnum = 0;
@@ -991,6 +988,7 @@ static enum version_8192c _rtl92ce_read_chip_version(struct ieee80211_hw *hw)
        struct rtl_phy *rtlphy = &(rtlpriv->phy);
        enum version_8192c version = VERSION_UNKNOWN;
        u32 value32;
+       const char *versionid;
 
        value32 = rtl_read_dword(rtlpriv, REG_SYS_CFG);
        if (value32 & TRP_VAUX_EN) {
@@ -1003,27 +1001,25 @@ static enum version_8192c _rtl92ce_read_chip_version(struct ieee80211_hw *hw)
 
        switch (version) {
        case VERSION_B_CHIP_92C:
-               RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
-                        "Chip Version ID: VERSION_B_CHIP_92C\n");
+               versionid = "B_CHIP_92C";
                break;
        case VERSION_B_CHIP_88C:
-               RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
-                        "Chip Version ID: VERSION_B_CHIP_88C\n");
+               versionid = "B_CHIP_88C";
                break;
        case VERSION_A_CHIP_92C:
-               RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
-                        "Chip Version ID: VERSION_A_CHIP_92C\n");
+               versionid = "A_CHIP_92C";
                break;
        case VERSION_A_CHIP_88C:
-               RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
-                        "Chip Version ID: VERSION_A_CHIP_88C\n");
+               versionid = "A_CHIP_88C";
                break;
        default:
-               RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
-                        "Chip Version ID: Unknown. Bug?\n");
+               versionid = "Unknown. Bug?";
                break;
        }
 
+       RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
+                "Chip Version ID: %s\n", versionid);
+
        switch (version & 0x3) {
        case CHIP_88C:
                rtlphy->rf_type = RF_1T1R;
@@ -1194,7 +1190,6 @@ static void _rtl92ce_poweroff_adapter(struct ieee80211_hw *hw)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        struct rtl_pci_priv *rtlpcipriv = rtl_pcipriv(hw);
-       struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
        u8 u1b_tmp;
        u32 u4b_tmp;
 
@@ -1205,7 +1200,7 @@ static void _rtl92ce_poweroff_adapter(struct ieee80211_hw *hw)
        rtl_write_byte(rtlpriv, REG_APSD_CTRL, 0x40);
        rtl_write_byte(rtlpriv, REG_SYS_FUNC_EN, 0xE2);
        rtl_write_byte(rtlpriv, REG_SYS_FUNC_EN, 0xE0);
-       if ((rtl_read_byte(rtlpriv, REG_MCUFWDL) & BIT(7)) && rtlhal->fw_ready)
+       if (rtl_read_byte(rtlpriv, REG_MCUFWDL) & BIT(7))
                rtl92c_firmware_selfreset(hw);
        rtl_write_byte(rtlpriv, REG_SYS_FUNC_EN + 1, 0x51);
        rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x00);