nvp 83 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c static enum nvram_parser_state brcmf_nvram_handle_idle(struct nvram_parser *nvp) nvp 87 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c c = nvp->data[nvp->pos]; nvp 95 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->entry = nvp->pos; nvp 99 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->line, nvp->column); nvp 101 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->column++; nvp 102 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->pos++; nvp 106 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c static enum nvram_parser_state brcmf_nvram_handle_key(struct nvram_parser *nvp) nvp 108 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c enum nvram_parser_state st = nvp->state; nvp 111 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c c = nvp->data[nvp->pos]; nvp 114 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (strncmp(&nvp->data[nvp->entry], "RAW1", 4) == 0) nvp 118 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (strncmp(&nvp->data[nvp->entry], "devpath", 7) == 0) nvp 119 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->multi_dev_v1 = true; nvp 120 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (strncmp(&nvp->data[nvp->entry], "pcie/", 5) == 0) nvp 121 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->multi_dev_v2 = true; nvp 122 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (strncmp(&nvp->data[nvp->entry], "boardrev", 8) == 0) nvp 123 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->boardrev_found = true; nvp 126 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->line, nvp->column); nvp 130 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->column++; nvp 131 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->pos++; nvp 136 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c brcmf_nvram_handle_value(struct nvram_parser *nvp) nvp 143 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c c = nvp->data[nvp->pos]; nvp 146 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c ekv = (u8 *)&nvp->data[nvp->pos]; nvp 147 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c skv = (u8 *)&nvp->data[nvp->entry]; nvp 149 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (nvp->nvram_len + cplen + 1 >= BRCMF_FW_MAX_NVRAM_SIZE) nvp 152 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c memcpy(&nvp->nvram[nvp->nvram_len], skv, cplen); nvp 153 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->nvram_len += cplen; nvp 154 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->nvram[nvp->nvram_len] = '\0'; nvp 155 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->nvram_len++; nvp 158 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->pos++; nvp 159 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->column++; nvp 164 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c brcmf_nvram_handle_comment(struct nvram_parser *nvp) nvp 168 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c sol = (char *)&nvp->data[nvp->pos]; nvp 177 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->line++; nvp 178 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->column = 1; nvp 179 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->pos += (eoc - sol) + 1; nvp 183 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c static enum nvram_parser_state brcmf_nvram_handle_end(struct nvram_parser *nvp) nvp 190 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c (*nv_parser_states[])(struct nvram_parser *nvp) = { nvp 198 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c static int brcmf_init_nvram_parser(struct nvram_parser *nvp, nvp 203 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c memset(nvp, 0, sizeof(*nvp)); nvp 204 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->data = data; nvp 212 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->nvram = kzalloc(size, GFP_KERNEL); nvp 213 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (!nvp->nvram) nvp 216 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->line = 1; nvp 217 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->column = 1; nvp 226 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c static void brcmf_fw_strip_multi_v1(struct nvram_parser *nvp, u16 domain_nr, nvp 240 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvram = kzalloc(nvp->nvram_len + 1 + 3 + sizeof(u32), GFP_KERNEL); nvp 245 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (nvp->nvram_len < BRCMF_FW_NVRAM_DEVPATH_LEN + 6) nvp 259 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c while (i < nvp->nvram_len - BRCMF_FW_NVRAM_DEVPATH_LEN) { nvp 263 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (strncmp(&nvp->nvram[i], "devpath", 7) == 0 && nvp 264 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c (!strncmp(&nvp->nvram[i + 8], pci_path, pci_len) || nvp 265 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c !strncmp(&nvp->nvram[i + 8], pcie_path, pcie_len))) { nvp 266 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c id = nvp->nvram[i + 7] - '0'; nvp 270 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c while (nvp->nvram[i] != 0) nvp 280 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c while (i < nvp->nvram_len) { nvp 281 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if ((nvp->nvram[i] - '0' == id) && (nvp->nvram[i + 1] == ':')) { nvp 283 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (strncmp(&nvp->nvram[i], "boardrev", 8) == 0) nvp 284 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->boardrev_found = true; nvp 285 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c while (nvp->nvram[i] != 0) { nvp 286 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvram[j] = nvp->nvram[i]; nvp 293 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c while (nvp->nvram[i] != 0) nvp 297 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c kfree(nvp->nvram); nvp 298 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->nvram = nvram; nvp 299 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->nvram_len = j; nvp 304 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->nvram_len = 0; nvp 313 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c static void brcmf_fw_strip_multi_v2(struct nvram_parser *nvp, u16 domain_nr, nvp 321 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvram = kzalloc(nvp->nvram_len + 1 + 3 + sizeof(u32), GFP_KERNEL); nvp 333 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c while (i < nvp->nvram_len - len) { nvp 334 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (strncmp(&nvp->nvram[i], prefix, len) == 0) { nvp 336 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (strncmp(&nvp->nvram[i], "boardrev", 8) == 0) nvp 337 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->boardrev_found = true; nvp 338 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c while (nvp->nvram[i] != 0) { nvp 339 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvram[j] = nvp->nvram[i]; nvp 346 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c while (nvp->nvram[i] != 0) nvp 350 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c kfree(nvp->nvram); nvp 351 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->nvram = nvram; nvp 352 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->nvram_len = j; nvp 356 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->nvram_len = 0; nvp 359 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c static void brcmf_fw_add_defaults(struct nvram_parser *nvp) nvp 361 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (nvp->boardrev_found) nvp 364 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c memcpy(&nvp->nvram[nvp->nvram_len], &BRCMF_FW_DEFAULT_BOARDREV, nvp 366 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->nvram_len += strlen(BRCMF_FW_DEFAULT_BOARDREV); nvp 367 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->nvram[nvp->nvram_len] = '\0'; nvp 368 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp->nvram_len++; nvp 379 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c struct nvram_parser nvp; nvp 384 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (brcmf_init_nvram_parser(&nvp, data, data_len) < 0) nvp 387 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c while (nvp.pos < data_len) { nvp 388 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp.state = nv_parser_states[nvp.state](&nvp); nvp 389 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (nvp.state == END) nvp 392 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (nvp.multi_dev_v1) { nvp 393 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp.boardrev_found = false; nvp 394 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c brcmf_fw_strip_multi_v1(&nvp, domain_nr, bus_nr); nvp 395 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c } else if (nvp.multi_dev_v2) { nvp 396 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp.boardrev_found = false; nvp 397 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c brcmf_fw_strip_multi_v2(&nvp, domain_nr, bus_nr); nvp 400 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c if (nvp.nvram_len == 0) { nvp 401 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c kfree(nvp.nvram); nvp 405 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c brcmf_fw_add_defaults(&nvp); nvp 407 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c pad = nvp.nvram_len; nvp 408 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c *new_length = roundup(nvp.nvram_len + 1, 4); nvp 410 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c nvp.nvram[pad] = 0; nvp 418 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c memcpy(&nvp.nvram[*new_length], &token_le, sizeof(token_le)); nvp 421 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c return nvp.nvram; nvp 1390 drivers/scsi/sym53c8xx_2/sym_glue.c static void sym_get_nvram(struct sym_device *devp, struct sym_nvram *nvp) nvp 1392 drivers/scsi/sym53c8xx_2/sym_glue.c devp->nvram = nvp; nvp 1393 drivers/scsi/sym53c8xx_2/sym_glue.c nvp->type = 0; nvp 1395 drivers/scsi/sym53c8xx_2/sym_glue.c sym_read_nvram(devp, nvp); nvp 1398 drivers/scsi/sym53c8xx_2/sym_glue.c static inline void sym_get_nvram(struct sym_device *devp, struct sym_nvram *nvp) nvp 125 drivers/scsi/sym53c8xx_2/sym_nvram.c void sym_nvram_setup_target(struct sym_tcb *tp, int target, struct sym_nvram *nvp) nvp 127 drivers/scsi/sym53c8xx_2/sym_nvram.c switch (nvp->type) { nvp 129 drivers/scsi/sym53c8xx_2/sym_nvram.c sym_Symbios_setup_target(tp, target, &nvp->data.Symbios); nvp 132 drivers/scsi/sym53c8xx_2/sym_nvram.c sym_Tekram_setup_target(tp, target, &nvp->data.Tekram); nvp 741 drivers/scsi/sym53c8xx_2/sym_nvram.c int sym_read_nvram(struct sym_device *np, struct sym_nvram *nvp) nvp 743 drivers/scsi/sym53c8xx_2/sym_nvram.c if (!sym_read_Symbios_nvram(np, &nvp->data.Symbios)) { nvp 744 drivers/scsi/sym53c8xx_2/sym_nvram.c nvp->type = SYM_SYMBIOS_NVRAM; nvp 745 drivers/scsi/sym53c8xx_2/sym_nvram.c sym_display_Symbios_nvram(np, &nvp->data.Symbios); nvp 746 drivers/scsi/sym53c8xx_2/sym_nvram.c } else if (!sym_read_Tekram_nvram(np, &nvp->data.Tekram)) { nvp 747 drivers/scsi/sym53c8xx_2/sym_nvram.c nvp->type = SYM_TEKRAM_NVRAM; nvp 748 drivers/scsi/sym53c8xx_2/sym_nvram.c sym_display_Tekram_nvram(np, &nvp->data.Tekram); nvp 750 drivers/scsi/sym53c8xx_2/sym_nvram.c nvp->type = sym_read_parisc_pdc(np, &nvp->data.parisc); nvp 752 drivers/scsi/sym53c8xx_2/sym_nvram.c return nvp->type; nvp 755 drivers/scsi/sym53c8xx_2/sym_nvram.c char *sym_nvram_type(struct sym_nvram *nvp) nvp 757 drivers/scsi/sym53c8xx_2/sym_nvram.c switch (nvp->type) { nvp 184 drivers/scsi/sym53c8xx_2/sym_nvram.h void sym_nvram_setup_target (struct sym_tcb *tp, int target, struct sym_nvram *nvp); nvp 185 drivers/scsi/sym53c8xx_2/sym_nvram.h int sym_read_nvram (struct sym_device *np, struct sym_nvram *nvp); nvp 186 drivers/scsi/sym53c8xx_2/sym_nvram.h char *sym_nvram_type(struct sym_nvram *nvp); nvp 190 drivers/scsi/sym53c8xx_2/sym_nvram.h static inline int sym_read_nvram(struct sym_device *np, struct sym_nvram *nvp) nvp 192 drivers/scsi/sym53c8xx_2/sym_nvram.h nvp->type = 0; nvp 195 drivers/scsi/sym53c8xx_2/sym_nvram.h static inline char *sym_nvram_type(struct sym_nvram *nvp)