6GHz regulatory domains introduces different modes for 6GHz AP operations Low Power Indoor(LPI), Standard Power(SP) and Very Low Power(VLP). 6GHz STAs could be operated as either Regular or Subordinate clients. This patch is define the flags for power type of AP and STATION mode. Signed-off-by: Wen Gong <wgong@xxxxxxxxxxxxxx> --- include/net/cfg80211.h | 2 ++ include/uapi/linux/nl80211.h | 30 ++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 911fae42b0c0..13d92c643794 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h @@ -675,6 +675,7 @@ struct key_params { * chan will define the primary channel and all other * parameters are ignored. * @freq1_offset: offset from @center_freq1, in KHz + * @power_type: power type of BSS for 6G */ struct cfg80211_chan_def { struct ieee80211_channel *chan; @@ -683,6 +684,7 @@ struct cfg80211_chan_def { u32 center_freq2; struct ieee80211_edmg edmg; u16 freq1_offset; + enum nl80211_ap_reg_power power_type; }; /* diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h index ac78da99fccd..9f8e9e49a16a 100644 --- a/include/uapi/linux/nl80211.h +++ b/include/uapi/linux/nl80211.h @@ -4085,6 +4085,36 @@ enum nl80211_dfs_regions { NL80211_DFS_JP = 3, }; +/** + * enum nl80211_ap_reg_power - regulatory power for a Access Point + * + * @NL80211_REG_UNSET_AP: Access Point has no regulatory power mode + * @NL80211_REG_LPI: Indoor Access Point + * @NL80211_REG_SP: Standard power Access Point + * @NL80211_REG_VLP: Very low power Access Point + */ +enum nl80211_ap_reg_power { + NL80211_REG_UNSET_AP, + NL80211_REG_LPI_AP, + NL80211_REG_SP_AP, + NL80211_REG_VLP_AP, + NL80211_REG_MAX_AP_TYPE = 3, +}; + +/** + * enum nl80211_client_reg_power - regulatory power for a client + * + * @NL80211_REG_UNSET_CLIENT: Client has no regulatory power mode + * @NL80211_REG_DEFAULT_CLIENT: Default Client + * @NL80211_REG_SUBORDINATE_CLIENT: Subordinate Client + */ +enum nl80211_client_reg_power { + NL80211_REG_UNSET_CLIENT, + NL80211_REG_DEFAULT_CLIENT, + NL80211_REG_SUBORDINATE_CLIENT, + NL80211_REG_MAX_CLIENT_TYPE = 2, +}; + /** * enum nl80211_user_reg_hint_type - type of user regulatory hint * -- 2.31.1