summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArend van Spriel <arend@broadcom.com>2011-10-05 15:20:03 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2011-10-05 13:42:49 -0700
commitf4e5c544d17cb2d4d9d2935024c4e629f4b2f619 (patch)
tree5c70cb05e320dc03968520a190bfab72c8d48b81
parent43e45c3e89478694dd12619ff15a2ec12d80a36c (diff)
staging: brcm80211: remove code duplication for driver variable lookup
The phy code used its own driver variable lookup functions which were duplicates of those in the brcmsmac driver (in srom.c). The phy code now uses the functions in srom.c through the phy_shim interface. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Alwin Beukers <alwin@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c36
-rw-r--r--drivers/staging/brcm80211/brcmsmac/phy/phy_int.h6
-rw-r--r--drivers/staging/brcm80211/brcmsmac/phy/phy_lcn.c56
-rw-r--r--drivers/staging/brcm80211/brcmsmac/phy/phy_n.c247
-rw-r--r--drivers/staging/brcm80211/brcmsmac/phy_shim.c9
-rw-r--r--drivers/staging/brcm80211/brcmsmac/phy_shim.h3
6 files changed, 180 insertions, 177 deletions
diff --git a/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c b/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c
index 0d3c9d87c5e..59767e36735 100644
--- a/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c
+++ b/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c
@@ -126,42 +126,6 @@ const u8 ofdm_rate_lookup[] = {
#define PHY_WREG_LIMIT 24
-char *phy_getvar(struct brcms_phy *pi, const char *name)
-{
- char *vars = pi->vars;
- char *s;
- int len;
-
- if (!name)
- return NULL;
-
- len = strlen(name);
- if (len == 0)
- return NULL;
-
- for (s = vars; s && *s;) {
- if ((memcmp(s, name, len) == 0) && (s[len] == '='))
- return &s[len + 1];
-
- while (*s++)
- ;
- }
-
- return NULL;
-}
-
-int phy_getintvar(struct brcms_phy *pi, const char *name)
-{
- char *val;
- unsigned long res;
-
- val = PHY_GETVAR(pi, name);
- if (val && !kstrtoul(val, 0, &res))
- return res;
-
- return 0;
-}
-
void wlc_phyreg_enter(struct brcms_phy_pub *pih)
{
struct brcms_phy *pi = (struct brcms_phy *) pih;
diff --git a/drivers/staging/brcm80211/brcmsmac/phy/phy_int.h b/drivers/staging/brcm80211/brcmsmac/phy/phy_int.h
index 446809047cf..4330e3846d9 100644
--- a/drivers/staging/brcm80211/brcmsmac/phy/phy_int.h
+++ b/drivers/staging/brcm80211/brcmsmac/phy/phy_int.h
@@ -919,12 +919,6 @@ struct lcnphy_radio_regs {
u8 do_init_g;
};
-extern char *phy_getvar(struct brcms_phy *pi, const char *name);
-extern int phy_getintvar(struct brcms_phy *pi, const char *name);
-
-#define PHY_GETVAR(pi, name) phy_getvar(pi, name)
-#define PHY_GETINTVAR(pi, name) phy_getintvar(pi, name)
-
extern u16 read_phy_reg(struct brcms_phy *pi, u16 addr);
extern void write_phy_reg(struct brcms_phy *pi, u16 addr, u16 val);
extern void and_phy_reg(struct brcms_phy *pi, u16 addr, u16 val);
diff --git a/drivers/staging/brcm80211/brcmsmac/phy/phy_lcn.c b/drivers/staging/brcm80211/brcmsmac/phy/phy_lcn.c
index a87e3921b5d..dbeeeba755f 100644
--- a/drivers/staging/brcm80211/brcmsmac/phy/phy_lcn.c
+++ b/drivers/staging/brcm80211/brcmsmac/phy/phy_lcn.c
@@ -4823,18 +4823,21 @@ static bool wlc_phy_txpwr_srom_read_lcnphy(struct brcms_phy *pi)
u32 offset_ofdm, offset_mcs;
pi_lcn->lcnphy_tr_isolation_mid =
- (u8) PHY_GETINTVAR(pi, "triso2g");
+ (u8) wlapi_getintvar(pi->vars, "triso2g");
pi_lcn->lcnphy_rx_power_offset =
- (u8) PHY_GETINTVAR(pi, "rxpo2g");
+ (u8) wlapi_getintvar(pi->vars, "rxpo2g");
- pi->txpa_2g[0] = (s16) PHY_GETINTVAR(pi, "pa0b0");
- pi->txpa_2g[1] = (s16) PHY_GETINTVAR(pi, "pa0b1");
- pi->txpa_2g[2] = (s16) PHY_GETINTVAR(pi, "pa0b2");
+ pi->txpa_2g[0] = (s16) wlapi_getintvar(pi->vars, "pa0b0");
+ pi->txpa_2g[1] = (s16) wlapi_getintvar(pi->vars, "pa0b1");
+ pi->txpa_2g[2] = (s16) wlapi_getintvar(pi->vars, "pa0b2");
- pi_lcn->lcnphy_rssi_vf = (u8) PHY_GETINTVAR(pi, "rssismf2g");
- pi_lcn->lcnphy_rssi_vc = (u8) PHY_GETINTVAR(pi, "rssismc2g");
- pi_lcn->lcnphy_rssi_gs = (u8) PHY_GETINTVAR(pi, "rssisav2g");
+ pi_lcn->lcnphy_rssi_vf =
+ (u8) wlapi_getintvar(pi->vars, "rssismf2g");
+ pi_lcn->lcnphy_rssi_vc =
+ (u8) wlapi_getintvar(pi->vars, "rssismc2g");
+ pi_lcn->lcnphy_rssi_gs =
+ (u8) wlapi_getintvar(pi->vars, "rssisav2g");
pi_lcn->lcnphy_rssi_vf_lowtemp = pi_lcn->lcnphy_rssi_vf;
pi_lcn->lcnphy_rssi_vc_lowtemp = pi_lcn->lcnphy_rssi_vc;
@@ -4844,7 +4847,7 @@ static bool wlc_phy_txpwr_srom_read_lcnphy(struct brcms_phy *pi)
pi_lcn->lcnphy_rssi_vc_hightemp = pi_lcn->lcnphy_rssi_vc;
pi_lcn->lcnphy_rssi_gs_hightemp = pi_lcn->lcnphy_rssi_gs;
- txpwr = (s8) PHY_GETINTVAR(pi, "maxp2ga0");
+ txpwr = (s8) wlapi_getintvar(pi->vars, "maxp2ga0");
pi->tx_srom_max_2g = txpwr;
for (i = 0; i < PWRTBL_NUM_COEFF; i++) {
@@ -4852,7 +4855,7 @@ static bool wlc_phy_txpwr_srom_read_lcnphy(struct brcms_phy *pi)
pi->txpa_2g_high_temp[i] = pi->txpa_2g[i];
}
- cckpo = (u16) PHY_GETINTVAR(pi, "cck2gpo");
+ cckpo = (u16) wlapi_getintvar(pi->vars, "cck2gpo");
if (cckpo) {
uint max_pwr_chan = txpwr;
@@ -4862,7 +4865,8 @@ static bool wlc_phy_txpwr_srom_read_lcnphy(struct brcms_phy *pi)
cckpo >>= 4;
}
- offset_ofdm = (u32) PHY_GETINTVAR(pi, "ofdm2gpo");
+ offset_ofdm =
+ (u32) wlapi_getintvar(pi->vars, "ofdm2gpo");
for (i = TXP_FIRST_OFDM; i <= TXP_LAST_OFDM; i++) {
pi->tx_srom_max_rate_2g[i] =
max_pwr_chan -
@@ -4872,12 +4876,13 @@ static bool wlc_phy_txpwr_srom_read_lcnphy(struct brcms_phy *pi)
} else {
u8 opo = 0;
- opo = (u8) PHY_GETINTVAR(pi, "opo");
+ opo = (u8) wlapi_getintvar(pi->vars, "opo");
for (i = TXP_FIRST_CCK; i <= TXP_LAST_CCK; i++)
pi->tx_srom_max_rate_2g[i] = txpwr;
- offset_ofdm = (u32) PHY_GETINTVAR(pi, "ofdm2gpo");
+ offset_ofdm =
+ (u32) wlapi_getintvar(pi->vars, "ofdm2gpo");
for (i = TXP_FIRST_OFDM; i <= TXP_LAST_OFDM; i++) {
pi->tx_srom_max_rate_2g[i] = txpwr -
@@ -4885,8 +4890,9 @@ static bool wlc_phy_txpwr_srom_read_lcnphy(struct brcms_phy *pi)
offset_ofdm >>= 4;
}
offset_mcs =
- ((u16) PHY_GETINTVAR(pi, "mcs2gpo1") << 16) |
- (u16) PHY_GETINTVAR(pi, "mcs2gpo0");
+ wlapi_getintvar(pi->vars, "mcs2gpo1") << 16;
+ offset_mcs |=
+ (u16) wlapi_getintvar(pi->vars, "mcs2gpo0");
pi_lcn->lcnphy_mcs20_po = offset_mcs;
for (i = TXP_FIRST_SISO_MCS_20;
i <= TXP_LAST_SISO_MCS_20; i++) {
@@ -4897,30 +4903,30 @@ static bool wlc_phy_txpwr_srom_read_lcnphy(struct brcms_phy *pi)
}
pi_lcn->lcnphy_rawtempsense =
- (u16) PHY_GETINTVAR(pi, "rawtempsense");
+ (u16) wlapi_getintvar(pi->vars, "rawtempsense");
pi_lcn->lcnphy_measPower =
- (u8) PHY_GETINTVAR(pi, "measpower");
+ (u8) wlapi_getintvar(pi->vars, "measpower");
pi_lcn->lcnphy_tempsense_slope =
- (u8) PHY_GETINTVAR(pi, "tempsense_slope");
+ (u8) wlapi_getintvar(pi->vars, "tempsense_slope");
pi_lcn->lcnphy_hw_iqcal_en =
- (bool) PHY_GETINTVAR(pi, "hw_iqcal_en");
+ (bool) wlapi_getintvar(pi->vars, "hw_iqcal_en");
pi_lcn->lcnphy_iqcal_swp_dis =
- (bool) PHY_GETINTVAR(pi, "iqcal_swp_dis");
+ (bool) wlapi_getintvar(pi->vars, "iqcal_swp_dis");
pi_lcn->lcnphy_tempcorrx =
- (u8) PHY_GETINTVAR(pi, "tempcorrx");
+ (u8) wlapi_getintvar(pi->vars, "tempcorrx");
pi_lcn->lcnphy_tempsense_option =
- (u8) PHY_GETINTVAR(pi, "tempsense_option");
+ (u8) wlapi_getintvar(pi->vars, "tempsense_option");
pi_lcn->lcnphy_freqoffset_corr =
- (u8) PHY_GETINTVAR(pi, "freqoffset_corr");
+ (u8) wlapi_getintvar(pi->vars, "freqoffset_corr");
if ((u8) getintvar(pi->vars, "aa2g") > 1)
wlc_phy_ant_rxdiv_set((struct brcms_phy_pub *) pi,
(u8) getintvar(pi->vars,
"aa2g"));
}
pi_lcn->lcnphy_cck_dig_filt_type = -1;
- if (PHY_GETVAR(pi, "cckdigfilttype")) {
+ if (wlapi_getvar(pi->vars, "cckdigfilttype")) {
s16 temp;
- temp = (s16) PHY_GETINTVAR(pi, "cckdigfilttype");
+ temp = (s16) wlapi_getintvar(pi->vars, "cckdigfilttype");
if (temp >= 0)
pi_lcn->lcnphy_cck_dig_filt_type = temp;
}
diff --git a/drivers/staging/brcm80211/brcmsmac/phy/phy_n.c b/drivers/staging/brcm80211/brcmsmac/phy/phy_n.c
index 67cfcdd8aab..c410bf04c26 100644
--- a/drivers/staging/brcm80211/brcmsmac/phy/phy_n.c
+++ b/drivers/staging/brcm80211/brcmsmac/phy/phy_n.c
@@ -14387,25 +14387,25 @@ static void wlc_phy_txpwr_srom_read_ppr_nphy(struct brcms_phy *pi)
if (pi->sh->sromrev >= 9)
return;
- bw40po = (u16) PHY_GETINTVAR(pi, "bw40po");
+ bw40po = (u16) wlapi_getintvar(pi->vars, "bw40po");
pi->bw402gpo = bw40po & 0xf;
pi->bw405gpo = (bw40po & 0xf0) >> 4;
pi->bw405glpo = (bw40po & 0xf00) >> 8;
pi->bw405ghpo = (bw40po & 0xf000) >> 12;
- cddpo = (u16) PHY_GETINTVAR(pi, "cddpo");
+ cddpo = (u16) wlapi_getintvar(pi->vars, "cddpo");
pi->cdd2gpo = cddpo & 0xf;
pi->cdd5gpo = (cddpo & 0xf0) >> 4;
pi->cdd5glpo = (cddpo & 0xf00) >> 8;
pi->cdd5ghpo = (cddpo & 0xf000) >> 12;
- stbcpo = (u16) PHY_GETINTVAR(pi, "stbcpo");
+ stbcpo = (u16) wlapi_getintvar(pi->vars, "stbcpo");
pi->stbc2gpo = stbcpo & 0xf;
pi->stbc5gpo = (stbcpo & 0xf0) >> 4;
pi->stbc5glpo = (stbcpo & 0xf00) >> 8;
pi->stbc5ghpo = (stbcpo & 0xf000) >> 12;
- bwduppo = (u16) PHY_GETINTVAR(pi, "bwduppo");
+ bwduppo = (u16) wlapi_getintvar(pi->vars, "bwduppo");
pi->bwdup2gpo = bwduppo & 0xf;
pi->bwdup5gpo = (bwduppo & 0xf0) >> 4;
pi->bwdup5glpo = (bwduppo & 0xf00) >> 8;
@@ -14417,168 +14417,188 @@ static void wlc_phy_txpwr_srom_read_ppr_nphy(struct brcms_phy *pi)
case 0:
pi->nphy_txpid2g[PHY_CORE_0] =
- (u8) PHY_GETINTVAR(pi, "txpid2ga0");
+ (u8) wlapi_getintvar(pi->vars, "txpid2ga0");
pi->nphy_txpid2g[PHY_CORE_1] =
- (u8) PHY_GETINTVAR(pi, "txpid2ga1");
+ (u8) wlapi_getintvar(pi->vars, "txpid2ga1");
pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_2g =
- (s8) PHY_GETINTVAR(pi, "maxp2ga0");
+ (s8) wlapi_getintvar(pi->vars, "maxp2ga0");
pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_2g =
- (s8) PHY_GETINTVAR(pi, "maxp2ga1");
+ (s8) wlapi_getintvar(pi->vars, "maxp2ga1");
pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_a1 =
- (s16) PHY_GETINTVAR(pi, "pa2gw0a0");
+ (s16) wlapi_getintvar(pi->vars, "pa2gw0a0");
pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_a1 =
- (s16) PHY_GETINTVAR(pi, "pa2gw0a1");
+ (s16) wlapi_getintvar(pi->vars, "pa2gw0a1");
pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b0 =
- (s16) PHY_GETINTVAR(pi, "pa2gw1a0");
+ (s16) wlapi_getintvar(pi->vars, "pa2gw1a0");
pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b0 =
- (s16) PHY_GETINTVAR(pi, "pa2gw1a1");
+ (s16) wlapi_getintvar(pi->vars, "pa2gw1a1");
pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b1 =
- (s16) PHY_GETINTVAR(pi, "pa2gw2a0");
+ (s16) wlapi_getintvar(pi->vars, "pa2gw2a0");
pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b1 =
- (s16) PHY_GETINTVAR(pi, "pa2gw2a1");
+ (s16) wlapi_getintvar(pi->vars, "pa2gw2a1");
pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_2g =
- (s8) PHY_GETINTVAR(pi, "itt2ga0");
+ (s8) wlapi_getintvar(pi->vars, "itt2ga0");
pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_2g =
- (s8) PHY_GETINTVAR(pi, "itt2ga1");
-
- pi->cck2gpo = (u16) PHY_GETINTVAR(pi, "cck2gpo");
-
- pi->ofdm2gpo = (u32) PHY_GETINTVAR(pi, "ofdm2gpo");
-
- pi->mcs2gpo[0] = (u16) PHY_GETINTVAR(pi, "mcs2gpo0");
- pi->mcs2gpo[1] = (u16) PHY_GETINTVAR(pi, "mcs2gpo1");
- pi->mcs2gpo[2] = (u16) PHY_GETINTVAR(pi, "mcs2gpo2");
- pi->mcs2gpo[3] = (u16) PHY_GETINTVAR(pi, "mcs2gpo3");
- pi->mcs2gpo[4] = (u16) PHY_GETINTVAR(pi, "mcs2gpo4");
- pi->mcs2gpo[5] = (u16) PHY_GETINTVAR(pi, "mcs2gpo5");
- pi->mcs2gpo[6] = (u16) PHY_GETINTVAR(pi, "mcs2gpo6");
- pi->mcs2gpo[7] = (u16) PHY_GETINTVAR(pi, "mcs2gpo7");
+ (s8) wlapi_getintvar(pi->vars, "itt2ga1");
+
+ pi->cck2gpo =
+ (u16) wlapi_getintvar(pi->vars, "cck2gpo");
+ pi->ofdm2gpo =
+ (u32) wlapi_getintvar(pi->vars, "ofdm2gpo");
+
+ pi->mcs2gpo[0] =
+ (u16) wlapi_getintvar(pi->vars, "mcs2gpo0");
+ pi->mcs2gpo[1] =
+ (u16) wlapi_getintvar(pi->vars, "mcs2gpo1");
+ pi->mcs2gpo[2] =
+ (u16) wlapi_getintvar(pi->vars, "mcs2gpo2");
+ pi->mcs2gpo[3] =
+ (u16) wlapi_getintvar(pi->vars, "mcs2gpo3");
+ pi->mcs2gpo[4] =
+ (u16) wlapi_getintvar(pi->vars, "mcs2gpo4");
+ pi->mcs2gpo[5] =
+ (u16) wlapi_getintvar(pi->vars, "mcs2gpo5");
+ pi->mcs2gpo[6] =
+ (u16) wlapi_getintvar(pi->vars, "mcs2gpo6");
+ pi->mcs2gpo[7] =
+ (u16) wlapi_getintvar(pi->vars, "mcs2gpo7");
break;
case 1:
pi->nphy_txpid5g[PHY_CORE_0] =
- (u8) PHY_GETINTVAR(pi, "txpid5ga0");
+ (u8) wlapi_getintvar(pi->vars, "txpid5ga0");
pi->nphy_txpid5g[PHY_CORE_1] =
- (u8) PHY_GETINTVAR(pi, "txpid5ga1");
+ (u8) wlapi_getintvar(pi->vars, "txpid5ga1");
pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_5gm =
- (s8) PHY_GETINTVAR(pi, "maxp5ga0");
+ (s8) wlapi_getintvar(pi->vars, "maxp5ga0");
pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_5gm =
- (s8) PHY_GETINTVAR(pi, "maxp5ga1");
+ (s8) wlapi_getintvar(pi->vars, "maxp5ga1");
pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_a1 =
- (s16) PHY_GETINTVAR(pi, "pa5gw0a0");
+ (s16) wlapi_getintvar(pi->vars, "pa5gw0a0");
pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_a1 =
- (s16) PHY_GETINTVAR(pi, "pa5gw0a1");
+ (s16) wlapi_getintvar(pi->vars, "pa5gw0a1");
pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b0 =
- (s16) PHY_GETINTVAR(pi, "pa5gw1a0");
+ (s16) wlapi_getintvar(pi->vars, "pa5gw1a0");
pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b0 =
- (s16) PHY_GETINTVAR(pi, "pa5gw1a1");
+ (s16) wlapi_getintvar(pi->vars, "pa5gw1a1");
pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b1 =
- (s16) PHY_GETINTVAR(pi, "pa5gw2a0");
+ (s16) wlapi_getintvar(pi->vars, "pa5gw2a0");
pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b1 =
- (s16) PHY_GETINTVAR(pi, "pa5gw2a1");
+ (s16) wlapi_getintvar(pi->vars, "pa5gw2a1");
pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_5gm =
- (s8) PHY_GETINTVAR(pi, "itt5ga0");
+ (s8) wlapi_getintvar(pi->vars, "itt5ga0");
pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_5gm =
- (s8) PHY_GETINTVAR(pi, "itt5ga1");
-
- pi->ofdm5gpo = (u32) PHY_GETINTVAR(pi, "ofdm5gpo");
-
- pi->mcs5gpo[0] = (u16) PHY_GETINTVAR(pi, "mcs5gpo0");
- pi->mcs5gpo[1] = (u16) PHY_GETINTVAR(pi, "mcs5gpo1");
- pi->mcs5gpo[2] = (u16) PHY_GETINTVAR(pi, "mcs5gpo2");
- pi->mcs5gpo[3] = (u16) PHY_GETINTVAR(pi, "mcs5gpo3");
- pi->mcs5gpo[4] = (u16) PHY_GETINTVAR(pi, "mcs5gpo4");
- pi->mcs5gpo[5] = (u16) PHY_GETINTVAR(pi, "mcs5gpo5");
- pi->mcs5gpo[6] = (u16) PHY_GETINTVAR(pi, "mcs5gpo6");
- pi->mcs5gpo[7] = (u16) PHY_GETINTVAR(pi, "mcs5gpo7");
+ (s8) wlapi_getintvar(pi->vars, "itt5ga1");
+
+ pi->ofdm5gpo =
+ (u32) wlapi_getintvar(pi->vars, "ofdm5gpo");
+
+ pi->mcs5gpo[0] =
+ (u16) wlapi_getintvar(pi->vars, "mcs5gpo0");
+ pi->mcs5gpo[1] =
+ (u16) wlapi_getintvar(pi->vars, "mcs5gpo1");
+ pi->mcs5gpo[2] =
+ (u16) wlapi_getintvar(pi->vars, "mcs5gpo2");
+ pi->mcs5gpo[3] =
+ (u16) wlapi_getintvar(pi->vars, "mcs5gpo3");
+ pi->mcs5gpo[4] =
+ (u16) wlapi_getintvar(pi->vars, "mcs5gpo4");
+ pi->mcs5gpo[5] =
+ (u16) wlapi_getintvar(pi->vars, "mcs5gpo5");
+ pi->mcs5gpo[6] =
+ (u16) wlapi_getintvar(pi->vars, "mcs5gpo6");
+ pi->mcs5gpo[7] =
+ (u16) wlapi_getintvar(pi->vars, "mcs5gpo7");
break;
case 2:
pi->nphy_txpid5gl[0] =
- (u8) PHY_GETINTVAR(pi, "txpid5gla0");
+ (u8) wlapi_getintvar(pi->vars, "txpid5gla0");
pi->nphy_txpid5gl[1] =
- (u8) PHY_GETINTVAR(pi, "txpid5gla1");
+ (u8) wlapi_getintvar(pi->vars, "txpid5gla1");
pi->nphy_pwrctrl_info[0].max_pwr_5gl =
- (s8) PHY_GETINTVAR(pi, "maxp5gla0");
+ (s8) wlapi_getintvar(pi->vars, "maxp5gla0");
pi->nphy_pwrctrl_info[1].max_pwr_5gl =
- (s8) PHY_GETINTVAR(pi, "maxp5gla1");
+ (s8) wlapi_getintvar(pi->vars, "maxp5gla1");
pi->nphy_pwrctrl_info[0].pwrdet_5gl_a1 =
- (s16) PHY_GETINTVAR(pi, "pa5glw0a0");
+ (s16) wlapi_getintvar(pi->vars, "pa5glw0a0");
pi->nphy_pwrctrl_info[1].pwrdet_5gl_a1 =
- (s16) PHY_GETINTVAR(pi, "pa5glw0a1");
+ (s16) wlapi_getintvar(pi->vars, "pa5glw0a1");
pi->nphy_pwrctrl_info[0].pwrdet_5gl_b0 =
- (s16) PHY_GETINTVAR(pi, "pa5glw1a0");
+ (s16) wlapi_getintvar(pi->vars, "pa5glw1a0");
pi->nphy_pwrctrl_info[1].pwrdet_5gl_b0 =
- (s16) PHY_GETINTVAR(pi, "pa5glw1a1");
+ (s16) wlapi_getintvar(pi->vars, "pa5glw1a1");
pi->nphy_pwrctrl_info[0].pwrdet_5gl_b1 =
- (s16) PHY_GETINTVAR(pi, "pa5glw2a0");
+ (s16) wlapi_getintvar(pi->vars, "pa5glw2a0");
pi->nphy_pwrctrl_info[1].pwrdet_5gl_b1 =
- (s16) PHY_GETINTVAR(pi, "pa5glw2a1");
+ (s16) wlapi_getintvar(pi->vars, "pa5glw2a1");
pi->nphy_pwrctrl_info[0].idle_targ_5gl = 0;
pi->nphy_pwrctrl_info[1].idle_targ_5gl = 0;
- pi->ofdm5glpo = (u32) PHY_GETINTVAR(pi, "ofdm5glpo");
+ pi->ofdm5glpo =
+ (u32) wlapi_getintvar(pi->vars, "ofdm5glpo");
pi->mcs5glpo[0] =
- (u16) PHY_GETINTVAR(pi, "mcs5glpo0");
+ (u16) wlapi_getintvar(pi->vars, "mcs5glpo0");
pi->mcs5glpo[1] =
- (u16) PHY_GETINTVAR(pi, "mcs5glpo1");
+ (u16) wlapi_getintvar(pi->vars, "mcs5glpo1");
pi->mcs5glpo[2] =
- (u16) PHY_GETINTVAR(pi, "mcs5glpo2");
+ (u16) wlapi_getintvar(pi->vars, "mcs5glpo2");
pi->mcs5glpo[3] =
- (u16) PHY_GETINTVAR(pi, "mcs5glpo3");
+ (u16) wlapi_getintvar(pi->vars, "mcs5glpo3");
pi->mcs5glpo[4] =
- (u16) PHY_GETINTVAR(pi, "mcs5glpo4");
+ (u16) wlapi_getintvar(pi->vars, "mcs5glpo4");
pi->mcs5glpo[5] =
- (u16) PHY_GETINTVAR(pi, "mcs5glpo5");
+ (u16) wlapi_getintvar(pi->vars, "mcs5glpo5");
pi->mcs5glpo[6] =
- (u16) PHY_GETINTVAR(pi, "mcs5glpo6");
+ (u16) wlapi_getintvar(pi->vars, "mcs5glpo6");
pi->mcs5glpo[7] =
- (u16) PHY_GETINTVAR(pi, "mcs5glpo7");
+ (u16) wlapi_getintvar(pi->vars, "mcs5glpo7");
break;
case 3:
pi->nphy_txpid5gh[0] =
- (u8) PHY_GETINTVAR(pi, "txpid5gha0");
+ (u8) wlapi_getintvar(pi->vars, "txpid5gha0");
pi->nphy_txpid5gh[1] =
- (u8) PHY_GETINTVAR(pi, "txpid5gha1");
+ (u8) wlapi_getintvar(pi->vars, "txpid5gha1");
pi->nphy_pwrctrl_info[0].max_pwr_5gh =
- (s8) PHY_GETINTVAR(pi, "maxp5gha0");
+ (s8) wlapi_getintvar(pi->vars, "maxp5gha0");
pi->nphy_pwrctrl_info[1].max_pwr_5gh =
- (s8) PHY_GETINTVAR(pi, "maxp5gha1");
+ (s8) wlapi_getintvar(pi->vars, "maxp5gha1");
pi->nphy_pwrctrl_info[0].pwrdet_5gh_a1 =
- (s16) PHY_GETINTVAR(pi, "pa5ghw0a0");
+ (s16) wlapi_getintvar(pi->vars, "pa5ghw0a0");
pi->nphy_pwrctrl_info[1].pwrdet_5gh_a1 =
- (s16) PHY_GETINTVAR(pi, "pa5ghw0a1");
+ (s16) wlapi_getintvar(pi->vars, "pa5ghw0a1");
pi->nphy_pwrctrl_info[0].pwrdet_5gh_b0 =
- (s16) PHY_GETINTVAR(pi, "pa5ghw1a0");
+ (s16) wlapi_getintvar(pi->vars, "pa5ghw1a0");
pi->nphy_pwrctrl_info[1].pwrdet_5gh_b0 =
- (s16) PHY_GETINTVAR(pi, "pa5ghw1a1");
+ (s16) wlapi_getintvar(pi->vars, "pa5ghw1a1");
pi->nphy_pwrctrl_info[0].pwrdet_5gh_b1 =
- (s16) PHY_GETINTVAR(pi, "pa5ghw2a0");
+ (s16) wlapi_getintvar(pi->vars, "pa5ghw2a0");
pi->nphy_pwrctrl_info[1].pwrdet_5gh_b1 =
- (s16) PHY_GETINTVAR(pi, "pa5ghw2a1");
+ (s16) wlapi_getintvar(pi->vars, "pa5ghw2a1");
pi->nphy_pwrctrl_info[0].idle_targ_5gh = 0;
pi->nphy_pwrctrl_info[1].idle_targ_5gh = 0;
- pi->ofdm5ghpo = (u32) PHY_GETINTVAR(pi, "ofdm5ghpo");
+ pi->ofdm5ghpo =
+ (u32) wlapi_getintvar(pi->vars, "ofdm5ghpo");
pi->mcs5ghpo[0] =
- (u16) PHY_GETINTVAR(pi, "mcs5ghpo0");
+ (u16) wlapi_getintvar(pi->vars, "mcs5ghpo0");
pi->mcs5ghpo[1] =
- (u16) PHY_GETINTVAR(pi, "mcs5ghpo1");
+ (u16) wlapi_getintvar(pi->vars, "mcs5ghpo1");
pi->mcs5ghpo[2] =
- (u16) PHY_GETINTVAR(pi, "mcs5ghpo2");
+ (u16) wlapi_getintvar(pi->vars, "mcs5ghpo2");
pi->mcs5ghpo[3] =
- (u16) PHY_GETINTVAR(pi, "mcs5ghpo3");
+ (u16) wlapi_getintvar(pi->vars, "mcs5ghpo3");
pi->mcs5ghpo[4] =
- (u16) PHY_GETINTVAR(pi, "mcs5ghpo4");
+ (u16) wlapi_getintvar(pi->vars, "mcs5ghpo4");
pi->mcs5ghpo[5] =
- (u16) PHY_GETINTVAR(pi, "mcs5ghpo5");
+ (u16) wlapi_getintvar(pi->vars, "mcs5ghpo5");
pi->mcs5ghpo[6] =
- (u16) PHY_GETINTVAR(pi, "mcs5ghpo6");
+ (u16) wlapi_getintvar(pi->vars, "mcs5ghpo6");
pi->mcs5ghpo[7] =
- (u16) PHY_GETINTVAR(pi, "mcs5ghpo7");
+ (u16) wlapi_getintvar(pi->vars, "mcs5ghpo7");
break;
}
}
@@ -14589,34 +14609,40 @@ static void wlc_phy_txpwr_srom_read_ppr_nphy(struct brcms_phy *pi)
static bool wlc_phy_txpwr_srom_read_nphy(struct brcms_phy *pi)
{
- pi->antswitch = (u8) PHY_GETINTVAR(pi, "antswitch");
- pi->aa2g = (u8) PHY_GETINTVAR(pi, "aa2g");
- pi->aa5g = (u8) PHY_GETINTVAR(pi, "aa5g");
-
- pi->srom_fem2g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos2g");
- pi->srom_fem2g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain2g");
- pi->srom_fem2g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange2g");
- pi->srom_fem2g.triso = (u8) PHY_GETINTVAR(pi, "triso2g");
- pi->srom_fem2g.antswctrllut = (u8) PHY_GETINTVAR(pi, "antswctl2g");
-
- pi->srom_fem5g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos5g");
- pi->srom_fem5g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain5g");
- pi->srom_fem5g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange5g");
- pi->srom_fem5g.triso = (u8) PHY_GETINTVAR(pi, "triso5g");
- if (PHY_GETVAR(pi, "antswctl5g"))
+ pi->antswitch = (u8) wlapi_getintvar(pi->vars, "antswitch");
+ pi->aa2g = (u8) wlapi_getintvar(pi->vars, "aa2g");
+ pi->aa5g = (u8) wlapi_getintvar(pi->vars, "aa5g");
+
+ pi->srom_fem2g.tssipos = (u8) wlapi_getintvar(pi->vars, "tssipos2g");
+ pi->srom_fem2g.extpagain =
+ (u8) wlapi_getintvar(pi->vars, "extpagain2g");
+ pi->srom_fem2g.pdetrange =
+ (u8) wlapi_getintvar(pi->vars, "pdetrange2g");
+ pi->srom_fem2g.triso = (u8) wlapi_getintvar(pi->vars, "triso2g");
+ pi->srom_fem2g.antswctrllut =
+ (u8) wlapi_getintvar(pi->vars, "antswctl2g");
+
+ pi->srom_fem5g.tssipos = (u8) wlapi_getintvar(pi->vars, "tssipos5g");
+ pi->srom_fem5g.extpagain =
+ (u8) wlapi_getintvar(pi->vars, "extpagain5g");
+ pi->srom_fem5g.pdetrange =
+ (u8) wlapi_getintvar(pi->vars, "pdetrange5g");
+ pi->srom_fem5g.triso = (u8) wlapi_getintvar(pi->vars, "triso5g");
+ if (wlapi_getvar(pi->vars, "antswctl5g"))
pi->srom_fem5g.antswctrllut =
- (u8) PHY_GETINTVAR(pi, "antswctl5g");
+ (u8) wlapi_getintvar(pi->vars, "antswctl5g");
else
pi->srom_fem5g.antswctrllut =
- (u8) PHY_GETINTVAR(pi, "antswctl2g");
+ (u8) wlapi_getintvar(pi->vars, "antswctl2g");
wlc_phy_txpower_ipa_upd(pi);
- pi->phy_txcore_disable_temp = (s16) PHY_GETINTVAR(pi, "tempthresh");
+ pi->phy_txcore_disable_temp =
+ (s16) wlapi_getintvar(pi->vars, "tempthresh");
if (pi->phy_txcore_disable_temp == 0)
pi->phy_txcore_disable_temp = PHY_CHAIN_TX_DISABLE_TEMP;
- pi->phy_tempsense_offset = (s8) PHY_GETINTVAR(pi, "tempoffset");
+ pi->phy_tempsense_offset = (s8) wlapi_getintvar(pi->vars, "tempoffset");
if (pi->phy_tempsense_offset != 0) {
if (pi->phy_tempsense_offset >
(NPHY_SROM_TEMPSHIFT + NPHY_SROM_MAXTEMPOFFSET))
@@ -14631,7 +14657,8 @@ static bool wlc_phy_txpwr_srom_read_nphy(struct brcms_phy *pi)
pi->phy_txcore_enable_temp =
pi->phy_txcore_disable_temp - PHY_HYSTERESIS_DELTATEMP;
- pi->phycal_tempdelta = (u8) PHY_GETINTVAR(pi, "phycal_tempdelta");
+ pi->phycal_tempdelta =
+ (u8) wlapi_getintvar(pi->vars, "phycal_tempdelta");
if (pi->phycal_tempdelta > NPHY_CAL_MAXTEMPDELTA)
pi->phycal_tempdelta = 0;
diff --git a/drivers/staging/brcm80211/brcmsmac/phy_shim.c b/drivers/staging/brcm80211/brcmsmac/phy_shim.c
index e0c19b62b19..0be07ed3bd1 100644
--- a/drivers/staging/brcm80211/brcmsmac/phy_shim.c
+++ b/drivers/staging/brcm80211/brcmsmac/phy_shim.c
@@ -215,3 +215,12 @@ wlapi_copyto_objmem(struct phy_shim_info *physhim, uint offset, const void *buf,
{
brcms_b_copyto_objmem(physhim->wlc_hw, offset, buf, l, sel);
}
+
+char *wlapi_getvar(char *vars, const char *name)
+{
+ return getvar(vars, name);
+}
+int wlapi_getintvar(char *vars, const char *name)
+{
+ return getintvar(vars, name);
+}
diff --git a/drivers/staging/brcm80211/brcmsmac/phy_shim.h b/drivers/staging/brcm80211/brcmsmac/phy_shim.h
index d88c8202c97..35fe993b74b 100644
--- a/drivers/staging/brcm80211/brcmsmac/phy_shim.h
+++ b/drivers/staging/brcm80211/brcmsmac/phy_shim.h
@@ -178,4 +178,7 @@ extern void wlapi_copyto_objmem(struct phy_shim_info *physhim, uint,
extern void wlapi_high_update_phy_mode(struct phy_shim_info *physhim,
u32 phy_mode);
extern u16 wlapi_bmac_get_txant(struct phy_shim_info *physhim);
+extern char *wlapi_getvar(char *vars, const char *name);
+extern int wlapi_getintvar(char *vars, const char *name);
+
#endif /* _BRCM_PHY_SHIM_H_ */