From: Gregory CLEMENT <gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
To: Miquel RAYNAL
<miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
Cc: Greg Kroah-Hartman
<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
Linus Walleij
<linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
Andrew Lunn <andrew-g2DYL2Zd6BY@public.gmane.org>,
Sebastian Hesselbarth
<sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Jiri Slaby <jslaby-IBi9RG/b67k@public.gmane.org>,
Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org>,
Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>,
linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Thomas Petazzoni
<thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
Antoine Tenart
<antoine.tenart-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
Nadav Haklai <nadavh-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
Wilson Ding <dingwei-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
Allen Yan <yanwei-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>
Subject: Re: [PATCH v2 04/16] serial: mvebu-uart: support probe of multiple ports
Date: Fri, 13 Oct 2017 13:22:35 +0200 [thread overview]
Message-ID: <87376n9ts4.fsf@free-electrons.com> (raw)
In-Reply-To: <20171013131711.4ef63ea0@xps13> (Miquel RAYNAL's message of "Fri, 13 Oct 2017 13:17:11 +0200")
Hi Miquel,
On ven., oct. 13 2017, Miquel RAYNAL <miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> wrote:
> Hi Gregory,
>
> On Fri, 13 Oct 2017 11:40:32 +0200
> Gregory CLEMENT <gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> wrote:
>
>> Hi Miquel,
>>
>> On ven., oct. 13 2017, Miquel Raynal
>> <miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> wrote:
>>
>> > - port = &mvebu_uart_ports[0];
>> > + /* Assume that all UART ports have a DT alias or none has
>> > */
>> > + id = of_alias_get_id(pdev->dev.of_node, "serial");
>>
>> You stil need to check the pdev->dev.of_node before calling
>> of_alias_get_id.
>
> Thanks for your feedback but I don't think we still need to check it,
> because the of_alias_get_id() function will either return -ENOSYS if
> CONFIG_OF is not defined, or -ENODEV if the node is not found. As the
> function does not dereference pdev->dev.of_node at any moment but
> instead compares the value with another pointer, I think this call is
> safe like this.
Fair enough, I expected that the pointer was dereferenced but I was
wrong, was so no need for a new version.
Acked-by: Gregory CLEMENT <gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
Thanks,
Gregory
>
> Thanks,
> Miquèl
>
>>
>> Once it will be fixed, you can add:
>>
>> Acked-by: Gregory CLEMENT <gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
>>
>> Thanks,
>>
>> Gregory
>>
>>
>> > + if (!pdev->dev.of_node || id < 0)
>> > + pdev->id = uart_num_counter++;
>> > + else
>> > + pdev->id = id;
>> > +
>> > + 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 +588,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
>> >
>>
>
>
>
> --
> Miquel Raynal, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
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 v2 04/16] serial: mvebu-uart: support probe of multiple ports
Date: Fri, 13 Oct 2017 13:22:35 +0200 [thread overview]
Message-ID: <87376n9ts4.fsf@free-electrons.com> (raw)
In-Reply-To: <20171013131711.4ef63ea0@xps13> (Miquel RAYNAL's message of "Fri, 13 Oct 2017 13:17:11 +0200")
Hi Miquel,
On ven., oct. 13 2017, Miquel RAYNAL <miquel.raynal@free-electrons.com> wrote:
> Hi Gregory,
>
> On Fri, 13 Oct 2017 11:40:32 +0200
> Gregory CLEMENT <gregory.clement@free-electrons.com> wrote:
>
>> Hi Miquel,
>>
>> On ven., oct. 13 2017, Miquel Raynal
>> <miquel.raynal@free-electrons.com> wrote:
>>
>> > - port = &mvebu_uart_ports[0];
>> > + /* Assume that all UART ports have a DT alias or none has
>> > */
>> > + id = of_alias_get_id(pdev->dev.of_node, "serial");
>>
>> You stil need to check the pdev->dev.of_node before calling
>> of_alias_get_id.
>
> Thanks for your feedback but I don't think we still need to check it,
> because the of_alias_get_id() function will either return -ENOSYS if
> CONFIG_OF is not defined, or -ENODEV if the node is not found. As the
> function does not dereference pdev->dev.of_node at any moment but
> instead compares the value with another pointer, I think this call is
> safe like this.
Fair enough, I expected that the pointer was dereferenced but I was
wrong, was so no need for a new version.
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Thanks,
Gregory
>
> Thanks,
> Miqu?l
>
>>
>> Once it will be fixed, you can add:
>>
>> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
>>
>> Thanks,
>>
>> Gregory
>>
>>
>> > + if (!pdev->dev.of_node || id < 0)
>> > + pdev->id = uart_num_counter++;
>> > + else
>> > + pdev->id = id;
>> > +
>> > + 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 +588,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
>> >
>>
>
>
>
> --
> Miquel Raynal, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
next prev parent reply other threads:[~2017-10-13 11:22 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-13 9:01 [PATCH v2 00/16] Support armada-37xx second UART port Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
2017-10-13 9:01 ` [PATCH v2 03/16] serial: mvebu-uart: use driver name when requesting an interrupt Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
2017-10-13 9:01 ` [PATCH v2 04/16] serial: mvebu-uart: support probe of multiple ports Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
2017-10-13 9:40 ` Gregory CLEMENT
2017-10-13 9:40 ` Gregory CLEMENT
[not found] ` <877evz9yi7.fsf-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-13 11:17 ` Miquel RAYNAL
2017-10-13 11:17 ` Miquel RAYNAL
2017-10-13 11:22 ` Gregory CLEMENT [this message]
2017-10-13 11:22 ` Gregory CLEMENT
2017-10-13 9:01 ` [PATCH v2 07/16] serial: mvebu-uart: add function to change baudrate Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
[not found] ` <20171013090200.31034-1-miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-13 9:01 ` [PATCH v2 01/16] dt-bindings: mvebu-uart: update documentation with extended UART Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
2017-10-17 22:00 ` Rob Herring
2017-10-17 22:00 ` Rob Herring
2017-10-18 6:25 ` Miquel RAYNAL
2017-10-18 6:25 ` Miquel RAYNAL
2017-10-18 13:29 ` Rob Herring
2017-10-18 13:29 ` Rob Herring
[not found] ` <CAL_JsqJ3VkXHnh1H2NcBhgiFE+++WvXGA9Phdgj77X-4VGX3+w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-10-19 7:36 ` Miquel RAYNAL
2017-10-19 7:36 ` Miquel RAYNAL
2017-10-13 9:01 ` [PATCH v2 02/16] pinctrl: dt-bindings: Fix A37xx uart2 group name Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
2017-10-16 11:56 ` Linus Walleij
2017-10-16 11:56 ` Linus Walleij
2017-10-13 9:01 ` [PATCH v2 05/16] serial: mvebu-uart: use a generic way to access the registers Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
2017-10-13 9:01 ` [PATCH v2 06/16] serial: mvebu-uart: add soft reset at probe Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
2017-10-13 9:01 ` [PATCH v2 08/16] serial: mvebu-uart: clear state register before IRQ request Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
2017-10-13 9:01 ` [PATCH v2 12/16] serial: mvebu-uart: support extended port registers layout Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
2017-10-13 9:01 ` [PATCH v2 14/16] arm64: dts: marvell: armada-37xx: add second UART port Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
[not found] ` <20171013090200.31034-15-miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-30 15:45 ` Gregory CLEMENT
2017-10-30 15:45 ` Gregory CLEMENT
2017-10-13 9:01 ` [PATCH v2 15/16] arm64: dts: marvell: armada-3720-db: enable " Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
[not found] ` <20171013090200.31034-16-miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-30 15:46 ` Gregory CLEMENT
2017-10-30 15:46 ` Gregory CLEMENT
2017-10-13 9:01 ` [PATCH v2 09/16] serial: mvebu-uart: add TX interrupt trigger for pulse interrupts Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
2017-10-13 9:01 ` [PATCH v2 10/16] serial: mvebu-uart: dissociate RX and TX interrupts Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
2017-10-13 9:01 ` [PATCH v2 11/16] serial: mvebu-uart: augment the maximum number of ports Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
2017-10-13 9:01 ` [PATCH v2 13/16] arm64: dts: marvell: armada-37xx: add UART clock Miquel Raynal
2017-10-13 9:01 ` Miquel Raynal
[not found] ` <20171013090200.31034-14-miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-30 15:45 ` Gregory CLEMENT
2017-10-30 15:45 ` Gregory CLEMENT
2017-10-13 9:02 ` [PATCH v2 16/16] arm64: dts: marvell: armada-3720-espressobin: fill UART nodes Miquel Raynal
2017-10-13 9:02 ` Miquel Raynal
2017-10-30 15:46 ` Gregory CLEMENT
2017-10-30 15:46 ` 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=87376n9ts4.fsf@free-electrons.com \
--to=gregory.clement-wi1+55scjutkeb57/3fjtnbpr1lh4cv8@public.gmane.org \
--cc=andrew-g2DYL2Zd6BY@public.gmane.org \
--cc=antoine.tenart-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=catalin.marinas-5wv7dgnIgG8@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=dingwei-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org \
--cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
--cc=jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org \
--cc=jslaby-IBi9RG/b67k@public.gmane.org \
--cc=linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=nadavh-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org \
--cc=sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=will.deacon-5wv7dgnIgG8@public.gmane.org \
--cc=yanwei-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.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 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.