#include <linux/tty_driver.h>
#include <linux/tty_flip.h>
#include <linux/serial.h>
#include <linux/string.h>
#include <linux/sched/signal.h>
#include <linux/bitops.h>
#include <linux/module.h>
#include <linux/serdev.h>
static int tty_port_default_receive_buf(struct tty_port *port,
const unsigned char *f, size_t count)
tty = READ_ONCE(port->itty);
disc = tty_ldisc_ref(tty);
ret = tty_ldisc_receive_buf(disc, p, (char *)f, count);
static void tty_port_default_wakeup(struct tty_port *port)
struct tty_struct *tty = tty_port_tty_get(port);
static const struct tty_port_client_operations default_client_ops = {
.receive_buf = tty_port_default_receive_buf,
.write_wakeup = tty_port_default_wakeup,
void tty_port_init(struct tty_port *port)
memset(port, 0, sizeof(*port));