diff options
Diffstat (limited to 'net/wireless/core.h')
| -rw-r--r-- | net/wireless/core.h | 28 | 
1 files changed, 28 insertions, 0 deletions
diff --git a/net/wireless/core.h b/net/wireless/core.h index 949c9573d8d..3aec0e429d8 100644 --- a/net/wireless/core.h +++ b/net/wireless/core.h @@ -86,6 +86,8 @@ struct cfg80211_registered_device {  	struct cfg80211_wowlan *wowlan; +	struct delayed_work dfs_update_channels_wk; +  	/* must be last because of the way we do wiphy_priv(),  	 * and it should at least be aligned to NETDEV_ALIGN */  	struct wiphy wiphy __aligned(NETDEV_ALIGN); @@ -431,6 +433,22 @@ int cfg80211_can_use_iftype_chan(struct cfg80211_registered_device *rdev,  				 enum cfg80211_chan_mode chanmode,  				 u8 radar_detect); +/** + * cfg80211_chandef_dfs_required - checks if radar detection is required + * @wiphy: the wiphy to validate against + * @chandef: the channel definition to check + * Return: 1 if radar detection is required, 0 if it is not, < 0 on error + */ +int cfg80211_chandef_dfs_required(struct wiphy *wiphy, +				  const struct cfg80211_chan_def *c); + +void cfg80211_set_dfs_state(struct wiphy *wiphy, +			    const struct cfg80211_chan_def *chandef, +			    enum nl80211_dfs_state dfs_state); + +void cfg80211_dfs_channels_update_work(struct work_struct *work); + +  static inline int  cfg80211_can_change_interface(struct cfg80211_registered_device *rdev,  			      struct wireless_dev *wdev, @@ -457,6 +475,16 @@ cfg80211_can_use_chan(struct cfg80211_registered_device *rdev,  					    chan, chanmode, 0);  } +static inline unsigned int elapsed_jiffies_msecs(unsigned long start) +{ +	unsigned long end = jiffies; + +	if (end >= start) +		return jiffies_to_msecs(end - start); + +	return jiffies_to_msecs(end + (MAX_JIFFY_OFFSET - start) + 1); +} +  void  cfg80211_get_chan_state(struct wireless_dev *wdev,  		        struct ieee80211_channel **chan,  |