diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-03-01 16:21:40 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-03-10 17:44:23 -0500 |
commit | eae44756d60c4e938259358090dba5df675dced0 (patch) | |
tree | 2333b445beb942a4f8f0aecdc3459da9cca8c715 /net | |
parent | 44ac91ea8450b0e7a27b4a1fd64aefd35a144728 (diff) |
minstrel: make the rate control ops reusable from another rc implementation
This patch makes it possible to reuse the minstrel rate control ops
from another rate control module. This is useful in preparing for the
new 802.11n implementation of minstrel, which will reuse the old code
for legacy stations.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/rc80211_minstrel.c | 2 | ||||
-rw-r--r-- | net/mac80211/rc80211_minstrel.h | 6 | ||||
-rw-r--r-- | net/mac80211/rc80211_minstrel_debugfs.c | 6 |
3 files changed, 10 insertions, 4 deletions
diff --git a/net/mac80211/rc80211_minstrel.c b/net/mac80211/rc80211_minstrel.c index 6e5d68b4e427..4926d929fd9f 100644 --- a/net/mac80211/rc80211_minstrel.c +++ b/net/mac80211/rc80211_minstrel.c | |||
@@ -541,7 +541,7 @@ minstrel_free(void *priv) | |||
541 | kfree(priv); | 541 | kfree(priv); |
542 | } | 542 | } |
543 | 543 | ||
544 | static struct rate_control_ops mac80211_minstrel = { | 544 | struct rate_control_ops mac80211_minstrel = { |
545 | .name = "minstrel", | 545 | .name = "minstrel", |
546 | .tx_status = minstrel_tx_status, | 546 | .tx_status = minstrel_tx_status, |
547 | .get_rate = minstrel_get_rate, | 547 | .get_rate = minstrel_get_rate, |
diff --git a/net/mac80211/rc80211_minstrel.h b/net/mac80211/rc80211_minstrel.h index 9372656f3f5e..0f5a83370aa6 100644 --- a/net/mac80211/rc80211_minstrel.h +++ b/net/mac80211/rc80211_minstrel.h | |||
@@ -85,7 +85,13 @@ struct minstrel_debugfs_info { | |||
85 | char buf[]; | 85 | char buf[]; |
86 | }; | 86 | }; |
87 | 87 | ||
88 | extern struct rate_control_ops mac80211_minstrel; | ||
88 | void minstrel_add_sta_debugfs(void *priv, void *priv_sta, struct dentry *dir); | 89 | void minstrel_add_sta_debugfs(void *priv, void *priv_sta, struct dentry *dir); |
89 | void minstrel_remove_sta_debugfs(void *priv, void *priv_sta); | 90 | void minstrel_remove_sta_debugfs(void *priv, void *priv_sta); |
90 | 91 | ||
92 | /* debugfs */ | ||
93 | int minstrel_stats_open(struct inode *inode, struct file *file); | ||
94 | ssize_t minstrel_stats_read(struct file *file, char __user *buf, size_t len, loff_t *ppos); | ||
95 | int minstrel_stats_release(struct inode *inode, struct file *file); | ||
96 | |||
91 | #endif | 97 | #endif |
diff --git a/net/mac80211/rc80211_minstrel_debugfs.c b/net/mac80211/rc80211_minstrel_debugfs.c index 3e83402ece17..56d0f24957d9 100644 --- a/net/mac80211/rc80211_minstrel_debugfs.c +++ b/net/mac80211/rc80211_minstrel_debugfs.c | |||
@@ -52,7 +52,7 @@ | |||
52 | #include <net/mac80211.h> | 52 | #include <net/mac80211.h> |
53 | #include "rc80211_minstrel.h" | 53 | #include "rc80211_minstrel.h" |
54 | 54 | ||
55 | static int | 55 | int |
56 | minstrel_stats_open(struct inode *inode, struct file *file) | 56 | minstrel_stats_open(struct inode *inode, struct file *file) |
57 | { | 57 | { |
58 | struct minstrel_sta_info *mi = inode->i_private; | 58 | struct minstrel_sta_info *mi = inode->i_private; |
@@ -100,7 +100,7 @@ minstrel_stats_open(struct inode *inode, struct file *file) | |||
100 | return 0; | 100 | return 0; |
101 | } | 101 | } |
102 | 102 | ||
103 | static ssize_t | 103 | ssize_t |
104 | minstrel_stats_read(struct file *file, char __user *buf, size_t len, loff_t *ppos) | 104 | minstrel_stats_read(struct file *file, char __user *buf, size_t len, loff_t *ppos) |
105 | { | 105 | { |
106 | struct minstrel_debugfs_info *ms; | 106 | struct minstrel_debugfs_info *ms; |
@@ -109,7 +109,7 @@ minstrel_stats_read(struct file *file, char __user *buf, size_t len, loff_t *ppo | |||
109 | return simple_read_from_buffer(buf, len, ppos, ms->buf, ms->len); | 109 | return simple_read_from_buffer(buf, len, ppos, ms->buf, ms->len); |
110 | } | 110 | } |
111 | 111 | ||
112 | static int | 112 | int |
113 | minstrel_stats_release(struct inode *inode, struct file *file) | 113 | minstrel_stats_release(struct inode *inode, struct file *file) |
114 | { | 114 | { |
115 | kfree(file->private_data); | 115 | kfree(file->private_data); |