Commit 9e261e6d authored by Jeff Johnson's avatar Jeff Johnson Committed by Johannes Berg

wifi: Fix ieee80211.h kernel-doc issues

The kernel-doc script identified multiple issues in ieee80211.h, so
fix them. In the process update some references to the latest
applicable specification.

include/linux/ieee80211.h:848: warning: Function parameter or member 'count' not described in 'ieee80211_quiet_ie'
include/linux/ieee80211.h:848: warning: Function parameter or member 'period' not described in 'ieee80211_quiet_ie'
include/linux/ieee80211.h:848: warning: Function parameter or member 'duration' not described in 'ieee80211_quiet_ie'
include/linux/ieee80211.h:848: warning: Function parameter or member 'offset' not described in 'ieee80211_quiet_ie'
include/linux/ieee80211.h:860: warning: Function parameter or member 'token' not described in 'ieee80211_msrment_ie'
include/linux/ieee80211.h:860: warning: Function parameter or member 'mode' not described in 'ieee80211_msrment_ie'
include/linux/ieee80211.h:860: warning: Function parameter or member 'type' not described in 'ieee80211_msrment_ie'
include/linux/ieee80211.h:860: warning: Function parameter or member 'request' not described in 'ieee80211_msrment_ie'
include/linux/ieee80211.h:871: warning: Function parameter or member 'mode' not described in 'ieee80211_channel_sw_ie'
include/linux/ieee80211.h:871: warning: Function parameter or member 'new_ch_num' not described in 'ieee80211_channel_sw_ie'
include/linux/ieee80211.h:871: warning: Function parameter or member 'count' not described in 'ieee80211_channel_sw_ie'
include/linux/ieee80211.h:883: warning: Function parameter or member 'mode' not described in 'ieee80211_ext_chansw_ie'
include/linux/ieee80211.h:883: warning: Function parameter or member 'new_operating_class' not described in 'ieee80211_ext_chansw_ie'
include/linux/ieee80211.h:883: warning: Function parameter or member 'new_ch_num' not described in 'ieee80211_ext_chansw_ie'
include/linux/ieee80211.h:883: warning: Function parameter or member 'count' not described in 'ieee80211_ext_chansw_ie'
include/linux/ieee80211.h:905: warning: Function parameter or member 'mesh_ttl' not described in 'ieee80211_mesh_chansw_params_ie'
include/linux/ieee80211.h:905: warning: Function parameter or member 'mesh_flags' not described in 'ieee80211_mesh_chansw_params_ie'
include/linux/ieee80211.h:905: warning: Function parameter or member 'mesh_reason' not described in 'ieee80211_mesh_chansw_params_ie'
include/linux/ieee80211.h:905: warning: Function parameter or member 'mesh_pre_value' not described in 'ieee80211_mesh_chansw_params_ie'
include/linux/ieee80211.h:913: warning: Function parameter or member 'new_channel_width' not described in 'ieee80211_wide_bw_chansw_ie'
include/linux/ieee80211.h:913: warning: Function parameter or member 'new_center_freq_seg0' not described in 'ieee80211_wide_bw_chansw_ie'
include/linux/ieee80211.h:913: warning: Function parameter or member 'new_center_freq_seg1' not described in 'ieee80211_wide_bw_chansw_ie'
include/linux/ieee80211.h:926: warning: expecting prototype for struct ieee80211_tim. Prototype was for struct ieee80211_tim_ie instead
include/linux/ieee80211.h:941: warning: Function parameter or member 'meshconf_psel' not described in 'ieee80211_meshconf_ie'
include/linux/ieee80211.h:941: warning: Function parameter or member 'meshconf_pmetric' not described in 'ieee80211_meshconf_ie'
include/linux/ieee80211.h:941: warning: Function parameter or member 'meshconf_congest' not described in 'ieee80211_meshconf_ie'
include/linux/ieee80211.h:941: warning: Function parameter or member 'meshconf_synch' not described in 'ieee80211_meshconf_ie'
include/linux/ieee80211.h:941: warning: Function parameter or member 'meshconf_auth' not described in 'ieee80211_meshconf_ie'
include/linux/ieee80211.h:941: warning: Function parameter or member 'meshconf_form' not described in 'ieee80211_meshconf_ie'
include/linux/ieee80211.h:941: warning: Function parameter or member 'meshconf_cap' not described in 'ieee80211_meshconf_ie'
include/linux/ieee80211.h:964: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * mesh channel switch parameters element's flag indicator
include/linux/ieee80211.h:984: warning: Function parameter or member 'rann_flags' not described in 'ieee80211_rann_ie'
include/linux/ieee80211.h:984: warning: Function parameter or member 'rann_hopcount' not described in 'ieee80211_rann_ie'
include/linux/ieee80211.h:984: warning: Function parameter or member 'rann_ttl' not described in 'ieee80211_rann_ie'
include/linux/ieee80211.h:984: warning: Function parameter or member 'rann_addr' not described in 'ieee80211_rann_ie'
include/linux/ieee80211.h:984: warning: Function parameter or member 'rann_seq' not described in 'ieee80211_rann_ie'
include/linux/ieee80211.h:984: warning: Function parameter or member 'rann_interval' not described in 'ieee80211_rann_ie'
include/linux/ieee80211.h:984: warning: Function parameter or member 'rann_metric' not described in 'ieee80211_rann_ie'
include/linux/ieee80211.h:1019: warning: expecting prototype for enum ieee80211_opmode_bits. Prototype was for enum ieee80211_vht_opmode_bits instead
include/linux/ieee80211.h:1052: warning: Function parameter or member 'tx_power' not described in 'ieee80211_tpc_report_ie'
include/linux/ieee80211.h:1052: warning: Function parameter or member 'link_margin' not described in 'ieee80211_tpc_report_ie'
include/linux/ieee80211.h:1073: warning: Function parameter or member 'compat_info' not described in 'ieee80211_s1g_bcn_compat_ie'
include/linux/ieee80211.h:1073: warning: Function parameter or member 'beacon_int' not described in 'ieee80211_s1g_bcn_compat_ie'
include/linux/ieee80211.h:1073: warning: Function parameter or member 'tsf_completion' not described in 'ieee80211_s1g_bcn_compat_ie'
include/linux/ieee80211.h:1086: warning: Function parameter or member 'ch_width' not described in 'ieee80211_s1g_oper_ie'
include/linux/ieee80211.h:1086: warning: Function parameter or member 'oper_class' not described in 'ieee80211_s1g_oper_ie'
include/linux/ieee80211.h:1086: warning: Function parameter or member 'primary_ch' not described in 'ieee80211_s1g_oper_ie'
include/linux/ieee80211.h:1086: warning: Function parameter or member 'oper_ch' not described in 'ieee80211_s1g_oper_ie'
include/linux/ieee80211.h:1086: warning: Function parameter or member 'basic_mcs_nss' not described in 'ieee80211_s1g_oper_ie'
include/linux/ieee80211.h:1097: warning: Function parameter or member 'aid' not described in 'ieee80211_aid_response_ie'
include/linux/ieee80211.h:1097: warning: Function parameter or member 'switch_count' not described in 'ieee80211_aid_response_ie'
include/linux/ieee80211.h:1097: warning: Function parameter or member 'response_int' not described in 'ieee80211_aid_response_ie'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_STATUS' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_MINOR_REASON' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_CAPABILITY' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_DEVICE_ID' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_GO_INTENT' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_GO_CONFIG_TIMEOUT' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_LISTEN_CHANNEL' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_GROUP_BSSID' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_EXT_LISTEN_TIMING' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_INTENDED_IFACE_ADDR' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_MANAGABILITY' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_CHANNEL_LIST' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_ABSENCE_NOTICE' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_DEVICE_INFO' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_GROUP_INFO' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_GROUP_ID' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_INTERFACE' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_OPER_CHANNEL' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_INVITE_FLAGS' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_VENDOR_SPECIFIC' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_MAX' not described in enum 'ieee80211_p2p_attr_id'
include/linux/ieee80211.h:1554: warning: Function parameter or member 'frame_control' not described in 'ieee80211_bar'
include/linux/ieee80211.h:1554: warning: Function parameter or member 'duration' not described in 'ieee80211_bar'
include/linux/ieee80211.h:1554: warning: Function parameter or member 'ra' not described in 'ieee80211_bar'
include/linux/ieee80211.h:1554: warning: Function parameter or member 'ta' not described in 'ieee80211_bar'
include/linux/ieee80211.h:1554: warning: Function parameter or member 'control' not described in 'ieee80211_bar'
include/linux/ieee80211.h:1554: warning: Function parameter or member 'start_seq_num' not described in 'ieee80211_bar'
include/linux/ieee80211.h:1579: warning: Function parameter or member 'reserved' not described in 'ieee80211_mcs_info'
include/linux/ieee80211.h:1618: warning: Function parameter or member 'cap_info' not described in 'ieee80211_ht_cap'
include/linux/ieee80211.h:1618: warning: Function parameter or member 'ampdu_params_info' not described in 'ieee80211_ht_cap'
include/linux/ieee80211.h:1618: warning: Function parameter or member 'mcs' not described in 'ieee80211_ht_cap'
include/linux/ieee80211.h:1618: warning: Function parameter or member 'extended_ht_cap_info' not described in 'ieee80211_ht_cap'
include/linux/ieee80211.h:1618: warning: Function parameter or member 'tx_BF_cap_info' not described in 'ieee80211_ht_cap'
include/linux/ieee80211.h:1618: warning: Function parameter or member 'antenna_selection_info' not described in 'ieee80211_ht_cap'
include/linux/ieee80211.h:1704: warning: Function parameter or member 'primary_chan' not described in 'ieee80211_ht_operation'
include/linux/ieee80211.h:1704: warning: Function parameter or member 'ht_param' not described in 'ieee80211_ht_operation'
include/linux/ieee80211.h:1704: warning: Function parameter or member 'operation_mode' not described in 'ieee80211_ht_operation'
include/linux/ieee80211.h:1704: warning: Function parameter or member 'stbc_param' not described in 'ieee80211_ht_operation'
include/linux/ieee80211.h:1704: warning: Function parameter or member 'basic_set' not described in 'ieee80211_ht_operation'
include/linux/ieee80211.h:1872: warning: Function parameter or member 'mac_cap_info' not described in 'ieee80211_he_cap_elem'
include/linux/ieee80211.h:1872: warning: Function parameter or member 'phy_cap_info' not described in 'ieee80211_he_cap_elem'
include/linux/ieee80211.h:1936: warning: Function parameter or member 'he_oper_params' not described in 'ieee80211_he_operation'
include/linux/ieee80211.h:1936: warning: Function parameter or member 'he_mcs_nss_set' not described in 'ieee80211_he_operation'
include/linux/ieee80211.h:1936: warning: Function parameter or member 'optional' not described in 'ieee80211_he_operation'
include/linux/ieee80211.h:1948: warning: Function parameter or member 'he_sr_control' not described in 'ieee80211_he_spr'
include/linux/ieee80211.h:1948: warning: Function parameter or member 'optional' not described in 'ieee80211_he_spr'
include/linux/ieee80211.h:1960: warning: Function parameter or member 'aifsn' not described in 'ieee80211_he_mu_edca_param_ac_rec'
include/linux/ieee80211.h:1960: warning: Function parameter or member 'ecw_min_max' not described in 'ieee80211_he_mu_edca_param_ac_rec'
include/linux/ieee80211.h:1960: warning: Function parameter or member 'mu_edca_timer' not described in 'ieee80211_he_mu_edca_param_ac_rec'
include/linux/ieee80211.h:1974: warning: Function parameter or member 'mu_qos_info' not described in 'ieee80211_mu_edca_param_set'
include/linux/ieee80211.h:1974: warning: Function parameter or member 'ac_be' not described in 'ieee80211_mu_edca_param_set'
include/linux/ieee80211.h:1974: warning: Function parameter or member 'ac_bk' not described in 'ieee80211_mu_edca_param_set'
include/linux/ieee80211.h:1974: warning: Function parameter or member 'ac_vi' not described in 'ieee80211_mu_edca_param_set'
include/linux/ieee80211.h:1974: warning: Function parameter or member 'ac_vo' not described in 'ieee80211_mu_edca_param_set'
include/linux/ieee80211.h:2194: warning: Enum value 'IEEE80211_REG_LPI_AP' not described in enum 'ieee80211_ap_reg_power'
include/linux/ieee80211.h:2194: warning: Enum value 'IEEE80211_REG_SP_AP' not described in enum 'ieee80211_ap_reg_power'
include/linux/ieee80211.h:2194: warning: Enum value 'IEEE80211_REG_VLP_AP' not described in enum 'ieee80211_ap_reg_power'
include/linux/ieee80211.h:2194: warning: Excess enum value 'IEEE80211_REG_SP' description in 'ieee80211_ap_reg_power'
include/linux/ieee80211.h:2194: warning: Excess enum value 'IEEE80211_REG_VLP' description in 'ieee80211_ap_reg_power'
include/linux/ieee80211.h:2194: warning: Excess enum value 'IEEE80211_REG_LPI' description in 'ieee80211_ap_reg_power'
include/linux/ieee80211.h:2577: warning: cannot understand function prototype: 'struct ieee80211_he_6ghz_oper '
include/linux/ieee80211.h:2624: warning: Function parameter or member 'tx_power_info' not described in 'ieee80211_tx_pwr_env'
include/linux/ieee80211.h:2624: warning: Function parameter or member 'tx_power' not described in 'ieee80211_tx_pwr_env'
include/linux/ieee80211.h:4485: warning: expecting prototype for RSNX Capabilities(). Prototype was for WLAN_RSNX_CAPA_PROTECTED_TWT() instead
include/linux/ieee80211.h:4734: warning: expecting prototype for ieee80211_mle_get_eml_sync_delay(). Prototype was for ieee80211_mle_get_eml_med_sync_delay() instead
117 warnings as Errors
Signed-off-by: default avatarJeff Johnson <quic_jjohnson@quicinc.com>
Link: https://lore.kernel.org/r/20230822-kerneldoc-v1-1-0d42ce5029bf@quicinc.comSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 1b78dd34
...@@ -836,9 +836,14 @@ enum ieee80211_preq_target_flags { ...@@ -836,9 +836,14 @@ enum ieee80211_preq_target_flags {
}; };
/** /**
* struct ieee80211_quiet_ie * struct ieee80211_quiet_ie - Quiet element
* @count: Quiet Count
* @period: Quiet Period
* @duration: Quiet Duration
* @offset: Quiet Offset
* *
* This structure refers to "Quiet information element" * This structure represents the payload of the "Quiet element" as
* described in IEEE Std 802.11-2020 section 9.4.2.22.
*/ */
struct ieee80211_quiet_ie { struct ieee80211_quiet_ie {
u8 count; u8 count;
...@@ -848,9 +853,15 @@ struct ieee80211_quiet_ie { ...@@ -848,9 +853,15 @@ struct ieee80211_quiet_ie {
} __packed; } __packed;
/** /**
* struct ieee80211_msrment_ie * struct ieee80211_msrment_ie - Measurement element
* @token: Measurement Token
* @mode: Measurement Report Mode
* @type: Measurement Type
* @request: Measurement Request or Measurement Report
* *
* This structure refers to "Measurement Request/Report information element" * This structure represents the payload of both the "Measurement
* Request element" and the "Measurement Report element" as described
* in IEEE Std 802.11-2020 sections 9.4.2.20 and 9.4.2.21.
*/ */
struct ieee80211_msrment_ie { struct ieee80211_msrment_ie {
u8 token; u8 token;
...@@ -860,9 +871,14 @@ struct ieee80211_msrment_ie { ...@@ -860,9 +871,14 @@ struct ieee80211_msrment_ie {
} __packed; } __packed;
/** /**
* struct ieee80211_channel_sw_ie * struct ieee80211_channel_sw_ie - Channel Switch Announcement element
* @mode: Channel Switch Mode
* @new_ch_num: New Channel Number
* @count: Channel Switch Count
* *
* This structure refers to "Channel Switch Announcement information element" * This structure represents the payload of the "Channel Switch
* Announcement element" as described in IEEE Std 802.11-2020 section
* 9.4.2.18.
*/ */
struct ieee80211_channel_sw_ie { struct ieee80211_channel_sw_ie {
u8 mode; u8 mode;
...@@ -871,9 +887,14 @@ struct ieee80211_channel_sw_ie { ...@@ -871,9 +887,14 @@ struct ieee80211_channel_sw_ie {
} __packed; } __packed;
/** /**
* struct ieee80211_ext_chansw_ie * struct ieee80211_ext_chansw_ie - Extended Channel Switch Announcement element
* @mode: Channel Switch Mode
* @new_operating_class: New Operating Class
* @new_ch_num: New Channel Number
* @count: Channel Switch Count
* *
* This structure represents the "Extended Channel Switch Announcement element" * This structure represents the "Extended Channel Switch Announcement
* element" as described in IEEE Std 802.11-2020 section 9.4.2.52.
*/ */
struct ieee80211_ext_chansw_ie { struct ieee80211_ext_chansw_ie {
u8 mode; u8 mode;
...@@ -894,8 +915,14 @@ struct ieee80211_sec_chan_offs_ie { ...@@ -894,8 +915,14 @@ struct ieee80211_sec_chan_offs_ie {
/** /**
* struct ieee80211_mesh_chansw_params_ie - mesh channel switch parameters IE * struct ieee80211_mesh_chansw_params_ie - mesh channel switch parameters IE
* @mesh_ttl: Time To Live
* @mesh_flags: Flags
* @mesh_reason: Reason Code
* @mesh_pre_value: Precedence Value
* *
* This structure represents the "Mesh Channel Switch Paramters element" * This structure represents the payload of the "Mesh Channel Switch
* Parameters element" as described in IEEE Std 802.11-2020 section
* 9.4.2.102.
*/ */
struct ieee80211_mesh_chansw_params_ie { struct ieee80211_mesh_chansw_params_ie {
u8 mesh_ttl; u8 mesh_ttl;
...@@ -906,6 +933,13 @@ struct ieee80211_mesh_chansw_params_ie { ...@@ -906,6 +933,13 @@ struct ieee80211_mesh_chansw_params_ie {
/** /**
* struct ieee80211_wide_bw_chansw_ie - wide bandwidth channel switch IE * struct ieee80211_wide_bw_chansw_ie - wide bandwidth channel switch IE
* @new_channel_width: New Channel Width
* @new_center_freq_seg0: New Channel Center Frequency Segment 0
* @new_center_freq_seg1: New Channel Center Frequency Segment 1
*
* This structure represents the payload of the "Wide Bandwidth
* Channel Switch element" as described in IEEE Std 802.11-2020
* section 9.4.2.160.
*/ */
struct ieee80211_wide_bw_chansw_ie { struct ieee80211_wide_bw_chansw_ie {
u8 new_channel_width; u8 new_channel_width;
...@@ -913,9 +947,14 @@ struct ieee80211_wide_bw_chansw_ie { ...@@ -913,9 +947,14 @@ struct ieee80211_wide_bw_chansw_ie {
} __packed; } __packed;
/** /**
* struct ieee80211_tim * struct ieee80211_tim_ie - Traffic Indication Map information element
* @dtim_count: DTIM Count
* @dtim_period: DTIM Period
* @bitmap_ctrl: Bitmap Control
* @virtual_map: Partial Virtual Bitmap
* *
* This structure refers to "Traffic Indication Map information element" * This structure represents the payload of the "TIM element" as
* described in IEEE Std 802.11-2020 section 9.4.2.5.
*/ */
struct ieee80211_tim_ie { struct ieee80211_tim_ie {
u8 dtim_count; u8 dtim_count;
...@@ -926,9 +965,17 @@ struct ieee80211_tim_ie { ...@@ -926,9 +965,17 @@ struct ieee80211_tim_ie {
} __packed; } __packed;
/** /**
* struct ieee80211_meshconf_ie * struct ieee80211_meshconf_ie - Mesh Configuration element
* @meshconf_psel: Active Path Selection Protocol Identifier
* @meshconf_pmetric: Active Path Selection Metric Identifier
* @meshconf_congest: Congestion Control Mode Identifier
* @meshconf_synch: Synchronization Method Identifier
* @meshconf_auth: Authentication Protocol Identifier
* @meshconf_form: Mesh Formation Info
* @meshconf_cap: Mesh Capability (see &enum mesh_config_capab_flags)
* *
* This structure refers to "Mesh Configuration information element" * This structure represents the payload of the "Mesh Configuration
* element" as described in IEEE Std 802.11-2020 section 9.4.2.97.
*/ */
struct ieee80211_meshconf_ie { struct ieee80211_meshconf_ie {
u8 meshconf_psel; u8 meshconf_psel;
...@@ -950,6 +997,9 @@ struct ieee80211_meshconf_ie { ...@@ -950,6 +997,9 @@ struct ieee80211_meshconf_ie {
* is ongoing * is ongoing
* @IEEE80211_MESHCONF_CAPAB_POWER_SAVE_LEVEL: STA is in deep sleep mode or has * @IEEE80211_MESHCONF_CAPAB_POWER_SAVE_LEVEL: STA is in deep sleep mode or has
* neighbors in deep sleep mode * neighbors in deep sleep mode
*
* Enumerates the "Mesh Capability" as described in IEEE Std
* 802.11-2020 section 9.4.2.97.7.
*/ */
enum mesh_config_capab_flags { enum mesh_config_capab_flags {
IEEE80211_MESHCONF_CAPAB_ACCEPT_PLINKS = 0x01, IEEE80211_MESHCONF_CAPAB_ACCEPT_PLINKS = 0x01,
...@@ -960,7 +1010,7 @@ enum mesh_config_capab_flags { ...@@ -960,7 +1010,7 @@ enum mesh_config_capab_flags {
#define IEEE80211_MESHCONF_FORM_CONNECTED_TO_GATE 0x1 #define IEEE80211_MESHCONF_FORM_CONNECTED_TO_GATE 0x1
/** /*
* mesh channel switch parameters element's flag indicator * mesh channel switch parameters element's flag indicator
* *
*/ */
...@@ -969,9 +1019,17 @@ enum mesh_config_capab_flags { ...@@ -969,9 +1019,17 @@ enum mesh_config_capab_flags {
#define WLAN_EID_CHAN_SWITCH_PARAM_REASON BIT(2) #define WLAN_EID_CHAN_SWITCH_PARAM_REASON BIT(2)
/** /**
* struct ieee80211_rann_ie * struct ieee80211_rann_ie - RANN (root announcement) element
* @rann_flags: Flags
* @rann_hopcount: Hop Count
* @rann_ttl: Element TTL
* @rann_addr: Root Mesh STA Address
* @rann_seq: HWMP Sequence Number
* @rann_interval: Interval
* @rann_metric: Metric
* *
* This structure refers to "Root Announcement information element" * This structure represents the payload of the "RANN element" as
* described in IEEE Std 802.11-2020 section 9.4.2.111.
*/ */
struct ieee80211_rann_ie { struct ieee80211_rann_ie {
u8 rann_flags; u8 rann_flags;
...@@ -993,7 +1051,7 @@ enum ieee80211_ht_chanwidth_values { ...@@ -993,7 +1051,7 @@ enum ieee80211_ht_chanwidth_values {
}; };
/** /**
* enum ieee80211_opmode_bits - VHT operating mode field bits * enum ieee80211_vht_opmode_bits - VHT operating mode field bits
* @IEEE80211_OPMODE_NOTIF_CHANWIDTH_MASK: channel width mask * @IEEE80211_OPMODE_NOTIF_CHANWIDTH_MASK: channel width mask
* @IEEE80211_OPMODE_NOTIF_CHANWIDTH_20MHZ: 20 MHz channel width * @IEEE80211_OPMODE_NOTIF_CHANWIDTH_20MHZ: 20 MHz channel width
* @IEEE80211_OPMODE_NOTIF_CHANWIDTH_40MHZ: 40 MHz channel width * @IEEE80211_OPMODE_NOTIF_CHANWIDTH_40MHZ: 40 MHz channel width
...@@ -1042,9 +1100,12 @@ enum ieee80211_s1g_chanwidth { ...@@ -1042,9 +1100,12 @@ enum ieee80211_s1g_chanwidth {
#define WLAN_USER_POSITION_LEN 16 #define WLAN_USER_POSITION_LEN 16
/** /**
* struct ieee80211_tpc_report_ie * struct ieee80211_tpc_report_ie - TPC Report element
* @tx_power: Transmit Power
* @link_margin: Link Margin
* *
* This structure refers to "TPC Report element" * This structure represents the payload of the "TPC Report element" as
* described in IEEE Std 802.11-2020 section 9.4.2.16.
*/ */
struct ieee80211_tpc_report_ie { struct ieee80211_tpc_report_ie {
u8 tx_power; u8 tx_power;
...@@ -1062,9 +1123,14 @@ struct ieee80211_addba_ext_ie { ...@@ -1062,9 +1123,14 @@ struct ieee80211_addba_ext_ie {
} __packed; } __packed;
/** /**
* struct ieee80211_s1g_bcn_compat_ie * struct ieee80211_s1g_bcn_compat_ie - S1G Beacon Compatibility element
* @compat_info: Compatibility Information
* @beacon_int: Beacon Interval
* @tsf_completion: TSF Completion
* *
* S1G Beacon Compatibility element * This structure represents the payload of the "S1G Beacon
* Compatibility element" as described in IEEE Std 802.11-2020 section
* 9.4.2.196.
*/ */
struct ieee80211_s1g_bcn_compat_ie { struct ieee80211_s1g_bcn_compat_ie {
__le16 compat_info; __le16 compat_info;
...@@ -1073,9 +1139,15 @@ struct ieee80211_s1g_bcn_compat_ie { ...@@ -1073,9 +1139,15 @@ struct ieee80211_s1g_bcn_compat_ie {
} __packed; } __packed;
/** /**
* struct ieee80211_s1g_oper_ie * struct ieee80211_s1g_oper_ie - S1G Operation element
* @ch_width: S1G Operation Information Channel Width
* @oper_class: S1G Operation Information Operating Class
* @primary_ch: S1G Operation Information Primary Channel Number
* @oper_ch: S1G Operation Information Channel Center Frequency
* @basic_mcs_nss: Basic S1G-MCS and NSS Set
* *
* S1G Operation element * This structure represents the payload of the "S1G Operation
* element" as described in IEEE Std 802.11-2020 section 9.4.2.212.
*/ */
struct ieee80211_s1g_oper_ie { struct ieee80211_s1g_oper_ie {
u8 ch_width; u8 ch_width;
...@@ -1086,9 +1158,13 @@ struct ieee80211_s1g_oper_ie { ...@@ -1086,9 +1158,13 @@ struct ieee80211_s1g_oper_ie {
} __packed; } __packed;
/** /**
* struct ieee80211_aid_response_ie * struct ieee80211_aid_response_ie - AID Response element
* @aid: AID/Group AID
* @switch_count: AID Switch Count
* @response_int: AID Response Interval
* *
* AID Response element * This structure represents the payload of the "AID Response element"
* as described in IEEE Std 802.11-2020 section 9.4.2.194.
*/ */
struct ieee80211_aid_response_ie { struct ieee80211_aid_response_ie {
__le16 aid; __le16 aid;
...@@ -1489,7 +1565,7 @@ struct ieee80211_tdls_data { ...@@ -1489,7 +1565,7 @@ struct ieee80211_tdls_data {
/* /*
* Peer-to-Peer IE attribute related definitions. * Peer-to-Peer IE attribute related definitions.
*/ */
/** /*
* enum ieee80211_p2p_attr_id - identifies type of peer-to-peer attribute. * enum ieee80211_p2p_attr_id - identifies type of peer-to-peer attribute.
*/ */
enum ieee80211_p2p_attr_id { enum ieee80211_p2p_attr_id {
...@@ -1539,11 +1615,17 @@ struct ieee80211_p2p_noa_attr { ...@@ -1539,11 +1615,17 @@ struct ieee80211_p2p_noa_attr {
#define IEEE80211_P2P_OPPPS_CTWINDOW_MASK 0x7F #define IEEE80211_P2P_OPPPS_CTWINDOW_MASK 0x7F
/** /**
* struct ieee80211_bar - HT Block Ack Request * struct ieee80211_bar - Block Ack Request frame format
* @frame_control: Frame Control
* @duration: Duration
* @ra: RA
* @ta: TA
* @control: BAR Control
* @start_seq_num: Starting Sequence Number (see Figure 9-37)
* *
* This structure refers to "HT BlockAckReq" as * This structure represents the "BlockAckReq frame format"
* described in 802.11n draft section 7.2.1.7.1 * as described in IEEE Std 802.11-2020 section 9.3.1.7.
*/ */
struct ieee80211_bar { struct ieee80211_bar {
__le16 frame_control; __le16 frame_control;
__le16 duration; __le16 duration;
...@@ -1563,13 +1645,17 @@ struct ieee80211_bar { ...@@ -1563,13 +1645,17 @@ struct ieee80211_bar {
#define IEEE80211_HT_MCS_MASK_LEN 10 #define IEEE80211_HT_MCS_MASK_LEN 10
/** /**
* struct ieee80211_mcs_info - MCS information * struct ieee80211_mcs_info - Supported MCS Set field
* @rx_mask: RX mask * @rx_mask: RX mask
* @rx_highest: highest supported RX rate. If set represents * @rx_highest: highest supported RX rate. If set represents
* the highest supported RX data rate in units of 1 Mbps. * the highest supported RX data rate in units of 1 Mbps.
* If this field is 0 this value should not be used to * If this field is 0 this value should not be used to
* consider the highest RX data rate supported. * consider the highest RX data rate supported.
* @tx_params: TX parameters * @tx_params: TX parameters
* @reserved: Reserved bits
*
* This structure represents the "Supported MCS Set field" as
* described in IEEE Std 802.11-2020 section 9.4.2.55.4.
*/ */
struct ieee80211_mcs_info { struct ieee80211_mcs_info {
u8 rx_mask[IEEE80211_HT_MCS_MASK_LEN]; u8 rx_mask[IEEE80211_HT_MCS_MASK_LEN];
...@@ -1600,10 +1686,16 @@ struct ieee80211_mcs_info { ...@@ -1600,10 +1686,16 @@ struct ieee80211_mcs_info {
(IEEE80211_HT_MCS_UNEQUAL_MODULATION_START / 8) (IEEE80211_HT_MCS_UNEQUAL_MODULATION_START / 8)
/** /**
* struct ieee80211_ht_cap - HT capabilities * struct ieee80211_ht_cap - HT capabilities element
* @cap_info: HT Capability Information
* @ampdu_params_info: A-MPDU Parameters
* @mcs: Supported MCS Set
* @extended_ht_cap_info: HT Extended Capabilities
* @tx_BF_cap_info: Transmit Beamforming Capabilities
* @antenna_selection_info: ASEL Capability
* *
* This structure is the "HT capabilities element" as * This structure represents the payload of the "HT Capabilities
* described in 802.11n D5.0 7.3.2.57 * element" as described in IEEE Std 802.11-2020 section 9.4.2.55.
*/ */
struct ieee80211_ht_cap { struct ieee80211_ht_cap {
__le16 cap_info; __le16 cap_info;
...@@ -1691,9 +1783,14 @@ enum ieee80211_min_mpdu_spacing { ...@@ -1691,9 +1783,14 @@ enum ieee80211_min_mpdu_spacing {
/** /**
* struct ieee80211_ht_operation - HT operation IE * struct ieee80211_ht_operation - HT operation IE
* @primary_chan: Primary Channel
* @ht_param: HT Operation Information parameters
* @operation_mode: HT Operation Information operation mode
* @stbc_param: HT Operation Information STBC params
* @basic_set: Basic HT-MCS Set
* *
* This structure is the "HT operation element" as * This structure represents the payload of the "HT Operation
* described in 802.11n-2009 7.3.2.57 * element" as described in IEEE Std 802.11-2020 section 9.4.2.56.
*/ */
struct ieee80211_ht_operation { struct ieee80211_ht_operation {
u8 primary_chan; u8 primary_chan;
...@@ -1862,9 +1959,12 @@ struct ieee80211_vht_operation { ...@@ -1862,9 +1959,12 @@ struct ieee80211_vht_operation {
/** /**
* struct ieee80211_he_cap_elem - HE capabilities element * struct ieee80211_he_cap_elem - HE capabilities element
* @mac_cap_info: HE MAC Capabilities Information
* @phy_cap_info: HE PHY Capabilities Information
* *
* This structure is the "HE capabilities element" fixed fields as * This structure represents the fixed fields of the payload of the
* described in P802.11ax_D4.0 section 9.4.2.242.2 and 9.4.2.242.3 * "HE capabilities element" as described in IEEE Std 802.11ax-2021
* sections 9.4.2.248.2 and 9.4.2.248.3.
*/ */
struct ieee80211_he_cap_elem { struct ieee80211_he_cap_elem {
u8 mac_cap_info[6]; u8 mac_cap_info[6];
...@@ -1923,35 +2023,45 @@ struct ieee80211_he_mcs_nss_supp { ...@@ -1923,35 +2023,45 @@ struct ieee80211_he_mcs_nss_supp {
} __packed; } __packed;
/** /**
* struct ieee80211_he_operation - HE capabilities element * struct ieee80211_he_operation - HE Operation element
* @he_oper_params: HE Operation Parameters + BSS Color Information
* @he_mcs_nss_set: Basic HE-MCS And NSS Set
* @optional: Optional fields VHT Operation Information, Max Co-Hosted
* BSSID Indicator, and 6 GHz Operation Information
* *
* This structure is the "HE operation element" fields as * This structure represents the payload of the "HE Operation
* described in P802.11ax_D4.0 section 9.4.2.243 * element" as described in IEEE Std 802.11ax-2021 section 9.4.2.249.
*/ */
struct ieee80211_he_operation { struct ieee80211_he_operation {
__le32 he_oper_params; __le32 he_oper_params;
__le16 he_mcs_nss_set; __le16 he_mcs_nss_set;
/* Optional 0,1,3,4,5,7 or 8 bytes: depends on @he_oper_params */
u8 optional[]; u8 optional[];
} __packed; } __packed;
/** /**
* struct ieee80211_he_spr - HE spatial reuse element * struct ieee80211_he_spr - Spatial Reuse Parameter Set element
* @he_sr_control: SR Control
* @optional: Optional fields Non-SRG OBSS PD Max Offset, SRG OBSS PD
* Min Offset, SRG OBSS PD Max Offset, SRG BSS Color
* Bitmap, and SRG Partial BSSID Bitmap
* *
* This structure is the "HE spatial reuse element" element as * This structure represents the payload of the "Spatial Reuse
* described in P802.11ax_D4.0 section 9.4.2.241 * Parameter Set element" as described in IEEE Std 802.11ax-2021
* section 9.4.2.252.
*/ */
struct ieee80211_he_spr { struct ieee80211_he_spr {
u8 he_sr_control; u8 he_sr_control;
/* Optional 0 to 19 bytes: depends on @he_sr_control */
u8 optional[]; u8 optional[];
} __packed; } __packed;
/** /**
* struct ieee80211_he_mu_edca_param_ac_rec - MU AC Parameter Record field * struct ieee80211_he_mu_edca_param_ac_rec - MU AC Parameter Record field
* @aifsn: ACI/AIFSN
* @ecw_min_max: ECWmin/ECWmax
* @mu_edca_timer: MU EDCA Timer
* *
* This structure is the "MU AC Parameter Record" fields as * This structure represents the "MU AC Parameter Record" as described
* described in P802.11ax_D4.0 section 9.4.2.245 * in IEEE Std 802.11ax-2021 section 9.4.2.251, Figure 9-788p.
*/ */
struct ieee80211_he_mu_edca_param_ac_rec { struct ieee80211_he_mu_edca_param_ac_rec {
u8 aifsn; u8 aifsn;
...@@ -1961,9 +2071,14 @@ struct ieee80211_he_mu_edca_param_ac_rec { ...@@ -1961,9 +2071,14 @@ struct ieee80211_he_mu_edca_param_ac_rec {
/** /**
* struct ieee80211_mu_edca_param_set - MU EDCA Parameter Set element * struct ieee80211_mu_edca_param_set - MU EDCA Parameter Set element
* @mu_qos_info: QoS Info
* @ac_be: MU AC_BE Parameter Record
* @ac_bk: MU AC_BK Parameter Record
* @ac_vi: MU AC_VI Parameter Record
* @ac_vo: MU AC_VO Parameter Record
* *
* This structure is the "MU EDCA Parameter Set element" fields as * This structure represents the payload of the "MU EDCA Parameter Set
* described in P802.11ax_D4.0 section 9.4.2.245 * element" as described in IEEE Std 802.11ax-2021 section 9.4.2.251.
*/ */
struct ieee80211_mu_edca_param_set { struct ieee80211_mu_edca_param_set {
u8 mu_qos_info; u8 mu_qos_info;
...@@ -2177,9 +2292,9 @@ int ieee80211_get_vht_max_nss(struct ieee80211_vht_cap *cap, ...@@ -2177,9 +2292,9 @@ int ieee80211_get_vht_max_nss(struct ieee80211_vht_cap *cap,
* enum ieee80211_ap_reg_power - regulatory power for a Access Point * enum ieee80211_ap_reg_power - regulatory power for a Access Point
* *
* @IEEE80211_REG_UNSET_AP: Access Point has no regulatory power mode * @IEEE80211_REG_UNSET_AP: Access Point has no regulatory power mode
* @IEEE80211_REG_LPI: Indoor Access Point * @IEEE80211_REG_LPI_AP: Indoor Access Point
* @IEEE80211_REG_SP: Standard power Access Point * @IEEE80211_REG_SP_AP: Standard power Access Point
* @IEEE80211_REG_VLP: Very low power Access Point * @IEEE80211_REG_VLP_AP: Very low power Access Point
* @IEEE80211_REG_AP_POWER_AFTER_LAST: internal * @IEEE80211_REG_AP_POWER_AFTER_LAST: internal
* @IEEE80211_REG_AP_POWER_MAX: maximum value * @IEEE80211_REG_AP_POWER_MAX: maximum value
*/ */
...@@ -2567,7 +2682,7 @@ static inline bool ieee80211_he_capa_size_ok(const u8 *data, u8 len) ...@@ -2567,7 +2682,7 @@ static inline bool ieee80211_he_capa_size_ok(const u8 *data, u8 len)
#define IEEE80211_6GHZ_CTRL_REG_SP_AP 1 #define IEEE80211_6GHZ_CTRL_REG_SP_AP 1
/** /**
* ieee80211_he_6ghz_oper - HE 6 GHz operation Information field * struct ieee80211_he_6ghz_oper - HE 6 GHz operation Information field
* @primary: primary channel * @primary: primary channel
* @control: control flags * @control: control flags
* @ccfs0: channel center frequency segment 0 * @ccfs0: channel center frequency segment 0
...@@ -2614,9 +2729,13 @@ enum ieee80211_tx_power_intrpt_type { ...@@ -2614,9 +2729,13 @@ enum ieee80211_tx_power_intrpt_type {
}; };
/** /**
* struct ieee80211_tx_pwr_env * struct ieee80211_tx_pwr_env - Transmit Power Envelope
* @tx_power_info: Transmit Power Information field
* @tx_power: Maximum Transmit Power field
* *
* This structure represents the "Transmit Power Envelope element" * This structure represents the payload of the "Transmit Power
* Envelope element" as described in IEEE Std 802.11ax-2021 section
* 9.4.2.161
*/ */
struct ieee80211_tx_pwr_env { struct ieee80211_tx_pwr_env {
u8 tx_power_info; u8 tx_power_info;
...@@ -4478,7 +4597,7 @@ static inline bool for_each_element_completed(const struct element *element, ...@@ -4478,7 +4597,7 @@ static inline bool for_each_element_completed(const struct element *element,
return (const u8 *)element == (const u8 *)data + datalen; return (const u8 *)element == (const u8 *)data + datalen;
} }
/** /*
* RSNX Capabilities: * RSNX Capabilities:
* bits 0-3: Field length (n-1) * bits 0-3: Field length (n-1)
*/ */
...@@ -4721,7 +4840,7 @@ ieee80211_mle_get_bss_param_ch_cnt(const struct ieee80211_multi_link_elem *mle) ...@@ -4721,7 +4840,7 @@ ieee80211_mle_get_bss_param_ch_cnt(const struct ieee80211_multi_link_elem *mle)
} }
/** /**
* ieee80211_mle_get_eml_sync_delay - returns the medium sync delay * ieee80211_mle_get_eml_med_sync_delay - returns the medium sync delay
* @data: pointer to the multi link EHT IE * @data: pointer to the multi link EHT IE
* *
* The element is assumed to be of the correct type (BASIC) and big enough, * The element is assumed to be of the correct type (BASIC) and big enough,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment