--- a/nl80211.h
+++ b/nl80211.h
-@@ -2153,6 +2153,9 @@ enum nl80211_commands {
- * @NL80211_ATTR_PMKR0_NAME: PMK-R0 Name for offloaded FT.
- * @NL80211_ATTR_PORT_AUTHORIZED: (reserved)
+@@ -52,6 +52,11 @@
+ #define NL80211_MULTICAST_GROUP_NAN "nan"
+ #define NL80211_MULTICAST_GROUP_TESTMODE "testmode"
+
++#define NL80211_EDMG_BW_CONFIG_MIN 4
++#define NL80211_EDMG_BW_CONFIG_MAX 15
++#define NL80211_EDMG_CHANNELS_MIN 1
++#define NL80211_EDMG_CHANNELS_MAX 0x3c /* 0b00111100 */
++
+ /**
+ * DOC: Station handling
*
+@@ -2361,6 +2366,16 @@ enum nl80211_commands {
+ * @NL80211_ATTR_HE_OBSS_PD: nested attribute for OBSS Packet Detection
+ * functionality.
+ *
++ * @NL80211_ATTR_WIPHY_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
++ * channel(s) that are allowed to be used for EDMG transmissions.
++ * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. (u8 attribute)
++ * @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
++ * the allowed channel bandwidth configurations. (u8 attribute)
++ * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
++ *
+ * @NL80211_ATTR_WIPHY_ANTENNA_GAIN: Configured antenna gain. Used to reduce
+ * transmit power to stay within regulatory limits. u32, dBi.
+ *
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
* @NL80211_ATTR_MAX: highest attribute number currently defined
* @__NL80211_ATTR_AFTER_LAST: internal use
-@@ -2579,6 +2582,8 @@ enum nl80211_attrs {
- NL80211_ATTR_PMKR0_NAME,
- NL80211_ATTR_PORT_AUTHORIZED,
+@@ -2820,6 +2835,11 @@ enum nl80211_attrs {
+ NL80211_ATTR_HE_OBSS_PD,
+
++ NL80211_ATTR_WIPHY_EDMG_CHANNELS,
++ NL80211_ATTR_WIPHY_EDMG_BW_CONFIG,
++
+ NL80211_ATTR_WIPHY_ANTENNA_GAIN,
+
/* add attributes here, update the policy in nl80211.c */
__NL80211_ATTR_AFTER_LAST,
-@@ -3862,9 +3867,6 @@ enum nl80211_bss_scan_width {
- * @NL80211_BSS_PARENT_BSSID. (u64).
- * @NL80211_BSS_PARENT_BSSID: the BSS according to which @NL80211_BSS_PARENT_TSF
- * is set.
-- * @NL80211_BSS_CHAIN_SIGNAL: per-chain signal strength of last BSS update.
-- * Contains a nested array of signal strength attributes (u8, dBm),
-- * using the nesting index as the antenna number.
- * @__NL80211_BSS_AFTER_LAST: internal
- * @NL80211_BSS_MAX: highest BSS attribute
+@@ -3201,6 +3221,8 @@ enum nl80211_sta_bss_param {
+ * sent to the station (u64, usec)
+ * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
+ * @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station
++ * @NL80211_STA_INFO_ASSOC_AT_BOOTTIME: Timestamp (CLOCK_BOOTTIME, nanoseconds)
++ * of STA's association
+ * @__NL80211_STA_INFO_AFTER_LAST: internal
+ * @NL80211_STA_INFO_MAX: highest possible station info attribute
+ */
+@@ -3247,6 +3269,7 @@ enum nl80211_sta_info {
+ NL80211_STA_INFO_TX_DURATION,
+ NL80211_STA_INFO_AIRTIME_WEIGHT,
+ NL80211_STA_INFO_AIRTIME_LINK_METRIC,
++ NL80211_STA_INFO_ASSOC_AT_BOOTTIME,
+
+ /* keep last */
+ __NL80211_STA_INFO_AFTER_LAST,
+@@ -3428,6 +3451,12 @@ enum nl80211_band_iftype_attr {
+ * @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE
+ * @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using
+ * attributes from &enum nl80211_band_iftype_attr
++ * @NL80211_BAND_ATTR_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
++ * channel(s) that are allowed to be used for EDMG transmissions.
++ * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251.
++ * @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
++ * the allowed channel bandwidth configurations.
++ * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
+ * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined
+ * @__NL80211_BAND_ATTR_AFTER_LAST: internal use
*/
-@@ -3888,7 +3890,6 @@ enum nl80211_bss {
- NL80211_BSS_PAD,
- NL80211_BSS_PARENT_TSF,
- NL80211_BSS_PARENT_BSSID,
-- NL80211_BSS_CHAIN_SIGNAL,
+@@ -3445,6 +3474,9 @@ enum nl80211_band_attr {
+ NL80211_BAND_ATTR_VHT_CAPA,
+ NL80211_BAND_ATTR_IFTYPE_DATA,
++ NL80211_BAND_ATTR_EDMG_CHANNELS,
++ NL80211_BAND_ATTR_EDMG_BW_CONFIG,
++
/* keep last */
- __NL80211_BSS_AFTER_LAST,
+ __NL80211_BAND_ATTR_AFTER_LAST,
+ NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1
+@@ -3843,6 +3875,8 @@ enum nl80211_user_reg_hint_type {
+ * @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan
+ * (on this channel or globally)
+ * @NL80211_SURVEY_INFO_PAD: attribute used for padding for 64-bit alignment
++ * @NL80211_SURVEY_INFO_TIME_BSS_RX: amount of time the radio spent
++ * receiving frames destined to the local BSS
+ * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
+ * currently defined
+ * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
+@@ -3859,6 +3893,7 @@ enum nl80211_survey_info {
+ NL80211_SURVEY_INFO_TIME_TX,
+ NL80211_SURVEY_INFO_TIME_SCAN,
+ NL80211_SURVEY_INFO_PAD,
++ NL80211_SURVEY_INFO_TIME_BSS_RX,
+
+ /* keep last */
+ __NL80211_SURVEY_INFO_AFTER_LAST,
+@@ -4543,6 +4578,7 @@ enum nl80211_txrate_gi {
+ * @NL80211_BAND_2GHZ: 2.4 GHz ISM band
+ * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
+ * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)
++ * @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz)
+ * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
+ * since newer kernel versions may support more bands
+ */
+@@ -4550,6 +4586,7 @@ enum nl80211_band {
+ NL80211_BAND_2GHZ,
+ NL80211_BAND_5GHZ,
+ NL80211_BAND_60GHZ,
++ NL80211_BAND_6GHZ,
+
+ NUM_NL80211_BANDS,
+ };