All of lore.kernel.org
 help / color / mirror / Atom feed
From: One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>
To: Gregory CLEMENT <gregory.clement@free-electrons.com>
Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	arm@kernel.org, Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jslaby@suse.com>,
	linux-serial@vger.kernel.org, Tejun Heo <tj@kernel.org>,
	Hans de Goede <hdegoede@redhat.com>,
	linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org,
	Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	linux-arm-kernel@lists.infradead.org,
	Wilson Ding <dingwei@marvell.com>,
	Nadav Haklai <nadavh@marvell.com>
Subject: Re: [PATCH 01/10] serial: mvebu-uart: initial support for Armada-3700 serial port
Date: Tue, 2 Feb 2016 18:19:35 +0000	[thread overview]
Message-ID: <20160202181935.19b4ab7e@lxorguk.ukuu.org.uk> (raw)
In-Reply-To: <1454436468-4241-2-git-send-email-gregory.clement@free-electrons.com>


> +static void mvebu_uart_set_termios(struct uart_port *port,
> +				   struct ktermios *termios,
> +				   struct ktermios *old)
> +{
> +	unsigned long flags;
> +	unsigned int baud;
> +
> +	spin_lock_irqsave(&port->lock, flags);
> +
> +	port->read_status_mask = STAT_RX_RDY | STAT_OVR_ERR |
> +		STAT_TX_RDY | STAT_TX_FIFO_FUL;
> +
> +	if (termios->c_iflag & INPCK)
> +		port->read_status_mask |= STAT_FRM_ERR | STAT_PAR_ERR;
> +
> +	port->ignore_status_mask = 0;
> +	if (termios->c_iflag & IGNPAR)
> +		port->ignore_status_mask |=
> +			STAT_FRM_ERR | STAT_PAR_ERR | STAT_OVR_ERR;
> +
> +	if ((termios->c_cflag & CREAD) == 0)
> +		port->ignore_status_mask |= STAT_RX_RDY | STAT_BRK_ERR;

If you don't support parity or charactive size then you should be forcing
those bits in the tty->termios so that the caller sees what settings they
get. tty_termios_copy_hw is close to what you need except that you can
support IGNPAR.

You also want to provide the actual baud rate chosen (see how 8250.c does
it using tty_termios_encode_baud_rate().


> +static struct uart_driver mvebu_uart_driver = {
> +	.owner			= THIS_MODULE,
> +	.driver_name		= "serial",
> +	.dev_name		= "ttyS",
> +	.major			= TTY_MAJOR,
> +	.minor			= 64,

NAK

TTY_MAJOR 64+ is the 8250 driver and ttyS is the 8250 driver name. You
should be using a dynamic major (0) for all new drivers and you need to
pick a different and unused ttyXXX format name.

Alan

WARNING: multiple messages have this Message-ID (diff)
From: gnomes@lxorguk.ukuu.org.uk (One Thousand Gnomes)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 01/10] serial: mvebu-uart: initial support for Armada-3700 serial port
Date: Tue, 2 Feb 2016 18:19:35 +0000	[thread overview]
Message-ID: <20160202181935.19b4ab7e@lxorguk.ukuu.org.uk> (raw)
In-Reply-To: <1454436468-4241-2-git-send-email-gregory.clement@free-electrons.com>


> +static void mvebu_uart_set_termios(struct uart_port *port,
> +				   struct ktermios *termios,
> +				   struct ktermios *old)
> +{
> +	unsigned long flags;
> +	unsigned int baud;
> +
> +	spin_lock_irqsave(&port->lock, flags);
> +
> +	port->read_status_mask = STAT_RX_RDY | STAT_OVR_ERR |
> +		STAT_TX_RDY | STAT_TX_FIFO_FUL;
> +
> +	if (termios->c_iflag & INPCK)
> +		port->read_status_mask |= STAT_FRM_ERR | STAT_PAR_ERR;
> +
> +	port->ignore_status_mask = 0;
> +	if (termios->c_iflag & IGNPAR)
> +		port->ignore_status_mask |=
> +			STAT_FRM_ERR | STAT_PAR_ERR | STAT_OVR_ERR;
> +
> +	if ((termios->c_cflag & CREAD) == 0)
> +		port->ignore_status_mask |= STAT_RX_RDY | STAT_BRK_ERR;

If you don't support parity or charactive size then you should be forcing
those bits in the tty->termios so that the caller sees what settings they
get. tty_termios_copy_hw is close to what you need except that you can
support IGNPAR.

You also want to provide the actual baud rate chosen (see how 8250.c does
it using tty_termios_encode_baud_rate().


> +static struct uart_driver mvebu_uart_driver = {
> +	.owner			= THIS_MODULE,
> +	.driver_name		= "serial",
> +	.dev_name		= "ttyS",
> +	.major			= TTY_MAJOR,
> +	.minor			= 64,

NAK

TTY_MAJOR 64+ is the 8250 driver and ttyS is the 8250 driver name. You
should be using a dynamic major (0) for all new drivers and you need to
pick a different and unused ttyXXX format name.

Alan

  parent reply	other threads:[~2016-02-02 18:19 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-02 18:07 [PATCH 00/10] Add support for the Armada 3700 SoC an mvebu ARM64 based Gregory CLEMENT
2016-02-02 18:07 ` Gregory CLEMENT
2016-02-02 18:07 ` [PATCH 01/10] serial: mvebu-uart: initial support for Armada-3700 serial port Gregory CLEMENT
2016-02-02 18:07   ` Gregory CLEMENT
2016-02-02 18:19   ` Mark Rutland
2016-02-02 18:19     ` Mark Rutland
2016-02-02 18:21     ` Mark Rutland
2016-02-02 18:21       ` Mark Rutland
2016-02-02 18:19   ` One Thousand Gnomes [this message]
2016-02-02 18:19     ` One Thousand Gnomes
2016-02-03 15:58     ` Gregory CLEMENT
2016-02-03 15:58       ` Gregory CLEMENT
2016-02-02 18:28   ` Mark Rutland
2016-02-02 18:28     ` Mark Rutland
2016-02-02 18:28     ` Mark Rutland
2016-02-03 16:32     ` Gregory CLEMENT
2016-02-03 16:32       ` Gregory CLEMENT
2016-02-03 16:56     ` Gregory CLEMENT
2016-02-03 16:56       ` Gregory CLEMENT
     [not found]       ` <87egct4trb.fsf-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-02-03 17:05         ` Mark Rutland
2016-02-03 17:05           ` Mark Rutland
2016-02-03 17:05           ` Mark Rutland
2016-02-02 21:07   ` Arnd Bergmann
2016-02-02 21:07     ` Arnd Bergmann
2016-02-03 16:36     ` Gregory CLEMENT
2016-02-03 16:36       ` Gregory CLEMENT
2016-02-03 16:36       ` Gregory CLEMENT
2016-02-02 21:19   ` Rob Herring
2016-02-02 21:19     ` Rob Herring
2016-02-03  8:05   ` Marcin Wojtas
2016-02-03  8:05     ` Marcin Wojtas
2016-02-03  8:05     ` Marcin Wojtas
2016-02-03 16:43     ` Gregory CLEMENT
2016-02-03 16:43       ` Gregory CLEMENT
2016-02-03 16:43       ` Gregory CLEMENT
2016-02-02 18:07 ` [PATCH 02/10] ata: ahci_mvebu: add support for Armada 3700 variant Gregory CLEMENT
2016-02-02 18:07   ` Gregory CLEMENT
2016-02-02 18:07   ` Gregory CLEMENT
2016-02-02 18:07 ` [PATCH 03/10] arm64: add Armada 3700 architecture entry Gregory CLEMENT
2016-02-02 18:07   ` Gregory CLEMENT
2016-02-02 18:07   ` Gregory CLEMENT
2016-02-03  6:24   ` Jisheng Zhang
2016-02-03  6:24     ` Jisheng Zhang
2016-02-03  6:24     ` Jisheng Zhang
2016-02-03  7:55     ` Gregory CLEMENT
2016-02-03  7:55       ` Gregory CLEMENT
2016-02-03  7:55       ` Gregory CLEMENT
     [not found]       ` <87k2mm5itx.fsf-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-02-03  9:11         ` Arnd Bergmann
2016-02-03  9:11           ` Arnd Bergmann
2016-02-03  9:11           ` Arnd Bergmann
2016-02-03 11:13           ` Gregory CLEMENT
2016-02-03 11:13             ` Gregory CLEMENT
2016-02-02 18:07 ` [PATCH 04/10] Documentation: dt-bindings: Add a new compatible for the Armada 3700 Gregory CLEMENT
2016-02-02 18:07   ` Gregory CLEMENT
2016-02-02 18:07   ` Gregory CLEMENT
2016-02-02 21:20   ` Rob Herring
2016-02-02 21:20     ` Rob Herring
2016-02-02 18:07 ` [PATCH 05/10] Documentation: dt: Tidy up the Marvell related files Gregory CLEMENT
2016-02-02 18:07   ` Gregory CLEMENT
     [not found]   ` <1454436468-4241-6-git-send-email-gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-02-02 21:26     ` Rob Herring
2016-02-02 21:26       ` Rob Herring
2016-02-02 21:26       ` Rob Herring
2016-02-02 18:07 ` [PATCH 06/10] devicetree: bindings: add DT binding for the Marvell Armada 3700 SoC family Gregory CLEMENT
2016-02-02 18:07   ` Gregory CLEMENT
     [not found]   ` <1454436468-4241-7-git-send-email-gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-02-02 21:24     ` Rob Herring
2016-02-02 21:24       ` Rob Herring
2016-02-02 21:24       ` Rob Herring
2016-02-03  8:02       ` Gregory CLEMENT
2016-02-03  8:02         ` Gregory CLEMENT
2016-02-03  8:02         ` Gregory CLEMENT
2016-02-02 18:07 ` [PATCH 07/10] arm64: dts: add the Marvell Armada 3700 family and a development board Gregory CLEMENT
2016-02-02 18:07   ` Gregory CLEMENT
2016-02-02 18:34   ` Mark Rutland
2016-02-02 18:34     ` Mark Rutland
2016-02-03 10:44     ` Gregory CLEMENT
2016-02-03 10:44       ` Gregory CLEMENT
2016-02-03  6:37   ` Jisheng Zhang
2016-02-03  6:37     ` Jisheng Zhang
2016-02-03  6:37     ` Jisheng Zhang
2016-02-02 18:07 ` [PATCH 08/10] MAINTAINERS: Extend dts entry for ARM64 mvebu files Gregory CLEMENT
2016-02-02 18:07   ` Gregory CLEMENT
2016-02-02 18:07 ` [PATCH 09/10] Documentation: arm: update supported Marvell EBU processors Gregory CLEMENT
2016-02-02 18:07   ` Gregory CLEMENT
2016-02-02 18:07 ` [PATCH 10/10] arm64: defconfig: enable Armada 3700 related config Gregory CLEMENT
2016-02-02 18:07   ` Gregory CLEMENT

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160202181935.19b4ab7e@lxorguk.ukuu.org.uk \
    --to=gnomes@lxorguk.ukuu.org.uk \
    --cc=andrew@lunn.ch \
    --cc=arm@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=corbet@lwn.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dingwei@marvell.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=gregory.clement@free-electrons.com \
    --cc=hdegoede@redhat.com \
    --cc=jason@lakedaemon.net \
    --cc=jslaby@suse.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=nadavh@marvell.com \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=thomas.petazzoni@free-electrons.com \
    --cc=tj@kernel.org \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.