From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932366AbcELIxf (ORCPT ); Thu, 12 May 2016 04:53:35 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:34267 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751947AbcELIun (ORCPT ); Thu, 12 May 2016 04:50:43 -0400 From: Mathieu OTHACEHE To: johan@kernel.org Cc: gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Mathieu OTHACEHE Subject: [PATCH 33/36] usb: serial: ti_usb_3410_5052: Add CMSPAR support Date: Thu, 12 May 2016 10:49:05 +0200 Message-Id: <1463042948-12205-34-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.8.2 In-Reply-To: <1463042948-12205-1-git-send-email-m.othacehe@gmail.com> References: <1463042948-12205-1-git-send-email-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 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