Lines Matching refs:nvp

76 static enum nvram_parser_state brcmf_nvram_handle_idle(struct nvram_parser *nvp)  in brcmf_nvram_handle_idle()  argument
80 c = nvp->fwnv->data[nvp->pos]; in brcmf_nvram_handle_idle()
88 nvp->entry = nvp->pos; in brcmf_nvram_handle_idle()
92 nvp->line, nvp->column); in brcmf_nvram_handle_idle()
94 nvp->column++; in brcmf_nvram_handle_idle()
95 nvp->pos++; in brcmf_nvram_handle_idle()
99 static enum nvram_parser_state brcmf_nvram_handle_key(struct nvram_parser *nvp) in brcmf_nvram_handle_key() argument
101 enum nvram_parser_state st = nvp->state; in brcmf_nvram_handle_key()
104 c = nvp->fwnv->data[nvp->pos]; in brcmf_nvram_handle_key()
107 if (strncmp(&nvp->fwnv->data[nvp->entry], "RAW1", 4) == 0) in brcmf_nvram_handle_key()
113 nvp->line, nvp->column); in brcmf_nvram_handle_key()
117 nvp->column++; in brcmf_nvram_handle_key()
118 nvp->pos++; in brcmf_nvram_handle_key()
123 brcmf_nvram_handle_value(struct nvram_parser *nvp) in brcmf_nvram_handle_value() argument
130 c = nvp->fwnv->data[nvp->pos]; in brcmf_nvram_handle_value()
133 ekv = (u8 *)&nvp->fwnv->data[nvp->pos]; in brcmf_nvram_handle_value()
134 skv = (u8 *)&nvp->fwnv->data[nvp->entry]; in brcmf_nvram_handle_value()
137 memcpy(&nvp->nvram[nvp->nvram_len], skv, cplen); in brcmf_nvram_handle_value()
138 nvp->nvram_len += cplen; in brcmf_nvram_handle_value()
139 nvp->nvram[nvp->nvram_len] = '\0'; in brcmf_nvram_handle_value()
140 nvp->nvram_len++; in brcmf_nvram_handle_value()
143 nvp->pos++; in brcmf_nvram_handle_value()
144 nvp->column++; in brcmf_nvram_handle_value()
149 brcmf_nvram_handle_comment(struct nvram_parser *nvp) in brcmf_nvram_handle_comment() argument
153 sol = (char *)&nvp->fwnv->data[nvp->pos]; in brcmf_nvram_handle_comment()
159 nvp->line++; in brcmf_nvram_handle_comment()
160 nvp->column = 1; in brcmf_nvram_handle_comment()
161 nvp->pos += (eol - sol) + 1; in brcmf_nvram_handle_comment()
165 static enum nvram_parser_state brcmf_nvram_handle_end(struct nvram_parser *nvp) in brcmf_nvram_handle_end() argument
172 (*nv_parser_states[])(struct nvram_parser *nvp) = {
180 static int brcmf_init_nvram_parser(struct nvram_parser *nvp, in brcmf_init_nvram_parser() argument
183 memset(nvp, 0, sizeof(*nvp)); in brcmf_init_nvram_parser()
184 nvp->fwnv = nv; in brcmf_init_nvram_parser()
186 nvp->nvram = kzalloc(nv->size + 1 + 3 + sizeof(u32), GFP_KERNEL); in brcmf_init_nvram_parser()
187 if (!nvp->nvram) in brcmf_init_nvram_parser()
190 nvp->line = 1; in brcmf_init_nvram_parser()
191 nvp->column = 1; in brcmf_init_nvram_parser()
202 struct nvram_parser nvp; in brcmf_fw_nvram_strip() local
207 if (brcmf_init_nvram_parser(&nvp, nv) < 0) in brcmf_fw_nvram_strip()
210 while (nvp.pos < nv->size) { in brcmf_fw_nvram_strip()
211 nvp.state = nv_parser_states[nvp.state](&nvp); in brcmf_fw_nvram_strip()
212 if (nvp.state == END) in brcmf_fw_nvram_strip()
215 pad = nvp.nvram_len; in brcmf_fw_nvram_strip()
216 *new_length = roundup(nvp.nvram_len + 1, 4); in brcmf_fw_nvram_strip()
218 nvp.nvram[pad] = 0; in brcmf_fw_nvram_strip()
226 memcpy(&nvp.nvram[*new_length], &token_le, sizeof(token_le)); in brcmf_fw_nvram_strip()
229 return nvp.nvram; in brcmf_fw_nvram_strip()