mac80211: add ieee80211_set_sar_specs
authorCarl Huang <cjhuang@codeaurora.org>
Thu, 3 Dec 2020 10:37:27 +0000 (05:37 -0500)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 11 Dec 2020 12:39:59 +0000 (13:39 +0100)
This change registers ieee80211_set_sar_specs to
mac80211_config_ops, so cfg80211 can call it.

Signed-off-by: Carl Huang <cjhuang@codeaurora.org>
Reviewed-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: Abhishek Kumar <kuabhs@chromium.org>
Link: https://lore.kernel.org/r/20201203103728.3034-3-cjhuang@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/mac80211.h
net/mac80211/cfg.c

index 95e8484..d315740 100644 (file)
@@ -4195,6 +4195,8 @@ struct ieee80211_ops {
                                   struct ieee80211_vif *vif);
        void (*sta_set_4addr)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
                              struct ieee80211_sta *sta, bool enabled);
+       int (*set_sar_specs)(struct ieee80211_hw *hw,
+                            const struct cfg80211_sar_specs *sar);
 };
 
 /**
index e0f4662..c4c70e3 100644 (file)
@@ -4073,6 +4073,17 @@ static int ieee80211_reset_tid_config(struct wiphy *wiphy,
        return ret;
 }
 
+static int ieee80211_set_sar_specs(struct wiphy *wiphy,
+                                  struct cfg80211_sar_specs *sar)
+{
+       struct ieee80211_local *local = wiphy_priv(wiphy);
+
+       if (!local->ops->set_sar_specs)
+               return -EOPNOTSUPP;
+
+       return local->ops->set_sar_specs(&local->hw, sar);
+}
+
 const struct cfg80211_ops mac80211_config_ops = {
        .add_virtual_intf = ieee80211_add_iface,
        .del_virtual_intf = ieee80211_del_iface,
@@ -4175,4 +4186,5 @@ const struct cfg80211_ops mac80211_config_ops = {
        .probe_mesh_link = ieee80211_probe_mesh_link,
        .set_tid_config = ieee80211_set_tid_config,
        .reset_tid_config = ieee80211_reset_tid_config,
+       .set_sar_specs = ieee80211_set_sar_specs,
 };