From 442647fcb4e6373e2f03a7b99ac9307de06b0cfe Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Sun, 16 Mar 2008 18:34:33 +0100 Subject: [PATCH] --- yaml --- r: 90313 b: refs/heads/master c: 906c730a2db950b7bce4ef17d65399acd791c360 h: refs/heads/master i: 90311: 442d9721370e8d6c07a5595d3e2d5113d68dac0d v: v3 --- [refs] | 2 +- trunk/include/net/wireless.h | 6 ++++++ trunk/net/wireless/util.c | 23 +++++++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 7243fd672a54..3065d2cf9599 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 857485c0c46ceee5c658c1761bba4d9a5ddf433f +refs/heads/master: 906c730a2db950b7bce4ef17d65399acd791c360 diff --git a/trunk/include/net/wireless.h b/trunk/include/net/wireless.h index c7f805ee5545..f4b77ab66bae 100644 --- a/trunk/include/net/wireless.h +++ b/trunk/include/net/wireless.h @@ -304,4 +304,10 @@ extern int ieee80211_channel_to_frequency(int chan); */ extern int ieee80211_frequency_to_channel(int freq); +/** + * ieee80211_get_channel - get channel struct from wiphy for specified frequency + */ +extern struct ieee80211_channel *ieee80211_get_channel(struct wiphy *wiphy, + int freq); + #endif /* __NET_WIRELESS_H */ diff --git a/trunk/net/wireless/util.c b/trunk/net/wireless/util.c index 77336c22fcf2..f3e623df3515 100644 --- a/trunk/net/wireless/util.c +++ b/trunk/net/wireless/util.c @@ -33,6 +33,29 @@ int ieee80211_frequency_to_channel(int freq) } EXPORT_SYMBOL(ieee80211_frequency_to_channel); +struct ieee80211_channel *ieee80211_get_channel(struct wiphy *wiphy, + int freq) +{ + enum ieee80211_band band; + struct ieee80211_supported_band *sband; + int i; + + for (band = 0; band < IEEE80211_NUM_BANDS; band++) { + sband = wiphy->bands[band]; + + if (!sband) + continue; + + for (i = 0; i < sband->n_channels; i++) { + if (sband->channels[i].center_freq == freq) + return &sband->channels[i]; + } + } + + return NULL; +} +EXPORT_SYMBOL(ieee80211_get_channel); + static void set_mandatory_flags_band(struct ieee80211_supported_band *sband, enum ieee80211_band band) {