serial: Consolidate the general termios in the common place

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
Xiang Xiao 2022-02-02 00:53:34 +08:00 committed by Alan Carvalho de Assis
parent 7dfa768552
commit f987668068
3 changed files with 1 additions and 115 deletions

View File

@ -100,7 +100,6 @@ static int usart0_attach(struct uart_dev_s *dev);
static void usart0_detach(struct uart_dev_s *dev);
static int usart0_rxinterrupt(int irq, void *context, FAR void *arg);
static int usart0_txinterrupt(int irq, void *context, FAR void *arg);
static int usart0_ioctl(struct file *filep, int cmd, unsigned long arg);
static int usart0_receive(struct uart_dev_s *dev, FAR unsigned int *status);
static void usart0_rxint(struct uart_dev_s *dev, bool enable);
static bool usart0_rxavailable(struct uart_dev_s *dev);
@ -117,7 +116,6 @@ static int usart1_attach(struct uart_dev_s *dev);
static void usart1_detach(struct uart_dev_s *dev);
static int usart1_rxinterrupt(int irq, void *context, FAR void *arg);
static int usart1_txinterrupt(int irq, void *context, FAR void *arg);
static int usart1_ioctl(struct file *filep, int cmd, unsigned long arg);
static int usart1_receive(struct uart_dev_s *dev, FAR unsigned int *status);
static void usart1_rxint(struct uart_dev_s *dev, bool enable);
static bool usart1_rxavailable(struct uart_dev_s *dev);
@ -140,7 +138,6 @@ struct uart_ops_s g_usart0_ops =
.shutdown = usart0_shutdown,
.attach = usart0_attach,
.detach = usart0_detach,
.ioctl = usart0_ioctl,
.receive = usart0_receive,
.rxint = usart0_rxint,
.rxavailable = usart0_rxavailable,
@ -185,7 +182,6 @@ struct uart_ops_s g_usart1_ops =
.shutdown = usart1_shutdown,
.attach = usart1_attach,
.detach = usart1_detach,
.ioctl = usart1_ioctl,
.receive = usart1_receive,
.rxint = usart1_rxint,
.rxavailable = usart1_rxavailable,
@ -544,62 +540,6 @@ static int usart1_txinterrupt(int irq, void *context, FAR void *arg)
}
#endif
/****************************************************************************
* Name: usart0/1_ioctl
*
* Description:
* All ioctl calls will be routed through this method
*
****************************************************************************/
#ifdef CONFIG_AVR_USART0
static int usart0_ioctl(struct file *filep, int cmd, unsigned long arg)
{
#ifdef CONFIG_SERIAL_TERMIOS
int ret = OK;
switch (cmd)
{
case TCGETS:
case TCSETS:
break;
default:
ret = -ENOTTY;
break;
}
return ret;
#else
return -ENOTTY;
#endif
}
#endif
#ifdef CONFIG_AVR_USART1
static int usart1_ioctl(struct file *filep, int cmd, unsigned long arg)
{
#ifdef CONFIG_SERIAL_TERMIOS
int ret = OK;
switch (cmd)
{
case TCGETS:
case TCSETS:
break;
default:
ret = -ENOTTY;
break;
}
return ret;
#else
return -ENOTTY;
#endif
}
#endif
/****************************************************************************
* Name: usart0/1_receive
*

View File

@ -1439,7 +1439,7 @@ static int uart_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
#ifdef CONFIG_SERIAL_TERMIOS
/* Append any higher level TTY flags */
else if (ret == OK)
if (ret == OK || ret == -ENOTTY)
{
switch (cmd)
{

View File

@ -77,9 +77,6 @@ struct uart_rpmsg_priv_s
FAR const char *cpuname;
FAR void *recv_data;
bool last_upper;
#ifdef CONFIG_SERIAL_TERMIOS
struct termios termios;
#endif
};
/****************************************************************************
@ -90,8 +87,6 @@ static int uart_rpmsg_setup(FAR struct uart_dev_s *dev);
static void uart_rpmsg_shutdown(FAR struct uart_dev_s *dev);
static int uart_rpmsg_attach(FAR struct uart_dev_s *dev);
static void uart_rpmsg_detach(FAR struct uart_dev_s *dev);
static int uart_rpmsg_ioctl(FAR struct file *filep,
int cmd, unsigned long arg);
static void uart_rpmsg_rxint(FAR struct uart_dev_s *dev, bool enable);
static bool uart_rpmsg_rxflowcontrol(FAR struct uart_dev_s *dev,
unsigned int nbuffered, bool upper);
@ -120,7 +115,6 @@ static const struct uart_ops_s g_uart_rpmsg_ops =
.shutdown = uart_rpmsg_shutdown,
.attach = uart_rpmsg_attach,
.detach = uart_rpmsg_detach,
.ioctl = uart_rpmsg_ioctl,
.rxint = uart_rpmsg_rxint,
.rxflowcontrol = uart_rpmsg_rxflowcontrol,
.dmasend = uart_rpmsg_dmasend,
@ -155,54 +149,6 @@ static void uart_rpmsg_detach(FAR struct uart_dev_s *dev)
{
}
static int uart_rpmsg_ioctl(FAR struct file *filep, int cmd,
unsigned long arg)
{
int ret = -ENOTTY;
#ifdef CONFIG_SERIAL_TERMIOS
struct uart_dev_s *dev = filep->f_inode->i_private;
struct uart_rpmsg_priv_s *priv = dev->priv;
switch (cmd)
{
case TCGETS:
{
FAR struct termios *termiosp = (struct termios *)arg;
if (termiosp)
{
*termiosp = priv->termios;
ret = OK;
}
else
{
ret = -EINVAL;
}
}
break;
case TCSETS:
{
FAR struct termios *termiosp = (struct termios *)arg;
if (termiosp)
{
priv->termios = *termiosp;
ret = OK;
}
else
{
ret = -EINVAL;
}
}
break;
}
#endif
return ret;
}
static void uart_rpmsg_rxint(FAR struct uart_dev_s *dev, bool enable)
{
}