Merge tag 'for-linus-20160216' of git://git.infradead.org/intel-iommu
[deliverable/linux.git] / drivers / staging / gdm724x / gdm_tty.h
1 /*
2 * Copyright (c) 2012 GCT Semiconductor, Inc. All rights reserved.
3 *
4 * This software is licensed under the terms of the GNU General Public
5 * License version 2, as published by the Free Software Foundation, and
6 * may be copied, distributed, and modified under those terms.
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 _GDM_TTY_H_
15 #define _GDM_TTY_H_
16
17 #include <linux/types.h>
18 #include <linux/tty.h>
19
20
21 #define TTY_MAX_COUNT 2
22
23 #define MAX_ISSUE_NUM 3
24
25 enum TO_HOST_RESULT {
26 TO_HOST_BUFFER_REQUEST_FAIL = 1,
27 TO_HOST_PORT_CLOSE = 2,
28 TO_HOST_INVALID_PACKET = 3,
29 };
30
31 enum RECV_PACKET_PROCESS {
32 RECV_PACKET_PROCESS_COMPLETE = 0,
33 RECV_PACKET_PROCESS_CONTINUE = 1,
34 };
35
36 struct gdm {
37 struct tty_dev *tty_dev;
38 struct tty_port port;
39 unsigned int index;
40 unsigned int minor;
41 };
42
43 struct tty_dev {
44 void *priv_dev;
45 int (*send_func)(void *priv_dev,
46 void *data,
47 int len,
48 int tty_index,
49 void (*cb)(void *cb_data),
50 void *cb_data);
51 int (*recv_func)(void *priv_dev,
52 int (*cb)(void *data,
53 int len,
54 int tty_index,
55 struct tty_dev *tty_dev,
56 int complete));
57 int (*send_control)(void *priv_dev,
58 int request,
59 int value,
60 void *data,
61 int len);
62 struct gdm *gdm[2];
63 };
64
65 int register_lte_tty_driver(void);
66 void unregister_lte_tty_driver(void);
67 int register_lte_tty_device(struct tty_dev *tty_dev, struct device *dev);
68 void unregister_lte_tty_device(struct tty_dev *tty_dev);
69
70 #endif /* _GDM_USB_H_ */
71
This page took 0.032391 seconds and 5 git commands to generate.