staging: brcm80211: move driver variable functions to srom.c
The driver uses variables which are stored in string format. Using strings as variable identifiers is disliked by the community. The driver has been cleaned up and the only module providing these variables is srom.c. The variable retrieval functions have been moved to srom.c in preparation of a more likable way to store and lookup these driver variables. Reported-by: Johannes Berg <johannes@sipsolutions.net> 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>
This commit is contained in:
parent
d0f5527d39
commit
03c74dada5
|
@ -8881,47 +8881,3 @@ void brcms_c_set_radio_mpc(struct brcms_c_info *wlc, bool mpc)
|
|||
wlc->mpc = mpc;
|
||||
brcms_c_radio_mpc_upd(wlc);
|
||||
}
|
||||
|
||||
/*
|
||||
* Search the name=value vars for a specific one and return its value.
|
||||
* Returns NULL if not found.
|
||||
*/
|
||||
char *getvar(char *vars, const char *name)
|
||||
{
|
||||
char *s;
|
||||
int len;
|
||||
|
||||
if (!name)
|
||||
return NULL;
|
||||
|
||||
len = strlen(name);
|
||||
if (len == 0)
|
||||
return NULL;
|
||||
|
||||
/* first look in vars[] */
|
||||
for (s = vars; s && *s;) {
|
||||
if ((memcmp(s, name, len) == 0) && (s[len] == '='))
|
||||
return &s[len + 1];
|
||||
|
||||
while (*s++)
|
||||
;
|
||||
}
|
||||
/* nothing found */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Search the vars for a specific one and return its value as
|
||||
* an integer. Returns 0 if not found.
|
||||
*/
|
||||
int getintvar(char *vars, const char *name)
|
||||
{
|
||||
char *val;
|
||||
unsigned long res;
|
||||
|
||||
val = getvar(vars, name);
|
||||
if (val && !kstrtoul(val, 0, &res))
|
||||
return res;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1242,3 +1242,47 @@ int srom_var_init(struct si_pub *sih, void __iomem *curmap, char **vars,
|
|||
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Search the name=value vars for a specific one and return its value.
|
||||
* Returns NULL if not found.
|
||||
*/
|
||||
char *getvar(char *vars, const char *name)
|
||||
{
|
||||
char *s;
|
||||
int len;
|
||||
|
||||
if (!name)
|
||||
return NULL;
|
||||
|
||||
len = strlen(name);
|
||||
if (len == 0)
|
||||
return NULL;
|
||||
|
||||
/* first look in vars[] */
|
||||
for (s = vars; s && *s;) {
|
||||
if ((memcmp(s, name, len) == 0) && (s[len] == '='))
|
||||
return &s[len + 1];
|
||||
|
||||
while (*s++)
|
||||
;
|
||||
}
|
||||
/* nothing found */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Search the vars for a specific one and return its value as
|
||||
* an integer. Returns 0 if not found.
|
||||
*/
|
||||
int getintvar(char *vars, const char *name)
|
||||
{
|
||||
char *val;
|
||||
unsigned long res;
|
||||
|
||||
val = getvar(vars, name);
|
||||
if (val && !kstrtoul(val, 0, &res))
|
||||
return res;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue