gdm_tty.h (1261B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* Copyright (c) 2012 GCT Semiconductor, Inc. All rights reserved. */ 3 4#ifndef _GDM_TTY_H_ 5#define _GDM_TTY_H_ 6 7#include <linux/types.h> 8#include <linux/tty.h> 9 10#define TTY_MAX_COUNT 2 11 12#define MAX_ISSUE_NUM 3 13 14enum TO_HOST_RESULT { 15 TO_HOST_BUFFER_REQUEST_FAIL = 1, 16 TO_HOST_PORT_CLOSE = 2, 17 TO_HOST_INVALID_PACKET = 3, 18}; 19 20enum RECV_PACKET_PROCESS { 21 RECV_PACKET_PROCESS_COMPLETE = 0, 22 RECV_PACKET_PROCESS_CONTINUE = 1, 23}; 24 25struct gdm { 26 struct tty_dev *tty_dev; 27 struct tty_port port; 28 unsigned int index; 29 unsigned int minor; 30}; 31 32struct tty_dev { 33 void *priv_dev; 34 int (*send_func)(void *priv_dev, 35 void *data, 36 int len, 37 int tty_index, 38 void (*cb)(void *cb_data), 39 void *cb_data); 40 int (*recv_func)(void *priv_dev, 41 int (*cb)(void *data, 42 int len, 43 int tty_index, 44 struct tty_dev *tty_dev, 45 int complete)); 46 int (*send_control)(void *priv_dev, 47 int request, 48 int value, 49 void *data, 50 int len); 51 struct gdm *gdm[2]; 52}; 53 54int register_lte_tty_driver(void); 55void unregister_lte_tty_driver(void); 56int register_lte_tty_device(struct tty_dev *tty_dev, struct device *dev); 57void unregister_lte_tty_device(struct tty_dev *tty_dev); 58 59#endif /* _GDM_USB_H_ */ 60