drivers/net/wireless/microchip/wilc1000/hif.h

Source file repositories/reference/linux-study-clean/drivers/net/wireless/microchip/wilc1000/hif.h

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/microchip/wilc1000/hif.h
Extension
.h
Size
6416 bytes
Lines
221
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct rf_info {
	u8 link_speed;
	s8 rssi;
	u32 tx_cnt;
	u32 rx_cnt;
	u32 tx_fail_cnt;
};

enum host_if_state {
	HOST_IF_IDLE			= 0,
	HOST_IF_SCANNING		= 1,
	HOST_IF_CONNECTING		= 2,
	HOST_IF_WAITING_CONN_RESP	= 3,
	HOST_IF_CONNECTED		= 4,
	HOST_IF_P2P_LISTEN		= 5,
	HOST_IF_EXTERNAL_AUTH           = 6,
	HOST_IF_FORCE_32BIT		= 0xFFFFFFFF
};

struct cfg_param_attr {
	u32 flag;
	u16 short_retry_limit;
	u16 long_retry_limit;
	u16 frag_threshold;
	u16 rts_threshold;
};

enum cfg_param {
	WILC_CFG_PARAM_RETRY_SHORT = BIT(0),
	WILC_CFG_PARAM_RETRY_LONG = BIT(1),
	WILC_CFG_PARAM_FRAG_THRESHOLD = BIT(2),
	WILC_CFG_PARAM_RTS_THRESHOLD = BIT(3)
};

enum scan_event {
	SCAN_EVENT_NETWORK_FOUND	= 0,
	SCAN_EVENT_DONE			= 1,
	SCAN_EVENT_ABORTED		= 2,
	SCAN_EVENT_FORCE_32BIT		= 0xFFFFFFFF
};

enum conn_event {
	CONN_DISCONN_EVENT_CONN_RESP		= 0,
	CONN_DISCONN_EVENT_DISCONN_NOTIF	= 1,
	CONN_DISCONN_EVENT_FORCE_32BIT		= 0xFFFFFFFF
};

enum {
	WILC_HIF_SDIO = 0,
	WILC_HIF_SPI = BIT(0)
};

enum {
	WILC_MAC_STATUS_INIT = -1,
	WILC_MAC_STATUS_DISCONNECTED = 0,
	WILC_MAC_STATUS_CONNECTED = 1
};

struct wilc_rcvd_net_info {
	s8 rssi;
	u8 ch;
	u16 frame_len;
	struct ieee80211_mgmt *mgmt;
};

struct wilc_priv;
struct wilc_user_scan_req {
	void (*scan_result)(enum scan_event evt,
			    struct wilc_rcvd_net_info *info,
			    struct wilc_priv *priv);
	struct wilc_priv *priv;
	u32 ch_cnt;
};

struct wilc_join_bss_param;
struct wilc_conn_info {
	u8 bssid[ETH_ALEN];
	u8 security;
	enum authtype auth_type;
	enum mfptype mfp_type;
	u8 *req_ies;
	size_t req_ies_len;
	u8 *resp_ies;
	u16 resp_ies_len;
	u16 status;
	void (*conn_result)(enum conn_event evt, u8 status,
			    struct wilc_priv *priv);
	struct wilc_priv *priv;
	struct wilc_join_bss_param *param;
};

Annotation

Implementation Notes