From: Arend van Spriel Date: Wed, 5 Oct 2011 13:30:44 +0000 (+0200) Subject: staging: brcm80211: move driver variable functions to srom.c X-Git-Tag: upstream/snapshot3+hdmi~8929^2^2~179 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=03c74dada5bf59393d59a3e4bfc44db198f556c6;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git 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 Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Alwin Beukers Reviewed-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/brcm80211/brcmsmac/main.c b/drivers/staging/brcm80211/brcmsmac/main.c index 9fa8485..100e6ec 100644 --- a/drivers/staging/brcm80211/brcmsmac/main.c +++ b/drivers/staging/brcm80211/brcmsmac/main.c @@ -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; -} diff --git a/drivers/staging/brcm80211/brcmsmac/srom.c b/drivers/staging/brcm80211/brcmsmac/srom.c index 13d17eb..02dbd98 100644 --- a/drivers/staging/brcm80211/brcmsmac/srom.c +++ b/drivers/staging/brcm80211/brcmsmac/srom.c @@ -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; +}