drivers/net/wireless/intel/iwlwifi/mld/scan.h

Source file repositories/reference/linux-study-clean/drivers/net/wireless/intel/iwlwifi/mld/scan.h

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/intel/iwlwifi/mld/scan.h
Extension
.h
Size
5628 bytes
Lines
179
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.

Dependency Surface

Detected Declarations

Annotated Snippet

struct iwl_mld_scan {
	/* Add here fields that need clean up on restart */
	struct_group(zeroed_on_hw_restart,
		unsigned int status;
		u32 uid_status[IWL_MAX_UMAC_SCANS];
		u64 start_tsf;
		bool last_ebs_failed;
		enum iwl_mld_pass_all_sched_results_states pass_all_sched_res;
		u8 fw_link_id;
		struct {
			u32 last_stats_ts_usec;
			enum iwl_mld_traffic_load status;
		} traffic_load;
	);
	/* And here fields that survive a fw restart */
	size_t cmd_size;
	void *cmd;
	u8 cmd_ver;
	unsigned long last_6ghz_passive_jiffies;
	unsigned long last_start_time_jiffies;
	u64 last_mlo_scan_start_time;
};

/**
 * struct iwl_mld_survey_channel - per-channel survey information
 *
 * Driver version of &struct survey_info with just the data we want to report.
 *
 * @time: time in ms the radio was on the channel
 * @time_busy: time in ms the channel was sensed busy
 * @noise: channel noise in dBm
 */
struct iwl_mld_survey_channel {
	u32 time;
	u32 time_busy;
	s8 noise;
};

/**
 * struct iwl_mld_survey - survey information
 *
 * Survey information for all available channels.
 *
 * @bands: per-band array for per-channel survey data, points into @channels
 * @n_channels: Number of @channels entries that are allocated
 * @channels: per-channel information
 */
struct iwl_mld_survey {
	struct iwl_mld_survey_channel *bands[NUM_NL80211_BANDS];

	int n_channels;
	struct iwl_mld_survey_channel channels[] __counted_by(n_channels);
};

#endif /* __iwl_mld_scan_h__ */

Annotation

Implementation Notes