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:43:35
Also in: linux-devicetree

On 02/12/2014 12:38 AM, Stephen N Chivers wrote:
Sebastian Hesselbarth [off-list ref] wrote on
quoted
On 02/11/2014 11:33 PM, Kumar Gala wrote:
quoted
On Feb 11, 2014, at 2:57 PM, Stephen N Chivers [off-list ref] wrote:
quoted
I have been trial booting a 3.14-rc2 kernel for a 85xx platform
(dtbImage).
[...]
quoted
quoted
quoted
of_serial f1004500.serial: Unknown serial port found, ignored.

The serial nodes in boards dts file are specified as:

         serial0: serial@4500 {
                         cell-index = <0>;
                         device_type = "serial";
                         compatible = "fsl,ns16550", "ns16550";
                         reg = <0x4500 0x100>;
                         clock-frequency = <0>;
                         interrupts = <0x2a 0x2>;
                         interrupt-parent = <&mpic>;
                 };
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
[...]
quoted
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.
Deleting the "serial" line from the match table fixes the problem.
I tested it for both orderings of compatible.
I revert my statement about removing anything from of_serial.c. Instead
we should try to prefer matches with compatibles over type/name without
compatibles. Something like the patch below (compile tested only)




Attachments

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