summaryrefslogtreecommitdiffstats
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
authorAyala Beker <ayala.beker@intel.com>2016-09-20 17:31:19 +0300
committerJohannes Berg <johannes.berg@intel.com>2016-09-30 13:21:43 +0200
commit5953ff6d6a3e92dd4f8d9d8e8a9359d7e180ae93 (patch)
tree4937110ed803a948987fc66bcb3b1d0f88c6fade /include/net/mac80211.h
parent368e5a7b4ecb71b3d347799cb9351b0dce5dec70 (diff)
downloadlinux-5953ff6d6a3e92dd4f8d9d8e8a9359d7e180ae93.tar.gz
linux-5953ff6d6a3e92dd4f8d9d8e8a9359d7e180ae93.tar.xz
mac80211: implement nan_change_conf
Implement nan_change_conf callback which allows to change current NAN configuration (master preference and dual band operation). Store the current NAN configuration in sdata, so it can be used both to provide the driver the updated configuration with changes and also it will be used in hw reconfig flows in next patches. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index df9b5cff300c..ef8d02a2ce1a 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -3423,6 +3423,12 @@ enum ieee80211_reconfig_type {
*
* @start_nan: join an existing NAN cluster, or create a new one.
* @stop_nan: leave the NAN cluster.
+ * @nan_change_conf: change NAN configuration. The data in cfg80211_nan_conf
+ * contains full new configuration and changes specify which parameters
+ * are changed with respect to the last NAN config.
+ * The driver gets both full configuration and the changed parameters since
+ * some devices may need the full configuration while others need only the
+ * changed parameters.
*/
struct ieee80211_ops {
void (*tx)(struct ieee80211_hw *hw,
@@ -3664,6 +3670,9 @@ struct ieee80211_ops {
struct cfg80211_nan_conf *conf);
int (*stop_nan)(struct ieee80211_hw *hw,
struct ieee80211_vif *vif);
+ int (*nan_change_conf)(struct ieee80211_hw *hw,
+ struct ieee80211_vif *vif,
+ struct cfg80211_nan_conf *conf, u32 changes);
};
/**