summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKiran Kumar Lokere <klokere@codeaurora.org>2018-01-19 23:46:53 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2018-02-19 22:39:51 -0800
commit98d5572dd2ec954f516f9fd5b55dcef2b09a1d7c (patch)
treeda9a67d1b64ab4252597aa1d497a321b358cd915
parenta961632a48ed39c18014debc4201e3ea5b6e3dd0 (diff)
cfg80211: Define new API to send reg change event
Define new exported cfg80211 api cfg80211_send_reg_change_event() to send regulatory update event to user-space. CRs-Fixed: 2183721 Change-Id: I32e12c8db22a63b9166481dfec937716fb15d855 Signed-off-by: Kiran Kumar Lokere <klokere@codeaurora.org>
-rw-r--r--include/net/cfg80211.h11
-rw-r--r--net/wireless/reg.c8
2 files changed, 19 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 1997eed64c68..07f27b15e6fe 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -82,6 +82,9 @@ struct wiphy;
/* Indicate support for including KEK length in rekey data */
#define CFG80211_REKEY_DATA_KEK_LEN 1
+/* Indicate support for regulatory update sync event */
+#define CFG80211_REG_UPDATE_SYNC_EVENT 1
+
/*
* wireless hardware capability structures
*/
@@ -5771,6 +5774,14 @@ void cfg80211_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info);
*/
void cfg80211_ap_stopped(struct net_device *netdev, gfp_t gfp);
+/**
+ * cfg80211_send_reg_change_event - notify user-space of regulatory change
+ * @request: regulatory request
+ * @wiphy: the wiphy to use
+ */
+void cfg80211_send_reg_change_event(struct regulatory_request *request,
+ struct wiphy *wiphy);
+
/* Logging, debugging and troubleshooting/diagnostic helpers. */
/* wiphy_printk helpers, similar to dev_printk */
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 02177062f57a..970880924eca 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -1796,6 +1796,14 @@ static void update_all_wiphy_regulatory(enum nl80211_reg_initiator initiator)
reg_check_channels();
}
+void cfg80211_send_reg_change_event(struct regulatory_request *request,
+ struct wiphy *wiphy)
+{
+ request->wiphy_idx = get_wiphy_idx(wiphy);
+ nl80211_send_reg_change_event(request);
+}
+EXPORT_SYMBOL(cfg80211_send_reg_change_event);
+
static void handle_channel_custom(struct wiphy *wiphy,
struct ieee80211_channel *chan,
const struct ieee80211_regdomain *regd)