From: Henry Ptasinski Date: Mon, 9 May 2011 14:33:08 +0000 (+0200) Subject: staging: brcm80211: move another file only used by brcmsmac into appropriate dir X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=192f25a24f433886a97fc164182cd35963f0bf57;p=deliverable%2Flinux.git staging: brcm80211: move another file only used by brcmsmac into appropriate dir nvram functions are only needed by brcmsmac. Cc: devel@linuxdriverproject.org Cc: linux-wireless@vger.kernel.org Reviewed-by: Brett Rudley Signed-off-by: Arend van Spriel Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/brcm80211/brcmsmac/Makefile b/drivers/staging/brcm80211/brcmsmac/Makefile index 1cd3a1eada96..ccf1ced2d2ea 100644 --- a/drivers/staging/brcm80211/brcmsmac/Makefile +++ b/drivers/staging/brcm80211/brcmsmac/Makefile @@ -53,7 +53,7 @@ BRCMSMAC_OFILES := \ nicpci.o \ ../util/bcmutils.o \ ../util/bcmwifi.o \ - ../util/nvram/nvram_ro.o + nvram.o MODULEPFX := brcmsmac diff --git a/drivers/staging/brcm80211/brcmsmac/nvram.c b/drivers/staging/brcm80211/brcmsmac/nvram.c new file mode 100644 index 000000000000..0e93a55d728e --- /dev/null +++ b/drivers/staging/brcm80211/brcmsmac/nvram.c @@ -0,0 +1,177 @@ +/* + * Copyright (c) 2010 Broadcom Corporation + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define NVR_MSG(x) + +typedef struct _vars { + struct _vars *next; + int bufsz; /* allocated size */ + int size; /* actual vars size */ + char *vars; +} vars_t; + +#define VARS_T_OH sizeof(vars_t) + +static vars_t *vars; + +#define NVRAM_FILE 1 + +static char *findvar(char *vars, char *lim, const char *name); + +int nvram_init(void *si) +{ + + /* Make sure we read nvram in flash just once before freeing the memory */ + if (vars != NULL) { + NVR_MSG(("nvram_init: called again without calling nvram_exit()\n")); + return 0; + } + return 0; +} + +int nvram_append(void *si, char *varlst, uint varsz) +{ + uint bufsz = VARS_T_OH; + vars_t *new; + + new = kmalloc(bufsz, GFP_ATOMIC); + if (new == NULL) + return -ENOMEM; + + new->vars = varlst; + new->bufsz = bufsz; + new->size = varsz; + new->next = vars; + vars = new; + + return 0; +} + +void nvram_exit(void *si) +{ + vars_t *this, *next; + si_t *sih; + + sih = (si_t *) si; + this = vars; + + if (this) + kfree(this->vars); + + while (this) { + next = this->next; + kfree(this); + this = next; + } + vars = NULL; +} + +static char *findvar(char *vars, char *lim, const char *name) +{ + char *s; + int len; + + len = strlen(name); + + for (s = vars; (s < lim) && *s;) { + if ((memcmp(s, name, len) == 0) && (s[len] == '=')) + return &s[len + 1]; + + while (*s++) + ; + } + + return NULL; +} + +char *nvram_get(const char *name) +{ + char *v = NULL; + vars_t *cur; + + for (cur = vars; cur; cur = cur->next) { + v = findvar(cur->vars, cur->vars + cur->size, name); + if (v) + break; + } + + return v; +} + +int nvram_set(const char *name, const char *value) +{ + return 0; +} + +int nvram_unset(const char *name) +{ + return 0; +} + +int nvram_reset(void *si) +{ + return 0; +} + +int nvram_commit(void) +{ + return 0; +} + +int nvram_getall(char *buf, int count) +{ + int len, resid = count; + vars_t *this; + + this = vars; + while (this) { + char *from, *lim, *to; + int acc; + + from = this->vars; + lim = (char *)(this->vars + this->size); + to = buf; + acc = 0; + while ((from < lim) && (*from)) { + len = strlen(from) + 1; + if (resid < (acc + len)) + return -EOVERFLOW; + memcpy(to, from, len); + acc += len; + from += len; + to += len; + } + + resid -= acc; + buf += acc; + this = this->next; + } + if (resid < 1) + return -EOVERFLOW; + *buf = '\0'; + return 0; +} diff --git a/drivers/staging/brcm80211/util/nvram/nvram_ro.c b/drivers/staging/brcm80211/util/nvram/nvram_ro.c deleted file mode 100644 index 0e93a55d728e..000000000000 --- a/drivers/staging/brcm80211/util/nvram/nvram_ro.c +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Copyright (c) 2010 Broadcom Corporation - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY - * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION - * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN - * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define NVR_MSG(x) - -typedef struct _vars { - struct _vars *next; - int bufsz; /* allocated size */ - int size; /* actual vars size */ - char *vars; -} vars_t; - -#define VARS_T_OH sizeof(vars_t) - -static vars_t *vars; - -#define NVRAM_FILE 1 - -static char *findvar(char *vars, char *lim, const char *name); - -int nvram_init(void *si) -{ - - /* Make sure we read nvram in flash just once before freeing the memory */ - if (vars != NULL) { - NVR_MSG(("nvram_init: called again without calling nvram_exit()\n")); - return 0; - } - return 0; -} - -int nvram_append(void *si, char *varlst, uint varsz) -{ - uint bufsz = VARS_T_OH; - vars_t *new; - - new = kmalloc(bufsz, GFP_ATOMIC); - if (new == NULL) - return -ENOMEM; - - new->vars = varlst; - new->bufsz = bufsz; - new->size = varsz; - new->next = vars; - vars = new; - - return 0; -} - -void nvram_exit(void *si) -{ - vars_t *this, *next; - si_t *sih; - - sih = (si_t *) si; - this = vars; - - if (this) - kfree(this->vars); - - while (this) { - next = this->next; - kfree(this); - this = next; - } - vars = NULL; -} - -static char *findvar(char *vars, char *lim, const char *name) -{ - char *s; - int len; - - len = strlen(name); - - for (s = vars; (s < lim) && *s;) { - if ((memcmp(s, name, len) == 0) && (s[len] == '=')) - return &s[len + 1]; - - while (*s++) - ; - } - - return NULL; -} - -char *nvram_get(const char *name) -{ - char *v = NULL; - vars_t *cur; - - for (cur = vars; cur; cur = cur->next) { - v = findvar(cur->vars, cur->vars + cur->size, name); - if (v) - break; - } - - return v; -} - -int nvram_set(const char *name, const char *value) -{ - return 0; -} - -int nvram_unset(const char *name) -{ - return 0; -} - -int nvram_reset(void *si) -{ - return 0; -} - -int nvram_commit(void) -{ - return 0; -} - -int nvram_getall(char *buf, int count) -{ - int len, resid = count; - vars_t *this; - - this = vars; - while (this) { - char *from, *lim, *to; - int acc; - - from = this->vars; - lim = (char *)(this->vars + this->size); - to = buf; - acc = 0; - while ((from < lim) && (*from)) { - len = strlen(from) + 1; - if (resid < (acc + len)) - return -EOVERFLOW; - memcpy(to, from, len); - acc += len; - from += len; - to += len; - } - - resid -= acc; - buf += acc; - this = this->next; - } - if (resid < 1) - return -EOVERFLOW; - *buf = '\0'; - return 0; -}