Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 705802bf authored by Gabor Juhos's avatar Gabor Juhos Committed by John W. Linville
Browse files

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: default avatarGabor Juhos <juhosg@openwrt.org>
Acked-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
Acked-by: default avatarGertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent c29a32c8
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -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;
+1 −41
Original line number Diff line number Diff line
@@ -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;
	}

	queue->threshold = DIV_ROUND_UP(queue->limit, 10);
}
+0 −19
Original line number Diff line number Diff line
@@ -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