diff options
author | Kiran Kumar Lokere <klokere@codeaurora.org> | 2018-01-19 23:46:53 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-02-19 22:39:51 -0800 |
commit | 98d5572dd2ec954f516f9fd5b55dcef2b09a1d7c (patch) | |
tree | da9a67d1b64ab4252597aa1d497a321b358cd915 | |
parent | a961632a48ed39c18014debc4201e3ea5b6e3dd0 (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.h | 11 | ||||
-rw-r--r-- | net/wireless/reg.c | 8 |
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) |