STRUCT ATH_HW_PRIVATE_OPS(9)
๐ NAME ๐
struct ath_hw_private_ops โ callbacks used internally by hardware code.
Bestie, welcome to the struct ath_hw_private_ops(9) page from the Kernel API Manual. This is the private callback club, and it is very much invite-only. ๐
โจ SYNOPSIS โจ
okay so here's the whole struct โ every single pointer, exactly as written, no cap:
struct ath_hw_private_ops {
void (*init_hang_checks)(struct ath_hw *ah);
bool (*detect_mac_hang)(struct ath_hw *ah);
bool (*detect_bb_hang)(struct ath_hw *ah);
void (*init_cal_settings)(struct ath_hw *ah);
bool (*init_cal)(struct ath_hw *ah, struct ath9k_channel *chan);
void (*init_mode_gain_regs)(struct ath_hw *ah);
void (*setup_calibration)(struct ath_hw *ah, struct ath9k_cal_list
*currCal);
int (*rf_set_freq)(struct ath_hw *ah, struct ath9k_channel *chan);
void (*spur_mitigate_freq)(struct ath_hw *ah, struct ath9k_channel
*chan);
bool (*set_rf_regs)(struct ath_hw *ah, struct ath9k_channel *chan,
u16 modesIndex);
void (*set_channel_regs)(struct ath_hw *ah, struct ath9k_channel
*chan);
void (*init_bb)(struct ath_hw *ah, struct ath9k_channel *chan);
int (*process_ini)(struct ath_hw *ah, struct ath9k_channel *chan);
void (*olc_init)(struct ath_hw *ah);
void (*set_rfmode)(struct ath_hw *ah, struct ath9k_channel *chan);
void (*mark_phy_inactive)(struct ath_hw *ah);
void (*set_delta_slope)(struct ath_hw *ah, struct ath9k_channel
*chan);
bool (*rfbus_req)(struct ath_hw *ah);
void (*rfbus_done)(struct ath_hw *ah);
void (*restore_chainmask)(struct ath_hw *ah);
u32 (*compute_pll_control)(struct ath_hw *ah, struct ath9k_channel
*chan);
bool (*ani_control)(struct ath_hw *ah, enum ath9k_ani_cmd cmd, int
param);
void (*do_getnf)(struct ath_hw *ah, int16_t
nfarray[NUM_NF_READINGS]);
void (*set_radar_params)(struct ath_hw *ah, struct ath_hw_radar_conf
*conf);
int (*fast_chan_change)(struct ath_hw *ah, struct ath9k_channel
*chan, u8 *ini_reloaded);
void (*ani_cache_ini_regs)(struct ath_hw *ah);
#ifdef CONFIG_ATH9K_BTCOEX_SUPPORT;
bool (*is_aic_enabled)(struct ath_hw *ah);
#endif ;
};
๐ซถ Members ๐ซถ
init_cal_settingsโ setup types of calibrations supported.init_calโ starts actual calibration.init_mode_gain_regsโ Initialize TX/RX gain registers.setup_calibrationโ set up calibration.rf_set_freqโ change frequency.spur_mitigate_freqโ spur mitigation.set_rf_regsโ the manpage gives no description here, so we're not inventing one, bestie ๐.compute_pll_controlโ compute the PLL control value to use forAR_RTC_PLL_CONTROLfor a given channel.ani_cache_ini_regsโ cache the values for ANI from the initial register settings through the register initialization.
๐ธ Description ๐ธ
This structure contains private callbacks designed to only be used internally by the hardware core. Translation: it's giving internal-only energy โ hardware core business, not for random outside code to touch. ๐ฅ
๐ฎ SEE ALSO ๐ฎ
- Kernel file
./drivers/net/wireless/ath/ath9k/hw.h struct ath_hw_radar_conf(9)struct ath_spec_scan(9)struct ath_hw_ops(9)
Sign-off: source path ./drivers/net/wireless/ath/ath9k, date October 2026, and this manual page is struct ath_hw_private_ops(9). Mwah, bye bestie ๐๐ฆ
๐ฆ 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