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.
- 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
- No C-style include directives detected by the generator.
Detected Declarations
struct iwl_mld_scanstruct iwl_mld_survey_channelstruct iwl_mld_surveyenum iwl_mld_scan_statusenum iwl_mld_pass_all_sched_results_statesenum iwl_mld_traffic_loadfunction iwl_mld_scan_max_template_size
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
- Detected declarations: `struct iwl_mld_scan`, `struct iwl_mld_survey_channel`, `struct iwl_mld_survey`, `enum iwl_mld_scan_status`, `enum iwl_mld_pass_all_sched_results_states`, `enum iwl_mld_traffic_load`, `function iwl_mld_scan_max_template_size`.
- 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.