Merge tag 'platform-drivers-x86-v5.4-2' of git://git.infradead.org/linux-platform...
[linux-2.6-block.git] / drivers / staging / wilc1000 / wilc_wlan_cfg.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
e61c7a1c
AS
2/*
3 * Copyright (c) 2012 - 2018 Microchip Technology Inc., and its subsidiaries.
4 * All rights reserved.
5 */
c5c77ba1
JK
6
7#ifndef WILC_WLAN_CFG_H
8#define WILC_WLAN_CFG_H
9
837f9989 10struct wilc_cfg_byte {
ec53adfe 11 u16 id;
043c9780 12 u8 val;
837f9989 13};
c5c77ba1 14
837f9989 15struct wilc_cfg_hword {
ec53adfe
CL
16 u16 id;
17 u16 val;
837f9989 18};
c5c77ba1 19
837f9989 20struct wilc_cfg_word {
41203a45 21 u16 id;
fbc2fe16 22 u32 val;
837f9989 23};
c5c77ba1 24
837f9989 25struct wilc_cfg_str {
41203a45 26 u16 id;
51e825f7 27 u8 *str;
837f9989 28};
c5c77ba1 29
cb6f1f57 30struct wilc_cfg_str_vals {
acceb12a
AS
31 u8 mac_address[7];
32 u8 firmware_version[129];
33 u8 assoc_rsp[256];
34};
35
36struct wilc_cfg {
37 struct wilc_cfg_byte *b;
38 struct wilc_cfg_hword *hw;
39 struct wilc_cfg_word *w;
40 struct wilc_cfg_str *s;
cb6f1f57 41 struct wilc_cfg_str_vals *str_vals;
acceb12a
AS
42};
43
cd04d221 44struct wilc;
17e8f165 45int wilc_wlan_cfg_set_wid(u8 *frame, u32 offset, u16 id, u8 *buf, int size);
ec1b86bf 46int wilc_wlan_cfg_get_wid(u8 *frame, u32 offset, u16 id);
4ad36601
ND
47int wilc_wlan_cfg_get_val(struct wilc *wl, u16 wid, u8 *buffer,
48 u32 buffer_size);
5d482d2d
AS
49void wilc_wlan_cfg_indicate_rx(struct wilc *wilc, u8 *frame, int size,
50 struct wilc_cfg_rsp *rsp);
acceb12a
AS
51int wilc_wlan_cfg_init(struct wilc *wl);
52void wilc_wlan_cfg_deinit(struct wilc *wl);
17e8f165 53
c5c77ba1 54#endif