aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rtlwifi/efuse.c
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2013-03-24 23:06:56 -0400
committerJohn W. Linville <linville@tuxdriver.com>2013-04-01 16:20:54 -0400
commit5c69177df48b0847fd08b6dc6a6eb9e81934b57a (patch)
tree27a8e315b86e6cf8128eb9577483f01da45790b7 /drivers/net/wireless/rtlwifi/efuse.c
parente6deaf810cc4b6437d55179660776e131ac059df (diff)
rtlwifi: rtl8188ee: Enable recognition of RTL8188EE
These patches modify the common probe routine to recognize the RTL8188EE chip and implement asynchronous firmware reading in the callback routine to initialize the sw variables. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: jcheung@suse.com Cc: machen@suse.com Cc: mmarek@suse.cz Cc: zhiyuan_yang@realsil.com.cn Cc: page_he@realsil.com.cn Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rtlwifi/efuse.c')
-rw-r--r--drivers/net/wireless/rtlwifi/efuse.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/wireless/rtlwifi/efuse.c b/drivers/net/wireless/rtlwifi/efuse.c
index 41a03b12463b..9e3894178e77 100644
--- a/drivers/net/wireless/rtlwifi/efuse.c
+++ b/drivers/net/wireless/rtlwifi/efuse.c
@@ -1124,8 +1124,11 @@ static void efuse_power_switch(struct ieee80211_hw *hw, u8 write, u8 pwrstate)
1124 u8 tempval; 1124 u8 tempval;
1125 u16 tmpV16; 1125 u16 tmpV16;
1126 1126
1127 if (pwrstate && (rtlhal->hw_type != 1127 if (pwrstate && (rtlhal->hw_type != HARDWARE_TYPE_RTL8192SE)) {
1128 HARDWARE_TYPE_RTL8192SE)) { 1128 if (rtlhal->hw_type == HARDWARE_TYPE_RTL8188EE)
1129 rtl_write_byte(rtlpriv, rtlpriv->cfg->maps[EFUSE_ACCESS],
1130 0x69);
1131
1129 tmpV16 = rtl_read_word(rtlpriv, 1132 tmpV16 = rtl_read_word(rtlpriv,
1130 rtlpriv->cfg->maps[SYS_ISO_CTRL]); 1133 rtlpriv->cfg->maps[SYS_ISO_CTRL]);
1131 if (!(tmpV16 & rtlpriv->cfg->maps[EFUSE_PWC_EV12V])) { 1134 if (!(tmpV16 & rtlpriv->cfg->maps[EFUSE_PWC_EV12V])) {
@@ -1175,6 +1178,10 @@ static void efuse_power_switch(struct ieee80211_hw *hw, u8 write, u8 pwrstate)
1175 } 1178 }
1176 1179
1177 } else { 1180 } else {
1181 if (rtlhal->hw_type == HARDWARE_TYPE_RTL8188EE)
1182 rtl_write_byte(rtlpriv,
1183 rtlpriv->cfg->maps[EFUSE_ACCESS], 0);
1184
1178 if (write) { 1185 if (write) {
1179 tempval = rtl_read_byte(rtlpriv, 1186 tempval = rtl_read_byte(rtlpriv,
1180 rtlpriv->cfg->maps[EFUSE_TEST] + 1187 rtlpriv->cfg->maps[EFUSE_TEST] +