blob: b61244b1a1c7477b5cbc94b663231b908c76729a [file] [log] [blame]
Shimrit Malichia00d7322012-08-05 13:56:28 +03001/*
2 * Copyright (c) 2012, Code Aurora Forum. All rights reserved.
3
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