blob: 24cdf70b530caae7e41e8243ed2b4da1780c0d53 [file] [log] [blame]
Shimrit Malichia00d7322012-08-05 13:56:28 +03001/*
Duy Truonge833aca2013-02-12 13:35:08 -08002 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Shimrit Malichia00d7322012-08-05 13:56:28 +03003
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 and
6 * only version 2 as published by the Free Software Foundation.
7
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details
12 */
13
14#ifndef _F_QDSS_H
15#define _F_QDSS_H
16
17#include <linux/kernel.h>
18#include <linux/usb/ch9.h>
19#include <linux/usb/gadget.h>
20
21/* struct f_qdss - USB qdss function driver private structure */
22struct f_qdss {
23 struct usb_function function;
24 struct usb_composite_dev *cdev;
25 u8 ctrl_iface_id;
26 u8 data_iface_id;
27 int usb_connected;
28 struct usb_request *endless_req;
29 struct usb_ep *ctrl_out;
30 struct usb_ep *ctrl_in;
31 struct usb_ep *data;
32 struct usb_qdss_ch ch;
33 struct list_head ctrl_read_pool;
34 struct list_head ctrl_write_pool;
35 struct work_struct qdss_work;
36 spinlock_t lock;
37 unsigned int data_enabled:1;
38 unsigned int ctrl_in_enabled:1;
39 unsigned int ctrl_out_enabled:1;
40};
41
42#endif
43