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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/ieee80211.hwlan_if.h
Detected Declarations
struct rf_infostruct cfg_param_attrstruct wilc_rcvd_net_infostruct wilc_privstruct wilc_user_scan_reqstruct wilc_join_bss_paramstruct wilc_conn_infostruct wilc_vifstruct wilc_remain_chstruct wilcstruct host_if_drvenum host_if_stateenum cfg_paramenum scan_eventenum conn_event
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
- Immediate include surface: `linux/ieee80211.h`, `wlan_if.h`.
- Detected declarations: `struct rf_info`, `struct cfg_param_attr`, `struct wilc_rcvd_net_info`, `struct wilc_priv`, `struct wilc_user_scan_req`, `struct wilc_join_bss_param`, `struct wilc_conn_info`, `struct wilc_vif`, `struct wilc_remain_ch`, `struct wilc`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.