STRUCT ATH_HW_OPS(9)
π NAME π
okay so this is the Kernel API Manual page for struct ath_hw_ops(9), and the whole vibe is callbacks used by hardware code and driver code. no cap, that's the name line, bestie. π
β¨ SYNOPSIS β¨
here's the struct in all its main-character glory β every member, every callback, every semicolon, no skipping:
struct ath_hw_ops {
void (*config_pci_powersave)(struct ath_hw *ah, bool power_off);
void (*rx_enable)(struct ath_hw *ah);
void (*set_desc_link)(void *ds, u32 link);
int (*calibrate)(struct ath_hw *ah, struct ath9k_channel *chan, u8
rxchainmask, bool longcal);
bool (*get_isr)(struct ath_hw *ah, enum ath9k_int *masked, u32
*sync_cause_p);
void (*set_txdesc)(struct ath_hw *ah, void *ds, struct ath_tx_info
*i);
int (*proc_txdesc)(struct ath_hw *ah, void *ds, struct ath_tx_status
*ts);
int (*get_duration)(struct ath_hw *ah, const void *ds, int index);
void (*antdiv_comb_conf_get)(struct ath_hw *ah, struct
ath_hw_antcomb_conf *antconf);
void (*antdiv_comb_conf_set)(struct ath_hw *ah, struct
ath_hw_antcomb_conf *antconf);
void (*spectral_scan_config)(struct ath_hw *ah, struct ath_spec_scan
*param);
void (*spectral_scan_trigger)(struct ath_hw *ah);
void (*spectral_scan_wait)(struct ath_hw *ah);
void (*tx99_start)(struct ath_hw *ah, u32 qnum);
void (*tx99_stop)(struct ath_hw *ah);
void (*tx99_set_txpower)(struct ath_hw *ah, u8 power);
#ifdef CONFIG_ATH9K_BTCOEX_SUPPORT;
void (*set_bt_ant_diversity)(struct ath_hw *hw, bool enable);
#endif;
};
π Members π
the Members list is lowkey selective and only spills tea on these five, bestie β the rest are still up there in the struct, living their best lives:
config_pci_powersaveβ the original just lists this one here with no extra one-liner, so I'm not inventing lore. πcalibrateβ periodic calibration for NF, ANI, IQ, ADC gain, ADC-DC. yes, all of that, periodt. π₯spectral_scan_configβ set parameters for spectral scan and enable/disable it. iconic little config gremlin behavior. β¨spectral_scan_triggerβ trigger a spectral scan run. go go go π¦spectral_scan_waitβ wait for a spectral scan run to finish. patience, bestie, patience π«Ά
π¦ Description π¦
This structure contains callbacks designed to be used internally by hardware code and also by the lower level driver. it's giving teamwork, honestly β internal hardware code and the lower level driver both get to use these callbacks. π
π SEE ALSO π
- Kernel file
./drivers/net/wireless/ath/ath9k/hw.h struct ath_hw_radar_conf(9)struct ath_hw_private_ops(9)struct ath_spec_scan(9)
and that's the whole page, bestie! the footer energy is source/version ./drivers/net/wireless/ath/ath9k, date October 2026, and the title tag hanging out at the bottom is struct ath_hw_ops(9). bye bestie, slay responsibly π
β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms