drivers/net/wireless/ath/ath9k/eeprom.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/ath9k/eeprom.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ath/ath9k/eeprom.h- Extension
.h- Size
- 21669 bytes
- Lines
- 734
- 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
../ath.hnet/cfg80211.har9003_eeprom.h
Detected Declarations
struct base_eep_headerstruct base_eep_header_4kstruct spur_chanstruct modal_eep_headerstruct calDataPerFreqOpLoopstruct modal_eep_4k_headerstruct base_eep_ar9287_headerstruct modal_eep_ar9287_headerstruct cal_data_per_freqstruct cal_data_per_freq_4kstruct cal_target_power_legstruct cal_target_power_htstruct cal_ctl_edgesstruct cal_data_op_loop_ar9287struct cal_data_per_freq_ar9287struct cal_ctl_data_ar9287struct cal_ctl_datastruct cal_ctl_data_4kstruct ar5416_eeprom_defstruct ar5416_eeprom_4kstruct ar9287_eepromstruct ath9k_country_entrystruct eeprom_opsenum eeprom_paramenum ar5416_ratesenum ath9k_hal_freq_bandenum reg_ext_bitmapfunction ath9k_hw_fbin2freq
Annotated Snippet
struct base_eep_header {
__le16 length;
__le16 checksum;
__le16 version;
u8 opCapFlags;
u8 eepMisc;
__le16 regDmn[2];
u8 macAddr[6];
u8 rxMask;
u8 txMask;
__le16 rfSilent;
__le16 blueToothOptions;
__le16 deviceCap;
__le32 binBuildNumber;
u8 deviceType;
u8 pwdclkind;
u8 fastClk5g;
u8 divChain;
u8 rxGainType;
u8 dacHiPwrMode_5G;
u8 openLoopPwrCntl;
u8 dacLpMode;
u8 txGainType;
u8 rcChainMask;
u8 desiredScaleCCK;
u8 pwr_table_offset;
u8 frac_n_5g;
u8 futureBase_3[21];
} __packed;
struct base_eep_header_4k {
__le16 length;
__le16 checksum;
__le16 version;
u8 opCapFlags;
u8 eepMisc;
__le16 regDmn[2];
u8 macAddr[6];
u8 rxMask;
u8 txMask;
__le16 rfSilent;
__le16 blueToothOptions;
__le16 deviceCap;
__le32 binBuildNumber;
u8 deviceType;
u8 txGainType;
} __packed;
struct spur_chan {
__le16 spurChan;
u8 spurRangeLow;
u8 spurRangeHigh;
} __packed;
struct modal_eep_header {
__le32 antCtrlChain[AR5416_MAX_CHAINS];
__le32 antCtrlCommon;
u8 antennaGainCh[AR5416_MAX_CHAINS];
u8 switchSettling;
u8 txRxAttenCh[AR5416_MAX_CHAINS];
u8 rxTxMarginCh[AR5416_MAX_CHAINS];
u8 adcDesiredSize;
u8 pgaDesiredSize;
u8 xlnaGainCh[AR5416_MAX_CHAINS];
u8 txEndToXpaOff;
u8 txEndToRxOn;
u8 txFrameToXpaOn;
u8 thresh62;
u8 noiseFloorThreshCh[AR5416_MAX_CHAINS];
u8 xpdGain;
u8 xpd;
u8 iqCalICh[AR5416_MAX_CHAINS];
u8 iqCalQCh[AR5416_MAX_CHAINS];
u8 pdGainOverlap;
u8 ob;
u8 db;
u8 xpaBiasLvl;
u8 pwrDecreaseFor2Chain;
u8 pwrDecreaseFor3Chain;
u8 txFrameToDataStart;
u8 txFrameToPaOn;
u8 ht40PowerIncForPdadc;
u8 bswAtten[AR5416_MAX_CHAINS];
u8 bswMargin[AR5416_MAX_CHAINS];
u8 swSettleHt40;
u8 xatten2Db[AR5416_MAX_CHAINS];
u8 xatten2Margin[AR5416_MAX_CHAINS];
u8 ob_ch1;
u8 db_ch1;
Annotation
- Immediate include surface: `../ath.h`, `net/cfg80211.h`, `ar9003_eeprom.h`.
- Detected declarations: `struct base_eep_header`, `struct base_eep_header_4k`, `struct spur_chan`, `struct modal_eep_header`, `struct calDataPerFreqOpLoop`, `struct modal_eep_4k_header`, `struct base_eep_ar9287_header`, `struct modal_eep_ar9287_header`, `struct cal_data_per_freq`, `struct cal_data_per_freq_4k`.
- 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.