Thread (1 message) 1 message, 1 author, 2014-02-11

Re: Linux-3.14-rc2: Order of serial node compatibles in DTS files.

From: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Date: 2014-02-11 23:46:36
Also in: linux-devicetree

On 02/12/2014 12:41 AM, Scott Wood wrote:
On Tue, 2014-02-11 at 23:51 +0100, Sebastian Hesselbarth wrote:
quoted
On 02/11/2014 11:33 PM, Kumar Gala wrote:
quoted
Hmm,

Wondering if this caused the issue:

commit 105353145eafb3ea919f5cdeb652a9d8f270228e
Author: Sebastian Hesselbarth [off-list ref]
Date:   Tue Dec 3 14:52:00 2013 +0100

      OF: base: match each node compatible against all given matches first
[adding Arnd on Cc]

Could be. I checked tty/serial/of_serial.c and it does not provide a
compatible for "fsl,ns16550". Does reverting the patch fix the issue
observed?

I don't think the missing compatible is causing it, but of_serial
provides a DT match for .type = "serial" just to fail later on
with the error seen above.

The commit in question reorders of_match_device in a way that match
table order is not relevant anymore. This can cause it to match
.type = "serial" first here.

Rather than touching the commit, I suggest to remove the problematic
.type = "serial" from the match table. It is of no use anyway.
Regardless of whether .type = "serial" gets removed, it seems wrong for
of_match_node() to accept a .type-only match (or .name, or anything else
that doesn't involve .compatible) before it accepts a compatible match
other than the first in the compatible property.
Right, I thought about it and came to the same conclusion. I sent a
patch a second ago to prefer .compatible != NULL matches over those
with .compatible == NULL.

Would be great if Stephen can re-test that. If it solves the issue, I
can send a patch tomorrow.

Sebastian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help