root/drivers/staging/gdm724x/gdm_tty.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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 
  14 enum TO_HOST_RESULT {
  15         TO_HOST_BUFFER_REQUEST_FAIL = 1,
  16         TO_HOST_PORT_CLOSE = 2,
  17         TO_HOST_INVALID_PACKET = 3,
  18 };
  19 
  20 enum RECV_PACKET_PROCESS {
  21         RECV_PACKET_PROCESS_COMPLETE = 0,
  22         RECV_PACKET_PROCESS_CONTINUE = 1,
  23 };
  24 
  25 struct gdm {
  26         struct tty_dev *tty_dev;
  27         struct tty_port port;
  28         unsigned int index;
  29         unsigned int minor;
  30 };
  31 
  32 struct 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 
  54 int register_lte_tty_driver(void);
  55 void unregister_lte_tty_driver(void);
  56 int register_lte_tty_device(struct tty_dev *tty_dev, struct device *dev);
  57 void unregister_lte_tty_device(struct tty_dev *tty_dev);
  58 
  59 #endif /* _GDM_USB_H_ */
  60 

/* [<][>][^][v][top][bottom][index][help] */