-@@ -1277,7 +1336,11 @@ enum nl80211_bitrate_attr {
- * wireless core it thinks its knows the regulatory domain we should be in.
- * @NL80211_REGDOM_SET_BY_COUNTRY_IE: the wireless core has received an
- * 802.11 country information element with regulatory information it
-- * thinks we should consider.
-+ * thinks we should consider. cfg80211 only processes the country
-+ * code from the IE, and relies on the regulatory domain information
-+ * structure pased by userspace (CRDA) from our wireless-regdb.
-+ * If a channel is enabled but the country code indicates it should
-+ * be disabled we disable the channel and re-enable it upon disassociation.
- */
- enum nl80211_reg_initiator {
- NL80211_REGDOM_SET_BY_CORE,
-@@ -1382,6 +1445,17 @@ enum nl80211_reg_rule_flags {
- * @__NL80211_SURVEY_INFO_INVALID: attribute number 0 is reserved
- * @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel
- * @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm)
-+ * @NL80211_SURVEY_INFO_IN_USE: channel is currently being used
-+ * @NL80211_SURVEY_INFO_CHANNEL_TIME: amount of time (in ms) that the radio
-+ * spent on this channel
-+ * @NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY: amount of the time the primary
-+ * channel was sensed busy (either due to activity or energy detect)
-+ * @NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY: amount of time the extension
-+ * channel was sensed busy
-+ * @NL80211_SURVEY_INFO_CHANNEL_TIME_RX: amount of time the radio spent
-+ * receiving data
-+ * @NL80211_SURVEY_INFO_CHANNEL_TIME_TX: amount of time the radio spent
-+ * transmitting data
- * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
- * currently defined
- * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
-@@ -1390,6 +1464,12 @@ enum nl80211_survey_info {
- __NL80211_SURVEY_INFO_INVALID,
- NL80211_SURVEY_INFO_FREQUENCY,
- NL80211_SURVEY_INFO_NOISE,
-+ NL80211_SURVEY_INFO_IN_USE,
-+ NL80211_SURVEY_INFO_CHANNEL_TIME,
-+ NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY,
-+ NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY,
-+ NL80211_SURVEY_INFO_CHANNEL_TIME_RX,
-+ NL80211_SURVEY_INFO_CHANNEL_TIME_TX,
-
- /* keep last */
- __NL80211_SURVEY_INFO_AFTER_LAST,
-@@ -1636,11 +1716,14 @@ enum nl80211_auth_type {
- * @NL80211_KEYTYPE_GROUP: Group (broadcast/multicast) key
- * @NL80211_KEYTYPE_PAIRWISE: Pairwise (unicast/individual) key
- * @NL80211_KEYTYPE_PEERKEY: PeerKey (DLS)
-+ * @NUM_NL80211_KEYTYPES: number of defined key types
- */
- enum nl80211_key_type {
- NL80211_KEYTYPE_GROUP,
- NL80211_KEYTYPE_PAIRWISE,
- NL80211_KEYTYPE_PEERKEY,
-+
-+ NUM_NL80211_KEYTYPES
- };
-
- /**
-@@ -1671,6 +1754,9 @@ enum nl80211_wpa_versions {
- * CCMP keys, each six bytes in little endian
- * @NL80211_KEY_DEFAULT: flag indicating default key
- * @NL80211_KEY_DEFAULT_MGMT: flag indicating default management key
-+ * @NL80211_KEY_TYPE: the key type from enum nl80211_key_type, if not
-+ * specified the default depends on whether a MAC address was
-+ * given with the command using the key or not (u32)
- * @__NL80211_KEY_AFTER_LAST: internal
- * @NL80211_KEY_MAX: highest key attribute
+@@ -1626,7 +1638,7 @@ enum nl80211_mntr_flags {
+ * @NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME: The interval of time (in TUs)
+ * that it takes for an HWMP information element to propagate across the mesh
+ *
+- * @NL80211_MESHCONF_ROOTMODE: whether root mode is enabled or not
++ * @NL80211_MESHCONF_HWMP_ROOTMODE: whether root mode is enabled or not
+ *
+ * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a
+ * source mesh point for path selection elements.
+@@ -1678,6 +1690,7 @@ enum nl80211_meshconf_params {
+ * element that vendors will use to identify the path selection methods and
+ * metrics in use.
+ *
++ * @NL80211_MESH_SETUP_ATTR_MAX: highest possible mesh setup attribute number
+ * @__NL80211_MESH_SETUP_ATTR_AFTER_LAST: Internal use