]> err.no Git - linux-2.6/commitdiff
[PATCH] ieee80211: add ieee80211_channel_to_freq
authorLarry Finger <Larry.Finger@lwfinger.net>
Sat, 21 Apr 2007 22:56:29 +0000 (17:56 -0500)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 8 May 2007 15:51:59 +0000 (11:51 -0400)
The routines that interrogate the ieee80211_geo struct are missing a
channel to frequency entry. This patch adds it.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
include/net/ieee80211.h
net/ieee80211/ieee80211_geo.c

index d56b2923d61a1cf2093229309f47ef03ae3d98f4..bbd85cd61ed5d57482ed0180998f808414078054 100644 (file)
@@ -1291,6 +1291,8 @@ extern u8 ieee80211_get_channel_flags(struct ieee80211_device *ieee,
 extern const struct ieee80211_channel *ieee80211_get_channel(struct
                                                             ieee80211_device
                                                             *ieee, u8 channel);
+extern u32 ieee80211_channel_to_freq(struct ieee80211_device * ieee,
+                                     u8 channel);
 
 /* ieee80211_wx.c */
 extern int ieee80211_wx_get_scan(struct ieee80211_device *ieee,
index 305a09de85a57d924a187abe72148c315b06868d..960ad13f5e9f41fc724aff31ee842dcaaf4a5e23 100644 (file)
@@ -94,6 +94,21 @@ int ieee80211_channel_to_index(struct ieee80211_device *ieee, u8 channel)
        return -1;
 }
 
+u32 ieee80211_channel_to_freq(struct ieee80211_device * ieee, u8 channel)
+{
+       const struct ieee80211_channel * ch;
+
+       /* Driver needs to initialize the geography map before using
+        * these helper functions */
+       if (ieee->geo.bg_channels == 0 && ieee->geo.a_channels == 0)
+               return 0;
+
+       ch = ieee80211_get_channel(ieee, channel);
+       if (!ch->channel)
+               return 0;
+       return ch->freq;
+}
+
 u8 ieee80211_freq_to_channel(struct ieee80211_device * ieee, u32 freq)
 {
        int i;
@@ -174,6 +189,7 @@ EXPORT_SYMBOL(ieee80211_get_channel);
 EXPORT_SYMBOL(ieee80211_get_channel_flags);
 EXPORT_SYMBOL(ieee80211_is_valid_channel);
 EXPORT_SYMBOL(ieee80211_freq_to_channel);
+EXPORT_SYMBOL(ieee80211_channel_to_freq);
 EXPORT_SYMBOL(ieee80211_channel_to_index);
 EXPORT_SYMBOL(ieee80211_set_geo);
 EXPORT_SYMBOL(ieee80211_get_geo);