Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2438724pxj; Mon, 10 May 2021 03:02:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxfzZpU2PiJTQxjiW80dk58YUAIwiPFGWBUPnPDdlOgznr432KYwn5B5Tn2/GemCXQymbek X-Received: by 2002:a05:6e02:685:: with SMTP id o5mr20586585ils.93.1620640953922; Mon, 10 May 2021 03:02:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620640953; cv=none; d=google.com; s=arc-20160816; b=BA1oyJwD+xiktVMf8QTWo7DC6qZ2XnDEUru2LyUP8ikRIQhPGFaGFFRdbVenhroZro eMWP8pTK+p6QMfgBxrHyKH41ZXMJ8Z73BIDOWze5MSbEKAD6bEuzZFCR4s6niVIVhz5S j9xf6Ly/LWIaj+5hb9HCXXjfmSRUALvKdSgaTXXmerB5xIWiaZJANZ3YZSFIghMxwVDw pupdw12YJfSyNQxVQkJ9qJ/1UqHi9ur8x9oGsgpukRAQQY5yLi948tdcZIP4tD3jueJ6 jztR+UUvI31RhAfj7w95cA3T+1lTj6bHyjLJ3VZ6bLV2K/aMmRgi5OcfLnoRnto7LLJB yCww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=oeF/PEJQ8ZFgfx4ebQwY1Mlam8lvrRJcoyVdzb2riYY=; b=T6i99AVbYpErHFVOISh5PZE49lr4OsMHiooZBtOQxPuYDsjdc6mYu5yzeN/h1vUGzZ HNkvKH3nnhlrbCFV6Zo/HR7LuVVlHaeAt/9boFPlx3VbDWeaLz+QJ/d6GgCAng6wadnW frkTZFb54MOue7uLGXa8X2O7RwJIiOl6v/ZJFLDhWWJc0PWsHVRcv8np6+GRRFxelT2D x6Xd2NXbO5EQjcEoXSg+kSll4ykmZ0rT0MAF9fTJmo8AGVmEBfrzC71psU28KY2UfS7l 9h0Wu9+dMgyI+N80vVMI0CfYvpSe7ursq/yQ2wuCGSlIJiexA+LiwTAu6xTgA2j+XJ7S e+CA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=si4s5LjH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w9si5219348ilv.15.2021.05.10.03.02.21; Mon, 10 May 2021 03:02:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=si4s5LjH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230333AbhEJKBB (ORCPT + 99 others); Mon, 10 May 2021 06:01:01 -0400 Received: from mail.kernel.org ([198.145.29.99]:46384 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230103AbhEJKBB (ORCPT ); Mon, 10 May 2021 06:01:01 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 987BA610CB; Mon, 10 May 2021 09:59:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620640796; bh=1Fqt/lO6W2UB2zlaP0nG7zj/PsW8gJl/kBA6a/ThXiM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=si4s5LjHLsd9wxgbTQsIUjfE6g8ovLGQpYuozMGQemIvJZTNrvoD65gSRIm7sTmPM LOIrfyeG5aAc+Dbz6vQmXWJKnkT/65NH+Tcrj50mHTFnbJe1kol2E25p7bGVeaxUp5 WZALA4tn4tCY3hCDQPyrg+eWG9Cnag5gSJ6dcfz7YvVIcGazVFLNk0vJcrH6Kk8UeE QOpdMfW5iOy9OKw2VnEVH9f1teISR4Yw5jQNc+7jcM6pss8EOeu4p6ilVUnwIl0foM /3WT7lrT3zvBuQCNJCdpbHyUexLIZU3PpZ3HfEnPfSTq58g+2BssX5xB2EV7jOuDoG bKjJEC9N62EJA== Received: from johan by xi.lan with local (Exim 4.94.2) (envelope-from ) id 1lg2hj-00028v-Iu; Mon, 10 May 2021 11:59:59 +0200 Date: Mon, 10 May 2021 11:59:59 +0200 From: Johan Hovold To: Jiri Slaby Cc: gregkh@linuxfoundation.org, linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Arnd Bergmann , David Lin , Alex Elder , Shawn Guo , Sascha Hauer , Andy Gross , Bjorn Andersson , Maxime Coquelin , Alexandre Torgue , Oliver Neukum Subject: Re: [PATCH 35/35] tty: make use of tty_get_byte_size Message-ID: References: <20210505091928.22010-1-jslaby@suse.cz> <20210505091928.22010-36-jslaby@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210505091928.22010-36-jslaby@suse.cz> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 05, 2021 at 11:19:28AM +0200, Jiri Slaby wrote: > In the previous patch, we introduced tty_get_byte_size for computing > byte size. Here, we make use of it in various tty drivers. > > The stats look nice: 16 insertions, 203 deletions. > > Signed-off-by: Jiri Slaby > Cc: Arnd Bergmann > Cc: David Lin > Cc: Johan Hovold > Cc: Alex Elder > Cc: Shawn Guo > Cc: Sascha Hauer > Cc: Andy Gross > Cc: Bjorn Andersson > Cc: Maxime Coquelin > Cc: Alexandre Torgue > Cc: Oliver Neukum > --- > drivers/char/pcmcia/synclink_cs.c | 8 +----- > drivers/staging/greybus/uart.c | 16 +---------- > drivers/tty/serial/cpm_uart/cpm_uart_core.c | 19 +----------- > drivers/tty/serial/mxs-auart.c | 18 +----------- > drivers/tty/serial/qcom_geni_serial.c | 16 +---------- > drivers/tty/serial/sh-sci.c | 20 +------------ > drivers/tty/serial/stm32-usart.c | 32 +-------------------- > drivers/tty/synclink_gt.c | 9 +----- > drivers/usb/class/cdc-acm.c | 17 ++--------- > drivers/usb/serial/belkin_sa.c | 21 ++------------ > drivers/usb/serial/cypress_m8.c | 19 ++---------- > drivers/usb/serial/pl2303.c | 15 +--------- > drivers/usb/serial/whiteheat.c | 9 +----- > 13 files changed, 16 insertions(+), 203 deletions(-) > diff --git a/drivers/tty/serial/mxs-auart.c b/drivers/tty/serial/mxs-auart.c > index f414d6acad69..a5cbd7324268 100644 > --- a/drivers/tty/serial/mxs-auart.c > +++ b/drivers/tty/serial/mxs-auart.c > @@ -971,23 +971,7 @@ static void mxs_auart_settermios(struct uart_port *u, > ctrl2 = mxs_read(s, REG_CTRL2); > > /* byte size */ > - switch (cflag & CSIZE) { > - case CS5: > - bm = 0; > - break; > - case CS6: > - bm = 1; > - break; > - case CS7: > - bm = 2; > - break; > - case CS8: > - bm = 3; > - break; > - default: > - return; > - } > - > + bm = tty_get_byte_size(cflag, false) - 5; This looks weird. The 0..3 constants are really "magic constants" representing the different word sizes. Subtracting an offset obfuscates this. Perhaps better left unchanged or add an appropriately names define for the offset to make it clear what is going on here. > diff --git a/drivers/usb/serial/cypress_m8.c b/drivers/usb/serial/cypress_m8.c > index 1dca04e1519d..b135ed1ee512 100644 > --- a/drivers/usb/serial/cypress_m8.c > +++ b/drivers/usb/serial/cypress_m8.c > @@ -887,23 +887,8 @@ static void cypress_set_termios(struct tty_struct *tty, > } else > parity_enable = parity_type = 0; > > - switch (cflag & CSIZE) { > - case CS5: > - data_bits = 0; > - break; > - case CS6: > - data_bits = 1; > - break; > - case CS7: > - data_bits = 2; > - break; > - case CS8: > - data_bits = 3; > - break; > - default: > - dev_err(dev, "%s - CSIZE was set, but not CS5-CS8\n", __func__); > - data_bits = 3; > - } > + data_bits = tty_get_byte_size(cflag, false) - 5; > + Same here. > spin_lock_irqsave(&priv->lock, flags); > oldlines = priv->line_control; > if ((cflag & CBAUD) == B0) { > diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c > index fd773d252691..76e4d90a9d43 100644 > --- a/drivers/usb/serial/pl2303.c > +++ b/drivers/usb/serial/pl2303.c > @@ -788,20 +788,7 @@ static void pl2303_set_termios(struct tty_struct *tty, > > pl2303_get_line_request(port, buf); > > - switch (C_CSIZE(tty)) { > - case CS5: > - buf[6] = 5; > - break; > - case CS6: > - buf[6] = 6; > - break; > - case CS7: > - buf[6] = 7; > - break; > - default: > - case CS8: > - buf[6] = 8; > - } > + buf[6] = tty_get_byte_size(C_CSIZE(tty), false); Passing tty->termios would be better, but either way no need to mask off the non CSIZE bits here. Johan