Lines Matching +full:- +full:cfg

1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (c) 2012 - 2018 Microchip Technology Inc., and its subsidiaries.
142 struct wilc_cfg *cfg = &wl->cfg; in wilc_wlan_parse_response_frame() local
150 while (cfg->b[i].id != WID_NIL && cfg->b[i].id != wid) in wilc_wlan_parse_response_frame()
153 if (cfg->b[i].id == wid) in wilc_wlan_parse_response_frame()
154 cfg->b[i].val = info[4]; in wilc_wlan_parse_response_frame()
160 while (cfg->hw[i].id != WID_NIL && cfg->hw[i].id != wid) in wilc_wlan_parse_response_frame()
163 if (cfg->hw[i].id == wid) in wilc_wlan_parse_response_frame()
164 cfg->hw[i].val = get_unaligned_le16(&info[4]); in wilc_wlan_parse_response_frame()
170 while (cfg->w[i].id != WID_NIL && cfg->w[i].id != wid) in wilc_wlan_parse_response_frame()
173 if (cfg->w[i].id == wid) in wilc_wlan_parse_response_frame()
174 cfg->w[i].val = get_unaligned_le32(&info[4]); in wilc_wlan_parse_response_frame()
180 while (cfg->s[i].id != WID_NIL && cfg->s[i].id != wid) in wilc_wlan_parse_response_frame()
183 if (cfg->s[i].id == wid) in wilc_wlan_parse_response_frame()
184 memcpy(cfg->s[i].str, &info[2], in wilc_wlan_parse_response_frame()
193 size -= (2 + len); in wilc_wlan_parse_response_frame()
209 while (wl->cfg.b[i].id != WID_NIL && in wilc_wlan_parse_info_frame()
210 wl->cfg.b[i].id != wid) in wilc_wlan_parse_info_frame()
213 if (wl->cfg.b[i].id == wid) in wilc_wlan_parse_info_frame()
214 wl->cfg.b[i].val = info[3]; in wilc_wlan_parse_info_frame()
274 struct wilc_cfg *cfg = &wl->cfg; in wilc_wlan_cfg_get_val() local
278 while (cfg->b[i].id != WID_NIL && cfg->b[i].id != wid) in wilc_wlan_cfg_get_val()
281 if (cfg->b[i].id == wid) { in wilc_wlan_cfg_get_val()
282 memcpy(buffer, &cfg->b[i].val, 1); in wilc_wlan_cfg_get_val()
286 while (cfg->hw[i].id != WID_NIL && cfg->hw[i].id != wid) in wilc_wlan_cfg_get_val()
289 if (cfg->hw[i].id == wid) { in wilc_wlan_cfg_get_val()
290 memcpy(buffer, &cfg->hw[i].val, 2); in wilc_wlan_cfg_get_val()
294 while (cfg->w[i].id != WID_NIL && cfg->w[i].id != wid) in wilc_wlan_cfg_get_val()
297 if (cfg->w[i].id == wid) { in wilc_wlan_cfg_get_val()
298 memcpy(buffer, &cfg->w[i].val, 4); in wilc_wlan_cfg_get_val()
302 while (cfg->s[i].id != WID_NIL && cfg->s[i].id != wid) in wilc_wlan_cfg_get_val()
305 if (cfg->s[i].id == wid) { in wilc_wlan_cfg_get_val()
306 u16 size = get_unaligned_le16(cfg->s[i].str); in wilc_wlan_cfg_get_val()
309 memcpy(buffer, &cfg->s[i].str[2], size); in wilc_wlan_cfg_get_val()
326 size -= 4; in wilc_wlan_cfg_indicate_rx()
327 rsp->type = 0; in wilc_wlan_cfg_indicate_rx()
332 rsp->type = WILC_CFG_RSP; in wilc_wlan_cfg_indicate_rx()
333 rsp->seq_no = msg_id; in wilc_wlan_cfg_indicate_rx()
338 rsp->type = WILC_CFG_RSP_STATUS; in wilc_wlan_cfg_indicate_rx()
339 rsp->seq_no = msg_id; in wilc_wlan_cfg_indicate_rx()
341 wilc_gnrl_async_info_received(wilc, frame - 4, size + 4); in wilc_wlan_cfg_indicate_rx()
345 wilc_network_info_received(wilc, frame - 4, size + 4); in wilc_wlan_cfg_indicate_rx()
349 wilc_scan_complete_received(wilc, frame - 4, size + 4); in wilc_wlan_cfg_indicate_rx()
353 rsp->seq_no = msg_id; in wilc_wlan_cfg_indicate_rx()
363 wl->cfg.b = kmemdup(g_cfg_byte, sizeof(g_cfg_byte), GFP_KERNEL); in wilc_wlan_cfg_init()
364 if (!wl->cfg.b) in wilc_wlan_cfg_init()
365 return -ENOMEM; in wilc_wlan_cfg_init()
367 wl->cfg.hw = kmemdup(g_cfg_hword, sizeof(g_cfg_hword), GFP_KERNEL); in wilc_wlan_cfg_init()
368 if (!wl->cfg.hw) in wilc_wlan_cfg_init()
371 wl->cfg.w = kmemdup(g_cfg_word, sizeof(g_cfg_word), GFP_KERNEL); in wilc_wlan_cfg_init()
372 if (!wl->cfg.w) in wilc_wlan_cfg_init()
375 wl->cfg.s = kmemdup(g_cfg_str, sizeof(g_cfg_str), GFP_KERNEL); in wilc_wlan_cfg_init()
376 if (!wl->cfg.s) in wilc_wlan_cfg_init()
383 wl->cfg.str_vals = str_vals; in wilc_wlan_cfg_init()
384 /* store the string cfg parameters */ in wilc_wlan_cfg_init()
385 wl->cfg.s[i].id = WID_FIRMWARE_VERSION; in wilc_wlan_cfg_init()
386 wl->cfg.s[i].str = str_vals->firmware_version; in wilc_wlan_cfg_init()
388 wl->cfg.s[i].id = WID_MAC_ADDR; in wilc_wlan_cfg_init()
389 wl->cfg.s[i].str = str_vals->mac_address; in wilc_wlan_cfg_init()
391 wl->cfg.s[i].id = WID_ASSOC_RES_INFO; in wilc_wlan_cfg_init()
392 wl->cfg.s[i].str = str_vals->assoc_rsp; in wilc_wlan_cfg_init()
394 wl->cfg.s[i].id = WID_NIL; in wilc_wlan_cfg_init()
395 wl->cfg.s[i].str = NULL; in wilc_wlan_cfg_init()
399 kfree(wl->cfg.s); in wilc_wlan_cfg_init()
401 kfree(wl->cfg.w); in wilc_wlan_cfg_init()
403 kfree(wl->cfg.hw); in wilc_wlan_cfg_init()
405 kfree(wl->cfg.b); in wilc_wlan_cfg_init()
406 return -ENOMEM; in wilc_wlan_cfg_init()
411 kfree(wl->cfg.b); in wilc_wlan_cfg_deinit()
412 kfree(wl->cfg.hw); in wilc_wlan_cfg_deinit()
413 kfree(wl->cfg.w); in wilc_wlan_cfg_deinit()
414 kfree(wl->cfg.s); in wilc_wlan_cfg_deinit()
415 kfree(wl->cfg.str_vals); in wilc_wlan_cfg_deinit()