All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gregory CLEMENT <gregory.clement@free-electrons.com>
To: One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>
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: Wed, 03 Feb 2016 16:58:46 +0100	[thread overview]
Message-ID: <87vb654wg9.fsf@free-electrons.com> (raw)
In-Reply-To: <20160202181935.19b4ab7e@lxorguk.ukuu.org.uk> (One Thousand Gnomes's message of "Tue, 2 Feb 2016 18:19:35 +0000")

Hi,
 
 On mar., févr. 02 2016, One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk> wrote:

>> +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.

OK thanks for the pointer.

>
> 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.

I missed this one, I will remove .major and .minor and use our own
ttyXX.

Thanks,

Gregory

>
> Alan

-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

WARNING: multiple messages have this Message-ID (diff)
From: gregory.clement@free-electrons.com (Gregory CLEMENT)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 01/10] serial: mvebu-uart: initial support for Armada-3700 serial port
Date: Wed, 03 Feb 2016 16:58:46 +0100	[thread overview]
Message-ID: <87vb654wg9.fsf@free-electrons.com> (raw)
In-Reply-To: <20160202181935.19b4ab7e@lxorguk.ukuu.org.uk> (One Thousand Gnomes's message of "Tue, 2 Feb 2016 18:19:35 +0000")

Hi,
 
 On mar., f?vr. 02 2016, One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk> wrote:

>> +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.

OK thanks for the pointer.

>
> 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.

I missed this one, I will remove .major and .minor and use our own
ttyXX.

Thanks,

Gregory

>
> Alan

-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

  reply	other threads:[~2016-02-03 15:58 UTC|newest]

Thread overview: 84+ 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
2016-02-02 18:19     ` One Thousand Gnomes
2016-02-03 15:58     ` Gregory CLEMENT [this message]
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 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=87vb654wg9.fsf@free-electrons.com \
    --to=gregory.clement@free-electrons.com \
    --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=gnomes@lxorguk.ukuu.org.uk \
    --cc=gregkh@linuxfoundation.org \
    --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.