From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932361AbcGZSFH (ORCPT ); Tue, 26 Jul 2016 14:05:07 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:36233 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932221AbcGZSEM (ORCPT ); Tue, 26 Jul 2016 14:04:12 -0400 From: Mathieu OTHACEHE To: johan@kernel.org, gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Mathieu OTHACEHE Subject: [PATCH v2 21/22] usb: serial: ti_usb_3410_5052: Add CMSPAR support Date: Tue, 26 Jul 2016 20:00:01 +0200 Message-Id: <20160726180002.2398-22-m.othacehe@gmail.com> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20160726180002.2398-1-m.othacehe@gmail.com> References: <20160726180002.2398-1-m.othacehe@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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 168a969..50324b4 100644 --- a/drivers/usb/serial/ti_usb_3410_5052.c +++ b/drivers/usb/serial/ti_usb_3410_5052.c @@ -1031,19 +1031,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)) { - wflags |= TI_UART_ENABLE_PARITY_CHECKING; - config->bParity = TI_UART_ODD_PARITY; + 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 { - 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 { - wflags &= ~TI_UART_ENABLE_PARITY_CHECKING; config->bParity = TI_UART_NO_PARITY; } -- 2.9.0