drivers/net/wireless/realtek/rtlwifi/wifi.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/realtek/rtlwifi/wifi.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/realtek/rtlwifi/wifi.h- Extension
.h- Size
- 72368 bytes
- Lines
- 3039
- 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.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/sched.hlinux/firmware.hlinux/etherdevice.hlinux/vmalloc.hlinux/usb.hnet/mac80211.hlinux/completion.hlinux/bitfield.hdebug.h
Detected Declarations
struct rtlwifi_firmware_headerstruct txpower_info_2gstruct txpower_info_5gstruct bb_reg_defstruct rtlwifi_tx_infostruct octet_stringstruct rtl_led_ctlstruct rtl_qos_parametersstruct rt_smooth_datastruct false_alarm_statisticsstruct init_gainstruct wireless_statsstruct rate_adaptivestruct regd_pair_mappingstruct dynamic_primary_ccastruct rtl_regulatorystruct rtl_rfkillstruct rtl_p2p_ps_infostruct p2p_ps_offload_tstruct iqk_matrix_regsstruct phy_parametersstruct rtl_phystruct rtl_ht_aggstruct rssi_stastruct rtl_tid_datastruct rtl_sta_infostruct rtl_privstruct rtl_iostruct rtl_macstruct btdm_8723struct bt_coexist_8723struct rtl_halstruct rtl_securitystruct fast_ant_trainingstruct dm_phy_dbg_infostruct rtl_dmstruct rtl_efusestruct rtl_efuse_opsstruct rtl_tx_reportstruct rtl_ps_ctlstruct rtl_statsstruct rt_link_detectstruct rtl_tcb_descstruct rtl_wow_patternstruct rtl_intstruct rtl_hal_opsstruct rtl_intf_opsstruct rtl_mod_params
Annotated Snippet
struct rtlwifi_firmware_header {
__le16 signature;
u8 category;
u8 function;
__le16 version;
u8 subversion;
u8 rsvd1;
u8 month;
u8 date;
u8 hour;
u8 minute;
__le16 ramcodesize;
__le16 rsvd2;
__le32 svnindex;
__le32 rsvd3;
__le32 rsvd4;
__le32 rsvd5;
};
struct txpower_info_2g {
u8 index_cck_base[MAX_RF_PATH][MAX_CHNL_GROUP_24G];
u8 index_bw40_base[MAX_RF_PATH][MAX_CHNL_GROUP_24G];
/*If only one tx, only BW20 and OFDM are used.*/
u8 cck_diff[MAX_RF_PATH][MAX_TX_COUNT];
u8 ofdm_diff[MAX_RF_PATH][MAX_TX_COUNT];
u8 bw20_diff[MAX_RF_PATH][MAX_TX_COUNT];
u8 bw40_diff[MAX_RF_PATH][MAX_TX_COUNT];
u8 bw80_diff[MAX_RF_PATH][MAX_TX_COUNT];
u8 bw160_diff[MAX_RF_PATH][MAX_TX_COUNT];
};
struct txpower_info_5g {
u8 index_bw40_base[MAX_RF_PATH][MAX_CHNL_GROUP_5G];
/*If only one tx, only BW20, OFDM, BW80 and BW160 are used.*/
u8 ofdm_diff[MAX_RF_PATH][MAX_TX_COUNT];
u8 bw20_diff[MAX_RF_PATH][MAX_TX_COUNT];
u8 bw40_diff[MAX_RF_PATH][MAX_TX_COUNT];
u8 bw80_diff[MAX_RF_PATH][MAX_TX_COUNT];
u8 bw160_diff[MAX_RF_PATH][MAX_TX_COUNT];
};
enum rate_section {
CCK = 0,
OFDM,
HT_MCS0_MCS7,
HT_MCS8_MCS15,
VHT_1SSMCS0_1SSMCS9,
VHT_2SSMCS0_2SSMCS9,
MAX_RATE_SECTION,
};
enum intf_type {
INTF_PCI = 0,
INTF_USB = 1,
};
enum radio_path {
RF90_PATH_A = 0,
RF90_PATH_B = 1,
RF90_PATH_C = 2,
RF90_PATH_D = 3,
};
enum radio_mask {
RF_MASK_A = BIT(0),
RF_MASK_B = BIT(1),
RF_MASK_C = BIT(2),
RF_MASK_D = BIT(3),
};
enum regulation_txpwr_lmt {
TXPWR_LMT_FCC = 0,
TXPWR_LMT_MKK = 1,
TXPWR_LMT_ETSI = 2,
TXPWR_LMT_WW = 3,
TXPWR_LMT_MAX_REGULATION_NUM = 4
};
enum rt_eeprom_type {
EEPROM_93C46,
EEPROM_93C56,
EEPROM_BOOT_EFUSE,
};
enum ttl_status {
RTL_STATUS_INTERFACE_START = 0,
};
enum hardware_type {
Annotation
- Immediate include surface: `linux/sched.h`, `linux/firmware.h`, `linux/etherdevice.h`, `linux/vmalloc.h`, `linux/usb.h`, `net/mac80211.h`, `linux/completion.h`, `linux/bitfield.h`.
- Detected declarations: `struct rtlwifi_firmware_header`, `struct txpower_info_2g`, `struct txpower_info_5g`, `struct bb_reg_def`, `struct rtlwifi_tx_info`, `struct octet_string`, `struct rtl_led_ctl`, `struct rtl_qos_parameters`, `struct rt_smooth_data`, `struct false_alarm_statistics`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
- IRQ or DMA behavior appears here, which is relevant to the selected PCIe/NVMe device path.
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.