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

Commit 589c82e0 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "usb: f_qdss: Cleanup control interface as no longer in use"

parents 3a5a0753 a88628b2
Loading
Loading
Loading
Loading
+6 −79
Original line number Diff line number Diff line
@@ -228,18 +228,11 @@ static void qdss_write_complete(struct usb_ep *ep,

	qdss_log("%s\n", __func__);

	if (qdss->debug_inface_enabled) {
		in = qdss->port.ctrl_in;
		list_pool = &qdss->ctrl_write_pool;
		state = USB_QDSS_CTRL_WRITE_DONE;
	} else {
	in = qdss->port.data;
	list_pool = &qdss->data_write_pool;
	state = USB_QDSS_DATA_WRITE_DONE;
	}

	spin_lock_irqsave(&qdss->lock, flags);
	if (!qdss->debug_inface_enabled)
	list_del(&qreq->list);
	list_add_tail(&qreq->list, list_pool);
	complete(&qreq->write_done);
@@ -280,14 +273,6 @@ void usb_qdss_free_req(struct usb_qdss_ch *ch)

	}

	list_for_each_safe(act, tmp, &qdss->ctrl_write_pool) {
		qreq = list_entry(act, struct qdss_req, list);
		list_del(&qreq->list);
		usb_ep_free_request(qdss->port.ctrl_in, qreq->usb_req);
		kfree(qreq);

	}

	spin_unlock_irqrestore(&qdss->lock, flags);
}
EXPORT_SYMBOL(usb_qdss_free_req);
@@ -309,19 +294,8 @@ int usb_qdss_alloc_req(struct usb_qdss_ch *ch, int no_write_buf)
		return -ENODEV;
	}

	if ((qdss->debug_inface_enabled && no_write_buf <= 0) ||
		(!qdss->debug_inface_enabled && no_write_buf <= 0)) {
		pr_err("%s: missing params\n", __func__);
		return -ENODEV;
	}

	if (qdss->debug_inface_enabled) {
		in = qdss->port.ctrl_in;
		list_pool = &qdss->ctrl_write_pool;
	} else {
	in = qdss->port.data;
	list_pool = &qdss->data_write_pool;
	}

	for (i = 0; i < no_write_buf; i++) {
		qreq = kzalloc(sizeof(struct qdss_req), GFP_KERNEL);
@@ -794,7 +768,6 @@ static struct f_qdss *alloc_usb_qdss(char *channel_name)
	spin_unlock_irqrestore(&channel_lock, flags);

	spin_lock_init(&qdss->lock);
	INIT_LIST_HEAD(&qdss->ctrl_write_pool);
	INIT_LIST_HEAD(&qdss->data_write_pool);
	INIT_LIST_HEAD(&qdss->queued_data_pool);
	INIT_WORK(&qdss->connect_w, usb_qdss_connect_work);
@@ -803,52 +776,6 @@ static struct f_qdss *alloc_usb_qdss(char *channel_name)
	return qdss;
}

int usb_qdss_ctrl_write(struct usb_qdss_ch *ch, struct qdss_request *d_req)
{
	struct f_qdss *qdss = ch->priv_usb;
	unsigned long flags;
	struct usb_request *req = NULL;
	struct qdss_req *qreq;

	qdss_log("%s\n", __func__);

	if (!qdss)
		return -ENODEV;

	spin_lock_irqsave(&qdss->lock, flags);

	if (qdss->usb_connected == 0) {
		spin_unlock_irqrestore(&qdss->lock, flags);
		return -EIO;
	}

	if (list_empty(&qdss->ctrl_write_pool)) {
		pr_err("error: %s list is empty\n", __func__);
		spin_unlock_irqrestore(&qdss->lock, flags);
		return -EAGAIN;
	}

	qreq = list_first_entry(&qdss->ctrl_write_pool, struct qdss_req,
		list);
	list_del(&qreq->list);
	spin_unlock_irqrestore(&qdss->lock, flags);

	qreq->qdss_req = d_req;
	req = qreq->usb_req;
	req->buf = d_req->buf;
	req->length = d_req->length;
	if (usb_ep_queue(qdss->port.ctrl_in, req, GFP_ATOMIC)) {
		spin_lock_irqsave(&qdss->lock, flags);
		list_add_tail(&qreq->list, &qdss->ctrl_write_pool);
		spin_unlock_irqrestore(&qdss->lock, flags);
		pr_err("%s usb_ep_queue failed\n", __func__);
		return -EIO;
	}

	return 0;
}
EXPORT_SYMBOL(usb_qdss_ctrl_write);

int usb_qdss_write(struct usb_qdss_ch *ch, struct qdss_request *d_req)
{
	struct f_qdss *qdss = ch->priv_usb;
+0 −1
Original line number Diff line number Diff line
@@ -50,7 +50,6 @@ struct f_qdss {
	bool debug_inface_enabled;
	struct usb_request *endless_req;
	struct usb_qdss_ch ch;
	struct list_head ctrl_write_pool;

	/* for mdm channel SW path */
	struct list_head data_write_pool;
+0 −8
Original line number Diff line number Diff line
@@ -37,7 +37,6 @@ enum qdss_state {
	USB_QDSS_DISCONNECT,
	USB_QDSS_CTRL_READ_DONE,
	USB_QDSS_DATA_WRITE_DONE,
	USB_QDSS_CTRL_WRITE_DONE,
};

struct qdss_req {
@@ -55,7 +54,6 @@ void usb_qdss_close(struct usb_qdss_ch *ch);
int usb_qdss_alloc_req(struct usb_qdss_ch *ch, int n_write);
void usb_qdss_free_req(struct usb_qdss_ch *ch);
int usb_qdss_write(struct usb_qdss_ch *ch, struct qdss_request *d_req);
int usb_qdss_ctrl_write(struct usb_qdss_ch *ch, struct qdss_request *d_req);
#else
static inline struct usb_qdss_ch *usb_qdss_open(const char *name, void *priv,
		void (*n)(void *, unsigned int event,
@@ -69,12 +67,6 @@ static inline int usb_qdss_write(struct usb_qdss_ch *c, struct qdss_request *d)
	return -ENODEV;
}

static inline int usb_qdss_ctrl_write(struct usb_qdss_ch *c,
		struct qdss_request *d)
{
	return -ENODEV;
}

static inline int usb_qdss_alloc_req(struct usb_qdss_ch *c, int n_wr, int n_rd)
{
	return -ENODEV;