From: miquel.raynal@free-electrons.com (Miquel RAYNAL)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 04/16] serial: mvebu-uart: support probe of multiple ports
Date: Mon, 9 Oct 2017 09:17:11 +0200 [thread overview]
Message-ID: <20171009091711.528adddd@xps13> (raw)
In-Reply-To: <87poa0foro.fsf@free-electrons.com>
On Fri, 06 Oct 2017 14:23:55 +0200
Gregory CLEMENT <gregory.clement@free-electrons.com> wrote:
> Hi Miquel,
>
> On ven., oct. 06 2017, Miquel Raynal
> <miquel.raynal@free-electrons.com> wrote:
>
> > From: Allen Yan <yanwei@marvell.com>
> >
> > Until now, the mvebu-uart driver only supported probing a single
> > UART port. However, some platforms have multiple instances of this
> > UART controller, and therefore the driver should support multiple
> > ports.
> >
> > In order to achieve this, we make sure to assign port->line
> > properly, instead of hardcoding it to zero.
> >
> > Signed-off-by: Allen Yan <yanwei@marvell.com>
> > Signed-off-by: Miquel Raynal <miquel.raynal@free-electrons.com>
> > ---
> > drivers/tty/serial/mvebu-uart.c | 13 +++++++++++--
> > 1 file changed, 11 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/tty/serial/mvebu-uart.c
> > b/drivers/tty/serial/mvebu-uart.c index 7e0a3e9fee15..25b11ede3a97
> > 100644 --- a/drivers/tty/serial/mvebu-uart.c
> > +++ b/drivers/tty/serial/mvebu-uart.c
> > @@ -560,7 +560,16 @@ static int mvebu_uart_probe(struct
> > platform_device *pdev) return -EINVAL;
> > }
> >
> > - port = &mvebu_uart_ports[0];
> > + if (pdev->dev.of_node)
> > + pdev->id = of_alias_get_id(pdev->dev.of_node,
> > "serial");
>
> If the id is retrieved using an of_ function, then I think that the
> driver would depend on OF_CONFIG.
Is this okay?
if (pdev->dev.of_node && IS_ENABLED(CONFIG_OF))
pdev->id = of_alias_get_id(pdev->dev.of_node, "serial");
else
pdev->id = 0;
BTW, I could not test without CONFIG_OF as it is defined by default in
our case: Selected by: ARM64 [=y]
I don't think there will be a 32-bit SoC with this UART IP?
Thanks,
Miqu?l
>
> Gregory
>
>
> > +
> > + if (pdev->id >= MVEBU_NR_UARTS) {
> > + dev_err(&pdev->dev, "cannot have more than %d UART
> > ports\n",
> > + MVEBU_NR_UARTS);
> > + return -EINVAL;
> > + }
> > +
> > + port = &mvebu_uart_ports[pdev->id];
> >
> > spin_lock_init(&port->lock);
> >
> > @@ -572,7 +581,7 @@ static int mvebu_uart_probe(struct
> > platform_device *pdev) port->fifosize = 32;
> > port->iotype = UPIO_MEM32;
> > port->flags = UPF_FIXED_PORT;
> > - port->line = 0; /* single port: force line number
> > to 0 */
> > + port->line = pdev->id;
> >
> > port->irq = irq->start;
> > port->irqflags = 0;
> > --
> > 2.11.0
> >
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
--
Miquel Raynal, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
next prev parent reply other threads:[~2017-10-09 7:17 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-06 10:13 [PATCH 00/16] Support armada-37xx second UART port Miquel Raynal
2017-10-06 10:13 ` [PATCH 01/16] dt-bindings: mvebu-uart: update documentation with extended UART Miquel Raynal
2017-10-06 12:17 ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 02/16] pinctrl: dt-bindings: Fix A37xx uart2 group name Miquel Raynal
2017-10-06 12:18 ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 03/16] serial: mvebu-uart: use driver name when requesting an interrupt Miquel Raynal
2017-10-06 12:19 ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 04/16] serial: mvebu-uart: support probe of multiple ports Miquel Raynal
2017-10-06 12:23 ` Gregory CLEMENT
2017-10-09 7:17 ` Miquel RAYNAL [this message]
2017-10-12 12:22 ` Gregory CLEMENT
2017-10-13 7:29 ` Miquel RAYNAL
2017-10-06 10:13 ` [PATCH 05/16] serial: mvebu-uart: use a generic way to access the registers Miquel Raynal
2017-10-06 12:32 ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 06/16] serial: mvebu-uart: add soft reset at probe Miquel Raynal
2017-10-06 12:33 ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 07/16] serial: mvebu-uart: add function to change baudrate Miquel Raynal
2017-10-06 12:39 ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 08/16] serial: mvebu-uart: clear state register before IRQ request Miquel Raynal
2017-10-06 12:40 ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 09/16] serial: mvebu-uart: add TX interrupt trigger for pulse interrupts Miquel Raynal
2017-10-06 20:22 ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 10/16] serial: mvebu-uart: dissociate RX and TX interrupts Miquel Raynal
2017-10-06 13:11 ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 11/16] serial: mvebu-uart: augment the maximum number of ports Miquel Raynal
2017-10-06 12:45 ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 12/16] serial: mvebu-uart: support extended port registers layout Miquel Raynal
2017-10-06 12:46 ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 13/16] arm64: dts: marvell: armada-37xx: add UART clock Miquel Raynal
2017-10-06 12:48 ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 14/16] arm64: dts: marvell: armada-37xx: add second UART port Miquel Raynal
2017-10-06 12:49 ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 15/16] arm64: dts: marvell: armada-3720-db: enable " Miquel Raynal
2017-10-06 12:51 ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 16/16] arm64: dts: marvell: armada-3720-espressobin: fill UART nodes Miquel Raynal
2017-10-06 13:01 ` Gregory CLEMENT
2017-10-06 13:15 ` Thomas Petazzoni
2017-10-09 7:30 ` Miquel RAYNAL
2017-10-12 11:24 ` Gregory CLEMENT
2017-10-13 7:01 ` Miquel RAYNAL
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=20171009091711.528adddd@xps13 \
--to=miquel.raynal@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox