[PATCH 33/36] usb: serial: ti_usb_3410_5052: Add CMSPAR support

From: Mathieu OTHACEHE
Date: Thu May 12 2016 - 04:53:39 EST


Add CMSPAR support in set_termios callback.
Move TI_UART_ENABLE_PARITY_CHECKING setting in the upper
block to avoid doing it twice.
Delete useless TI_UART_ENABLE_PARITY_CHECKING unsetting.

Signed-off-by: Mathieu OTHACEHE <m.othacehe@xxxxxxxxx>
---
drivers/usb/serial/ti_usb_3410_5052.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c
index 451dab4..94e7edd 100644
--- a/drivers/usb/serial/ti_usb_3410_5052.c
+++ b/drivers/usb/serial/ti_usb_3410_5052.c
@@ -952,19 +952,20 @@ static void ti_set_termios(struct tty_struct *tty,
break;
}

- /* CMSPAR isn't supported by this driver */
- tty->termios.c_cflag &= ~CMSPAR;
-
if (C_PARENB(tty)) {
- if (C_PARODD(tty)) {
- config->wFlags |= TI_UART_ENABLE_PARITY_CHECKING;
- config->bParity = TI_UART_ODD_PARITY;
+ config->wFlags |= TI_UART_ENABLE_PARITY_CHECKING;
+ if (C_CMSPAR(tty)) {
+ if (C_PARODD(tty))
+ config->bParity = TI_UART_MARK_PARITY;
+ else
+ config->bParity = TI_UART_SPACE_PARITY;
} else {
- config->wFlags |= TI_UART_ENABLE_PARITY_CHECKING;
- config->bParity = TI_UART_EVEN_PARITY;
+ if (C_PARODD(tty))
+ config->bParity = TI_UART_ODD_PARITY;
+ else
+ config->bParity = TI_UART_EVEN_PARITY;
}
} else {
- config->wFlags &= ~TI_UART_ENABLE_PARITY_CHECKING;
config->bParity = TI_UART_NO_PARITY;
}

--
2.8.2