rt2x00: Rename config_preamble() to config_erp()

Rename config_preamble() to config_erp() and cleanup argument
list by putting it all into a single structure.
This will make the function more meaningful and easier to
expand later. This second option is mostly intended to make
the patch "mac80211: proper short-slot handling" from Johannes Berg
easier to apply for rt2x00.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Ivo van Doorn
2008-03-09 22:46:18 +01:00
committed by John W. Linville
parent e4030a2f40
commit 7281037943
10 changed files with 76 additions and 80 deletions

View File

@@ -75,43 +75,40 @@ void rt2x00lib_config_intf(struct rt2x00_dev *rt2x00dev,
rt2x00dev->ops->lib->config_intf(rt2x00dev, intf, &conf, flags);
}
void rt2x00lib_config_preamble(struct rt2x00_dev *rt2x00dev,
struct rt2x00_intf *intf,
const unsigned int short_preamble)
void rt2x00lib_config_erp(struct rt2x00_dev *rt2x00dev,
struct rt2x00_intf *intf,
struct ieee80211_bss_conf *bss_conf)
{
struct rt2x00lib_erp erp;
int retval;
int ack_timeout;
int ack_consume_time;
ack_timeout = PLCP + get_duration(ACK_SIZE, 10);
ack_consume_time = SIFS + PLCP + get_duration(ACK_SIZE, 10);
memset(&erp, 0, sizeof(erp));
erp.short_preamble = bss_conf->use_short_preamble;
erp.ack_timeout = PLCP + get_duration(ACK_SIZE, 10);
erp.ack_consume_time = SIFS + PLCP + get_duration(ACK_SIZE, 10);
if (rt2x00dev->hw->conf.flags & IEEE80211_CONF_SHORT_SLOT_TIME)
ack_timeout += SHORT_DIFS;
erp.ack_timeout += SHORT_DIFS;
else
ack_timeout += DIFS;
erp.ack_timeout += DIFS;
if (short_preamble) {
ack_timeout += SHORT_PREAMBLE;
ack_consume_time += SHORT_PREAMBLE;
if (bss_conf->use_short_preamble) {
erp.ack_timeout += SHORT_PREAMBLE;
erp.ack_consume_time += SHORT_PREAMBLE;
} else {
ack_timeout += PREAMBLE;
ack_consume_time += PREAMBLE;
erp.ack_timeout += PREAMBLE;
erp.ack_consume_time += PREAMBLE;
}
retval = rt2x00dev->ops->lib->config_preamble(rt2x00dev,
short_preamble,
ack_timeout,
ack_consume_time);
spin_lock(&intf->lock);
retval = rt2x00dev->ops->lib->config_erp(rt2x00dev, &erp);
if (retval) {
intf->delayed_flags |= DELAYED_CONFIG_PREAMBLE;
spin_lock(&intf->lock);
intf->delayed_flags |= DELAYED_CONFIG_ERP;
queue_work(rt2x00dev->hw->workqueue, &rt2x00dev->intf_work);
spin_unlock(&intf->lock);
}
spin_unlock(&intf->lock);
}
void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev,