aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00config.c
diff options
context:
space:
mode:
authorGertjan van Wingerde <gwingerde@gmail.com>2011-04-18 09:33:41 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-04-19 15:39:56 -0400
commit46a01ec00d05581c5bd0c37e680d5b37af4953b4 (patch)
treef5bca6d09ed4cb90f06e171b749356be691cbae6 /drivers/net/wireless/rt2x00/rt2x00config.c
parentea81966ccc2edd324c1fa382260a62a4400a032a (diff)
rt2x00: Merge rt2x00ht.c contents in other files.
The two functions that are in rt2x00ht.c can be much better placed closer to the places where the call-sites of these functions are (one in rt2x00config.c and one in rt2x00queue.c) allowing us to make these functions static. Also, conditional compilations doesn't seem to be necessary anymore as 802.11n support is quite common nowadays. This makes the code a bit easier readable and searchable. Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com> Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00config.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00config.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00config.c b/drivers/net/wireless/rt2x00/rt2x00config.c
index e225a66f59a0..f70a2b45d430 100644
--- a/drivers/net/wireless/rt2x00/rt2x00config.c
+++ b/drivers/net/wireless/rt2x00/rt2x00config.c
@@ -163,6 +163,34 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev,
163 rt2x00queue_start_queue(rt2x00dev->rx); 163 rt2x00queue_start_queue(rt2x00dev->rx);
164} 164}
165 165
166static u16 rt2x00ht_center_channel(struct rt2x00_dev *rt2x00dev,
167 struct ieee80211_conf *conf)
168{
169 struct hw_mode_spec *spec = &rt2x00dev->spec;
170 int center_channel;
171 u16 i;
172
173 /*
174 * Initialize center channel to current channel.
175 */
176 center_channel = spec->channels[conf->channel->hw_value].channel;
177
178 /*
179 * Adjust center channel to HT40+ and HT40- operation.
180 */
181 if (conf_is_ht40_plus(conf))
182 center_channel += 2;
183 else if (conf_is_ht40_minus(conf))
184 center_channel -= (center_channel == 14) ? 1 : 2;
185
186 for (i = 0; i < spec->num_channels; i++)
187 if (spec->channels[i].channel == center_channel)
188 return i;
189
190 WARN_ON(1);
191 return conf->channel->hw_value;
192}
193
166void rt2x00lib_config(struct rt2x00_dev *rt2x00dev, 194void rt2x00lib_config(struct rt2x00_dev *rt2x00dev,
167 struct ieee80211_conf *conf, 195 struct ieee80211_conf *conf,
168 unsigned int ieee80211_flags) 196 unsigned int ieee80211_flags)