drivers/net/wireless/ath/ath6kl/htc.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/ath6kl/htc.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ath/ath6kl/htc.h- Extension
.h- Size
- 17312 bytes
- Lines
- 685
- 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
common.h
Detected Declarations
struct htc_frame_hdrstruct htc_ready_msgstruct htc_ready_ext_msgstruct htc_conn_service_msgstruct htc_conn_service_respstruct htc_setup_comp_msgstruct htc_setup_comp_ext_msgstruct htc_record_hdrstruct htc_credit_reportstruct htc_lookahead_reportstruct htc_bundle_lkahd_rptstruct htc_tx_packet_infostruct htc_rx_packet_infostruct htc_targetstruct htc_packetstruct htc_ep_callbacksstruct htc_service_connect_reqstruct htc_service_connect_respstruct htc_endpoint_credit_diststruct ath6kl_htc_credit_infostruct htc_endpoint_statsstruct htc_endpointstruct htc_control_bufferstruct htc_pipe_txcredit_allocstruct ath6kl_htc_opsstruct ath6kl_devicestruct htc_targetenum htc_service_grp_idsenum htc_endpoint_idenum htc_send_full_actionenum htc_credit_dist_reasonenum htc_send_queue_resultfunction set_htc_pkt_infofunction htc_rxpkt_resetfunction set_htc_rxpkt_infofunction get_queue_depth
Annotated Snippet
struct htc_frame_hdr {
struct_group_tagged(htc_frame_look_ahead, header,
union {
struct {
u8 eid;
u8 flags;
/* length of data (including trailer) that follows the header */
__le16 payld_len;
};
u32 word;
};
);
/* end of 4-byte lookahead */
u8 ctrl[2];
} __packed;
/* HTC ready message */
struct htc_ready_msg {
__le16 msg_id;
__le16 cred_cnt;
__le16 cred_sz;
u8 max_ep;
u8 pad;
} __packed;
/* extended HTC ready message */
struct htc_ready_ext_msg {
struct htc_ready_msg ver2_0_info;
u8 htc_ver;
u8 msg_per_htc_bndl;
} __packed;
/* connect service */
struct htc_conn_service_msg {
__le16 msg_id;
__le16 svc_id;
__le16 conn_flags;
u8 svc_meta_len;
u8 pad;
} __packed;
/* connect response */
struct htc_conn_service_resp {
__le16 msg_id;
__le16 svc_id;
u8 status;
u8 eid;
__le16 max_msg_sz;
u8 svc_meta_len;
u8 pad;
} __packed;
struct htc_setup_comp_msg {
__le16 msg_id;
} __packed;
/* extended setup completion message */
struct htc_setup_comp_ext_msg {
__le16 msg_id;
__le32 flags;
u8 msg_per_rxbndl;
u8 Rsvd[3];
} __packed;
struct htc_record_hdr {
u8 rec_id;
u8 len;
} __packed;
struct htc_credit_report {
u8 eid;
u8 credits;
} __packed;
/*
* NOTE: The lk_ahd array is guarded by a pre_valid
* and Post Valid guard bytes. The pre_valid bytes must
* equal the inverse of the post_valid byte.
*/
struct htc_lookahead_report {
u8 pre_valid;
u8 lk_ahd[4];
u8 post_valid;
} __packed;
struct htc_bundle_lkahd_rpt {
u8 lk_ahd[4];
Annotation
- Immediate include surface: `common.h`.
- Detected declarations: `struct htc_frame_hdr`, `struct htc_ready_msg`, `struct htc_ready_ext_msg`, `struct htc_conn_service_msg`, `struct htc_conn_service_resp`, `struct htc_setup_comp_msg`, `struct htc_setup_comp_ext_msg`, `struct htc_record_hdr`, `struct htc_credit_report`, `struct htc_lookahead_report`.
- 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.