summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-03-26 14:14:55 +0100
committerJohn W. Linville <linville@tuxdriver.com>2008-03-27 16:03:20 -0400
commit6c507cd0400cb51dd2ee251c1b8756b9375a1128 (patch)
tree2b3d44a34e2c3d2ba1e9e0c557fb0730227f5bb4
parent7d5796118353cd45e9e301fdf3ff99fdec5390e9 (diff)
cfg80211: don't export ieee80211_get_channel
This patch makes ieee80211_get_channel a static inline defined in cfg80211's header file which simply calls __ieee80211_get_channel to avoid symbol clashes with the ieee80211 code. The problem was pointed out by David Miller, thanks! Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Cc: David Miller <davem@davemloft.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--include/net/wireless.h18
-rw-r--r--net/wireless/util.c6
2 files changed, 18 insertions, 6 deletions
diff --git a/include/net/wireless.h b/include/net/wireless.h
index f4b77ab66ba..667b4080d30 100644
--- a/include/net/wireless.h
+++ b/include/net/wireless.h
@@ -304,10 +304,22 @@ extern int ieee80211_channel_to_frequency(int chan);
*/
extern int ieee80211_frequency_to_channel(int freq);
+/*
+ * Name indirection necessary because the ieee80211 code also has
+ * a function named "ieee80211_get_channel", so if you include
+ * cfg80211's header file you get cfg80211's version, if you try
+ * to include both header files you'll (rightfully!) get a symbol
+ * clash.
+ */
+extern struct ieee80211_channel *__ieee80211_get_channel(struct wiphy *wiphy,
+ 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);
-
+static inline struct ieee80211_channel *
+ieee80211_get_channel(struct wiphy *wiphy, int freq)
+{
+ return __ieee80211_get_channel(wiphy, freq);
+}
#endif /* __NET_WIRELESS_H */
diff --git a/net/wireless/util.c b/net/wireless/util.c
index f3e623df351..f54424693a3 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -33,8 +33,8 @@ int ieee80211_frequency_to_channel(int freq)
}
EXPORT_SYMBOL(ieee80211_frequency_to_channel);
-struct ieee80211_channel *ieee80211_get_channel(struct wiphy *wiphy,
- int freq)
+struct ieee80211_channel *__ieee80211_get_channel(struct wiphy *wiphy,
+ int freq)
{
enum ieee80211_band band;
struct ieee80211_supported_band *sband;
@@ -54,7 +54,7 @@ struct ieee80211_channel *ieee80211_get_channel(struct wiphy *wiphy,
return NULL;
}
-EXPORT_SYMBOL(ieee80211_get_channel);
+EXPORT_SYMBOL(__ieee80211_get_channel);
static void set_mandatory_flags_band(struct ieee80211_supported_band *sband,
enum ieee80211_band band)