From e2ac9212b5259e6d075f433dade7d312d77872c4 Mon Sep 17 00:00:00 2001 From: Arend van Spriel Date: Wed, 5 Oct 2011 15:20:12 +0200 Subject: [PATCH] --- yaml --- r: 268726 b: refs/heads/master c: 5d3e78eeebb4143a0b5bd53547eb16968f43b5bc h: refs/heads/master v: v3 --- [refs] | 2 +- .../staging/brcm80211/brcmsmac/aiutils.c | 13 +++----- .../staging/brcm80211/brcmsmac/aiutils.h | 5 +--- .../drivers/staging/brcm80211/brcmsmac/main.c | 30 ++----------------- .../drivers/staging/brcm80211/brcmsmac/main.h | 5 ---- .../staging/brcm80211/brcmsmac/phy/phy_cmn.c | 6 +--- .../staging/brcm80211/brcmsmac/phy/phy_hal.h | 4 +-- .../staging/brcm80211/brcmsmac/phy/phy_int.h | 1 - .../drivers/staging/brcm80211/brcmsmac/pub.h | 1 - .../drivers/staging/brcm80211/brcmsmac/srom.c | 14 ++------- .../drivers/staging/brcm80211/brcmsmac/srom.h | 3 +- 11 files changed, 15 insertions(+), 69 deletions(-) diff --git a/[refs] b/[refs] index 379a9e839902..c9f15840fddd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4d648c8b329db8198d6196468ff4d5326739e507 +refs/heads/master: 5d3e78eeebb4143a0b5bd53547eb16968f43b5bc diff --git a/trunk/drivers/staging/brcm80211/brcmsmac/aiutils.c b/trunk/drivers/staging/brcm80211/brcmsmac/aiutils.c index afba8b120709..025fa0eb6f47 100644 --- a/trunk/drivers/staging/brcm80211/brcmsmac/aiutils.c +++ b/trunk/drivers/staging/brcm80211/brcmsmac/aiutils.c @@ -1025,8 +1025,7 @@ static __used void ai_nvram_process(struct si_info *sii) } static struct si_info *ai_doattach(struct si_info *sii, - void __iomem *regs, struct pci_dev *pbus, - char **vars, uint *varsz) + void __iomem *regs, struct pci_dev *pbus) { struct si_pub *sih = &sii->pub; u32 w, savewin; @@ -1091,11 +1090,9 @@ static struct si_info *ai_doattach(struct si_info *sii, goto exit; /* Init nvram from sprom/otp if they exist */ - if (srom_var_init(&sii->pub, cc, vars, varsz)) + if (srom_var_init(&sii->pub, cc)) goto exit; - sii->vars = vars ? *vars : NULL; - sii->varsz = varsz ? *varsz : 0; ai_nvram_process(sii); /* === NVRAM, clock is ready === */ @@ -1172,11 +1169,9 @@ static struct si_info *ai_doattach(struct si_info *sii, * devid - pci device id (used to determine chip#) * osh - opaque OS handle * regs - virtual address of initial core registers - * vars - pointer to a pointer area for "environment" variables - * varsz - pointer to int to return the size of the vars */ struct si_pub * -ai_attach(void __iomem *regs, struct pci_dev *sdh, char **vars, uint *varsz) +ai_attach(void __iomem *regs, struct pci_dev *sdh) { struct si_info *sii; @@ -1185,7 +1180,7 @@ ai_attach(void __iomem *regs, struct pci_dev *sdh, char **vars, uint *varsz) if (sii == NULL) return NULL; - if (ai_doattach(sii, regs, sdh, vars, varsz) == NULL) { + if (ai_doattach(sii, regs, sdh) == NULL) { kfree(sii); return NULL; } diff --git a/trunk/drivers/staging/brcm80211/brcmsmac/aiutils.h b/trunk/drivers/staging/brcm80211/brcmsmac/aiutils.h index dce555133744..106a7424a7cd 100644 --- a/trunk/drivers/staging/brcm80211/brcmsmac/aiutils.h +++ b/trunk/drivers/staging/brcm80211/brcmsmac/aiutils.h @@ -267,8 +267,6 @@ struct si_info { struct pcicore_info *pch; /* PCI/E core handle */ struct list_head var_list; /* list of srom variables */ - char *vars; - uint varsz; void __iomem *curmap; /* current regs va */ void __iomem *regs[SI_MAXCORES]; /* other regs va */ @@ -320,8 +318,7 @@ extern u32 ai_addrspacesize(struct si_pub *sih, uint asidx); extern void ai_write_wrap_reg(struct si_pub *sih, u32 offset, u32 val); /* === exported functions === */ -extern struct si_pub *ai_attach(void __iomem *regs, struct pci_dev *sdh, - char **vars, uint *varsz); +extern struct si_pub *ai_attach(void __iomem *regs, struct pci_dev *sdh); extern void ai_detach(struct si_pub *sih); extern uint ai_coreid(struct si_pub *sih); extern uint ai_corerev(struct si_pub *sih); diff --git a/trunk/drivers/staging/brcm80211/brcmsmac/main.c b/trunk/drivers/staging/brcm80211/brcmsmac/main.c index 5ec25e89eefc..1e35be95262b 100644 --- a/trunk/drivers/staging/brcm80211/brcmsmac/main.c +++ b/trunk/drivers/staging/brcm80211/brcmsmac/main.c @@ -3106,16 +3106,6 @@ brcms_b_copyfrom_objmem(struct brcms_hardware *wlc_hw, uint offset, void *buf, } } -static void brcms_b_copyfrom_vars(struct brcms_hardware *wlc_hw, char **buf, - uint *len) -{ - BCMMSG(wlc_hw->wlc->wiphy, "nvram vars totlen=%d\n", - wlc_hw->vars_size); - - *buf = wlc_hw->vars; - *len = wlc_hw->vars_size; -} - static void brcms_b_retrylimit_upd(struct brcms_hardware *wlc_hw, u16 SRL, u16 LRL) { @@ -4551,7 +4541,6 @@ static int brcms_b_attach(struct brcms_c_info *wlc, u16 vendor, u16 device, struct brcms_hardware *wlc_hw; struct d11regs __iomem *regs; char *macaddr = NULL; - char *vars; uint err = 0; uint j; bool wme = false; @@ -4576,15 +4565,13 @@ static int brcms_b_attach(struct brcms_c_info *wlc, u16 vendor, u16 device, * Do the hardware portion of the attach. Also initialize software * state that depends on the particular hardware we are running. */ - wlc_hw->sih = ai_attach(regsva, btparam, - &wlc_hw->vars, &wlc_hw->vars_size); + wlc_hw->sih = ai_attach(regsva, btparam); if (wlc_hw->sih == NULL) { wiphy_err(wiphy, "wl%d: brcms_b_attach: si_attach failed\n", unit); err = 11; goto fail; } - vars = wlc_hw->vars; /* verify again the device is supported */ if (!brcms_c_chipmatch(vendor, device)) { @@ -4692,7 +4679,6 @@ static int brcms_b_attach(struct brcms_c_info *wlc, u16 vendor, u16 device, sha_params.physhim = wlc_hw->physhim; sha_params.unit = unit; sha_params.corerev = wlc_hw->corerev; - sha_params.vars = vars; sha_params.vid = wlc_hw->vendorid; sha_params.did = wlc_hw->deviceid; sha_params.chip = wlc_hw->sih->chip; @@ -4738,8 +4724,8 @@ static int brcms_b_attach(struct brcms_c_info *wlc, u16 vendor, u16 device, /* Get a phy for this band */ wlc_hw->band->pi = wlc_phy_attach(wlc_hw->phy_sh, regs, - wlc_hw->band->bandtype, vars, - wlc->wiphy); + wlc_hw->band->bandtype, + wlc->wiphy); if (wlc_hw->band->pi == NULL) { wiphy_err(wiphy, "wl%d: brcms_b_attach: wlc_phy_" "attach failed\n", unit); @@ -4897,12 +4883,10 @@ static bool brcms_c_attach_stf_ant_init(struct brcms_c_info *wlc) { int aa; uint unit; - char *vars; int bandtype; struct si_pub *sih = wlc->hw->sih; unit = wlc->pub->unit; - vars = wlc->pub->vars; bandtype = wlc->band->bandtype; /* get antennas available */ @@ -5092,10 +5076,6 @@ brcms_c_attach(struct brcms_info *wl, u16 vendor, u16 device, uint unit, pub->phy_11ncapable = BRCMS_PHY_11N_CAP(wlc->band); - /* propagate *vars* from BMAC driver to high driver */ - brcms_b_copyfrom_vars(wlc->hw, &pub->vars, &wlc->vars_size); - - /* disable allowed duty cycle */ wlc->tx_duty_cycle_ofdm = 0; wlc->tx_duty_cycle_cck = 0; @@ -5304,10 +5284,6 @@ static int brcms_b_detach(struct brcms_c_info *wlc) wlc_phy_shim_detach(wlc_hw->physhim); - /* free vars */ - kfree(wlc_hw->vars); - wlc_hw->vars = NULL; - if (wlc_hw->sih) { ai_detach(wlc_hw->sih); wlc_hw->sih = NULL; diff --git a/trunk/drivers/staging/brcm80211/brcmsmac/main.h b/trunk/drivers/staging/brcm80211/brcmsmac/main.h index 441292a24183..7a2554f611a6 100644 --- a/trunk/drivers/staging/brcm80211/brcmsmac/main.h +++ b/trunk/drivers/staging/brcm80211/brcmsmac/main.h @@ -336,8 +336,6 @@ struct brcms_hardware { u32 machwcap_backup; /* backup of machwcap */ struct si_pub *sih; /* SI handle (cookie for siutils calls) */ - char *vars; /* "environment" name=value */ - uint vars_size; /* size of vars, free vars on detach */ struct d11regs __iomem *regs; /* pointer to device registers */ struct phy_shim_info *physhim; /* phy shim layer handler */ struct shared_phy *phy_sh; /* pointer to shared phy state */ @@ -420,7 +418,6 @@ struct brcms_txq_info { * ampdu: ampdu module handler. * asi: antsel module handler. * cmi: channel manager module handler. - * vars_size: size of vars, free vars on detach. * vendorid: PCI vendor id. * deviceid: PCI device id. * ucode_rev: microcode revision. @@ -513,8 +510,6 @@ struct brcms_c_info { struct antsel_info *asi; struct brcms_cm_info *cmi; - uint vars_size; - u16 vendorid; u16 deviceid; uint ucode_rev; diff --git a/trunk/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c b/trunk/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c index 59767e36735c..d54cfdb0a8e1 100644 --- a/trunk/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c +++ b/trunk/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c @@ -459,7 +459,7 @@ static u32 wlc_phy_get_radio_ver(struct brcms_phy *pi) struct brcms_phy_pub * wlc_phy_attach(struct shared_phy *sh, struct d11regs __iomem *regs, - int bandtype, char *vars, struct wiphy *wiphy) + int bandtype, struct wiphy *wiphy) { struct brcms_phy *pi; u32 sflags = 0; @@ -493,8 +493,6 @@ wlc_phy_attach(struct shared_phy *sh, struct d11regs __iomem *regs, pi->phy_init_por = true; pi->phy_wreg_limit = PHY_WREG_LIMIT; - pi->vars = vars; - pi->txpwr_percent = 100; pi->do_initcal = true; @@ -609,8 +607,6 @@ wlc_phy_attach(struct shared_phy *sh, struct d11regs __iomem *regs, pi->next = pi->sh->phy_head; sh->phy_head = pi; - pi->vars = (char *)&pi->vars; - memcpy(&pi->pubpi_ro, &pi->pubpi, sizeof(struct brcms_phy_pub)); return &pi->pubpi_ro; diff --git a/trunk/drivers/staging/brcm80211/brcmsmac/phy/phy_hal.h b/trunk/drivers/staging/brcm80211/brcmsmac/phy/phy_hal.h index 44818af3047e..96e15163222b 100644 --- a/trunk/drivers/staging/brcm80211/brcmsmac/phy/phy_hal.h +++ b/trunk/drivers/staging/brcm80211/brcmsmac/phy/phy_hal.h @@ -167,7 +167,6 @@ struct shared_phy_params { uint unit; uint corerev; uint buscorerev; - char *vars; u16 vid; u16 did; uint chip; @@ -185,8 +184,7 @@ struct shared_phy_params { extern struct shared_phy *wlc_phy_shared_attach(struct shared_phy_params *shp); extern struct brcms_phy_pub *wlc_phy_attach(struct shared_phy *sh, struct d11regs __iomem *regs, - int bandtype, char *vars, - struct wiphy *wiphy); + int bandtype, struct wiphy *wiphy); extern void wlc_phy_detach(struct brcms_phy_pub *ppi); extern bool wlc_phy_get_phyversion(struct brcms_phy_pub *pih, u16 *phytype, diff --git a/trunk/drivers/staging/brcm80211/brcmsmac/phy/phy_int.h b/trunk/drivers/staging/brcm80211/brcmsmac/phy/phy_int.h index 4330e3846d9c..bea85241a244 100644 --- a/trunk/drivers/staging/brcm80211/brcmsmac/phy/phy_int.h +++ b/trunk/drivers/staging/brcm80211/brcmsmac/phy/phy_int.h @@ -561,7 +561,6 @@ struct brcms_phy { struct d11regs __iomem *regs; struct brcms_phy *next; - char *vars; struct brcms_phy_pub pubpi; bool do_initcal; diff --git a/trunk/drivers/staging/brcm80211/brcmsmac/pub.h b/trunk/drivers/staging/brcm80211/brcmsmac/pub.h index 8c9ac8f4ee00..3942f47b15c3 100644 --- a/trunk/drivers/staging/brcm80211/brcmsmac/pub.h +++ b/trunk/drivers/staging/brcm80211/brcmsmac/pub.h @@ -407,7 +407,6 @@ struct brcms_pub { uint unit; /* device instance number */ uint corerev; /* core revision */ struct si_pub *sih; /* SI handle (cookie for siutils calls) */ - char *vars; /* "environment" name=value */ bool up; /* interface up and running */ bool hw_off; /* HW is off */ bool hw_up; /* one time hw up/down */ diff --git a/trunk/drivers/staging/brcm80211/brcmsmac/srom.c b/trunk/drivers/staging/brcm80211/brcmsmac/srom.c index 8400cf41e9a0..99f791048e84 100644 --- a/trunk/drivers/staging/brcm80211/brcmsmac/srom.c +++ b/trunk/drivers/staging/brcm80211/brcmsmac/srom.c @@ -1154,8 +1154,7 @@ static int otp_read_pci(struct si_pub *sih, u16 *buf, uint bufsz) * Initialize nonvolatile variable table from sprom. * Return 0 on success, nonzero on error. */ -static int initvars_srom_pci(struct si_pub *sih, void __iomem *curmap, - char **vars, uint *count) +static int initvars_srom_pci(struct si_pub *sih, void __iomem *curmap) { u16 *srom; u16 __iomem *sromwindow; @@ -1243,21 +1242,14 @@ void srom_free_vars(struct si_pub *sih) * Initialize local vars from the right source for this platform. * Return 0 on success, nonzero on error. */ -int srom_var_init(struct si_pub *sih, void __iomem *curmap, char **vars, - uint *count) +int srom_var_init(struct si_pub *sih, void __iomem *curmap) { uint len; len = 0; - if (vars == NULL || count == NULL) - return 0; - - *vars = NULL; - *count = 0; - if (curmap != NULL) - return initvars_srom_pci(sih, curmap, vars, count); + return initvars_srom_pci(sih, curmap); return -EINVAL; } diff --git a/trunk/drivers/staging/brcm80211/brcmsmac/srom.h b/trunk/drivers/staging/brcm80211/brcmsmac/srom.h index 395ab7ffb523..708c43ff51cc 100644 --- a/trunk/drivers/staging/brcm80211/brcmsmac/srom.h +++ b/trunk/drivers/staging/brcm80211/brcmsmac/srom.h @@ -20,8 +20,7 @@ #include "types.h" /* Prototypes */ -extern int srom_var_init(struct si_pub *sih, void __iomem *curmap, char **vars, - uint *count); +extern int srom_var_init(struct si_pub *sih, void __iomem *curmap); extern void srom_free_vars(struct si_pub *sih); extern int srom_read(struct si_pub *sih, uint bus, void *curmap,