提交 705802bf 编写于 作者: G Gabor Juhos 提交者: John W. Linville

rt2x00: remove data_queue_desc struct

If the queue_init callback is implemented
by a driver it gets used instead of the
data_queue_desc based initialization.

The queue_init callback is implemented for
each drivers now, so the old initialization
method is not used anymore. Remove the unused
data_queue_desc structure and all of the
related code.
Signed-off-by: NGabor Juhos <juhosg@openwrt.org>
Acked-by: NStanislaw Gruszka <sgruszka@redhat.com>
Acked-by: NGertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 c29a32c8
......@@ -649,10 +649,6 @@ struct rt2x00_ops {
const unsigned int rf_size;
const unsigned int tx_queues;
const unsigned int extra_tx_headroom;
const struct data_queue_desc *rx;
const struct data_queue_desc *tx;
const struct data_queue_desc *bcn;
const struct data_queue_desc *atim;
void (*queue_init)(struct data_queue *queue);
const struct rt2x00lib_ops *lib;
const void *drv;
......
......@@ -1276,33 +1276,6 @@ void rt2x00queue_uninitialize(struct rt2x00_dev *rt2x00dev)
}
}
static const struct data_queue_desc *
rt2x00queue_get_qdesc_by_qid(struct rt2x00_dev *rt2x00dev,
enum data_queue_qid qid)
{
switch (qid) {
case QID_RX:
return rt2x00dev->ops->rx;
case QID_AC_BE:
case QID_AC_BK:
case QID_AC_VO:
case QID_AC_VI:
return rt2x00dev->ops->tx;
case QID_BEACON:
return rt2x00dev->ops->bcn;
case QID_ATIM:
return rt2x00dev->ops->atim;
default:
break;
}
return NULL;
}
static void rt2x00queue_init(struct rt2x00_dev *rt2x00dev,
struct data_queue *queue, enum data_queue_qid qid)
{
......@@ -1317,20 +1290,7 @@ static void rt2x00queue_init(struct rt2x00_dev *rt2x00dev,
queue->cw_min = 5;
queue->cw_max = 10;
if (rt2x00dev->ops->queue_init) {
rt2x00dev->ops->queue_init(queue);
} else {
const struct data_queue_desc *qdesc;
qdesc = rt2x00queue_get_qdesc_by_qid(rt2x00dev, qid);
BUG_ON(!qdesc);
queue->limit = qdesc->entry_num;
queue->data_size = qdesc->data_size;
queue->desc_size = qdesc->desc_size;
queue->winfo_size = qdesc->winfo_size;
queue->priv_size = qdesc->priv_size;
}
rt2x00dev->ops->queue_init(queue);
queue->threshold = DIV_ROUND_UP(queue->limit, 10);
}
......
......@@ -488,25 +488,6 @@ struct data_queue {
unsigned short usb_maxpacket;
};
/**
* struct data_queue_desc: Data queue description
*
* The information in this structure is used by drivers
* to inform rt2x00lib about the creation of the data queue.
*
* @entry_num: Maximum number of entries for a queue.
* @data_size: Maximum data size for the frames in this queue.
* @desc_size: Hardware descriptor size for the data in this queue.
* @priv_size: Size of per-queue_entry private data.
*/
struct data_queue_desc {
unsigned short entry_num;
unsigned short data_size;
unsigned char desc_size;
unsigned char winfo_size;
unsigned short priv_size;
};
/**
* queue_end - Return pointer to the last queue (HELPER MACRO).
* @__dev: Pointer to &struct rt2x00_dev
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册