0001
0002
0003
0004 #ifndef _GDM_TTY_H_
0005 #define _GDM_TTY_H_
0006
0007 #include <linux/types.h>
0008 #include <linux/tty.h>
0009
0010 #define TTY_MAX_COUNT 2
0011
0012 #define MAX_ISSUE_NUM 3
0013
0014 enum TO_HOST_RESULT {
0015 TO_HOST_BUFFER_REQUEST_FAIL = 1,
0016 TO_HOST_PORT_CLOSE = 2,
0017 TO_HOST_INVALID_PACKET = 3,
0018 };
0019
0020 enum RECV_PACKET_PROCESS {
0021 RECV_PACKET_PROCESS_COMPLETE = 0,
0022 RECV_PACKET_PROCESS_CONTINUE = 1,
0023 };
0024
0025 struct gdm {
0026 struct tty_dev *tty_dev;
0027 struct tty_port port;
0028 unsigned int index;
0029 unsigned int minor;
0030 };
0031
0032 struct tty_dev {
0033 void *priv_dev;
0034 int (*send_func)(void *priv_dev,
0035 void *data,
0036 int len,
0037 int tty_index,
0038 void (*cb)(void *cb_data),
0039 void *cb_data);
0040 int (*recv_func)(void *priv_dev,
0041 int (*cb)(void *data,
0042 int len,
0043 int tty_index,
0044 struct tty_dev *tty_dev,
0045 int complete));
0046 int (*send_control)(void *priv_dev,
0047 int request,
0048 int value,
0049 void *data,
0050 int len);
0051 struct gdm *gdm[2];
0052 };
0053
0054 int register_lte_tty_driver(void);
0055 void unregister_lte_tty_driver(void);
0056 int register_lte_tty_device(struct tty_dev *tty_dev, struct device *dev);
0057 void unregister_lte_tty_device(struct tty_dev *tty_dev);
0058
0059 #endif
0060