summaryrefslogtreecommitdiffstats
path: root/net/wireless/core.h
diff options
context:
space:
mode:
authorLuis R. Rodriguez2009-02-21 06:04:26 +0100
committerJohn W. Linville2009-02-27 20:52:56 +0100
commit806a9e39670be4f1f861c346ec102a79e81b90c3 (patch)
treea83d6c06a1be211722385fd60433849db3a08625 /net/wireless/core.h
parentcfg80211: add assert_cfg80211_lock() to ensure proper protection (diff)
downloadkernel-qcow2-linux-806a9e39670be4f1f861c346ec102a79e81b90c3.tar.gz
kernel-qcow2-linux-806a9e39670be4f1f861c346ec102a79e81b90c3.tar.xz
kernel-qcow2-linux-806a9e39670be4f1f861c346ec102a79e81b90c3.zip
cfg80211: make regulatory_request use wiphy_idx instead of wiphy
We do this so later on we can move the pending requests onto a workqueue. By using the wiphy_idx instead of the wiphy we can later easily check if the wiphy has disappeared or not. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/core.h')
-rw-r--r--net/wireless/core.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/net/wireless/core.h b/net/wireless/core.h
index 982cc6be3484..cd8e6e3ef116 100644
--- a/net/wireless/core.h
+++ b/net/wireless/core.h
@@ -79,6 +79,12 @@ static inline void assert_cfg80211_lock(void)
BUG_ON(!mutex_is_locked(&cfg80211_mutex));
}
+/*
+ * You can use this to mark a wiphy_idx as not having an associated wiphy.
+ * It guarantees cfg80211_drv_by_wiphy_idx(wiphy_idx) will return NULL
+ */
+#define WIPHY_IDX_STALE -1
+
struct cfg80211_internal_bss {
struct list_head list;
struct rb_node rbn;
@@ -88,6 +94,9 @@ struct cfg80211_internal_bss {
struct cfg80211_bss pub;
};
+struct cfg80211_registered_device *cfg80211_drv_by_wiphy_idx(int wiphy_idx);
+int get_wiphy_idx(struct wiphy *wiphy);
+
/*
* This function returns a pointer to the driver
* that the genl_info item that is passed refers to.
@@ -111,6 +120,9 @@ struct cfg80211_internal_bss {
extern struct cfg80211_registered_device *
cfg80211_get_dev_from_info(struct genl_info *info);
+/* requires cfg80211_drv_mutex to be held! */
+struct wiphy *wiphy_idx_to_wiphy(int wiphy_idx);
+
/* identical to cfg80211_get_dev_from_info but only operate on ifindex */
extern struct cfg80211_registered_device *
cfg80211_get_dev_from_ifindex(int ifindex);