From: Michael Ellerman <hidden> Date: 2008-02-05 12:01:50
The patch to legacy_serial.c (1a7507c7da2df6856e085e0fbb0c9ea8c12ac4e,
Reduce code duplication in legacy_serial, add UART parent types) changed
the semantics for opb ports from type = "opb" || compatible = "ibm,opb"
to type = "opb" && compatible = "ibm,opb".
The result is serial ports on our QS21s (Cell blades) don't get found,
and for some reason the machine doesn't boot at all - possibly it's
panicking due to lack of a console?
The fix is to add two entries to the of_device_id table, one that looks
for type = "opb" and the other compatible = "ibm,opb".
Signed-off-by: Michael Ellerman <redacted>
---
arch/powerpc/kernel/legacy_serial.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
From: Paul Gortmaker <hidden> Date: 2008-02-05 14:50:10
In message: [PATCH] Fix legacy serial search for opb bus ports
on 05/02/2008 Michael Ellerman wrote:
The patch to legacy_serial.c (1a7507c7da2df6856e085e0fbb0c9ea8c12ac4e,
Reduce code duplication in legacy_serial, add UART parent types) changed
the semantics for opb ports from type = "opb" || compatible = "ibm,opb"
to type = "opb" && compatible = "ibm,opb".
Ah. I'd originally coded it as an || -- but then Arnd suggested I
condense it further by using of_match_node() -- which was a good idea,
but that is where it accidentally changed to && without me catching it.
Thanks for finding this, and sorry for the debug adventure (I know
vanishing uarts isn't fun).
Paul.
Acked-by: Paul Gortmaker <redacted>
quoted hunk
The result is serial ports on our QS21s (Cell blades) don't get found,
and for some reason the machine doesn't boot at all - possibly it's
panicking due to lack of a console?
The fix is to add two entries to the of_device_id table, one that looks
for type = "opb" and the other compatible = "ibm,opb".
Signed-off-by: Michael Ellerman <redacted>
---
arch/powerpc/kernel/legacy_serial.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
From: Michael Ellerman <hidden> Date: 2008-02-05 23:50:09
On Tue, 2008-02-05 at 09:50 -0500, Paul Gortmaker wrote:
In message: [PATCH] Fix legacy serial search for opb bus ports
on 05/02/2008 Michael Ellerman wrote:
quoted
The patch to legacy_serial.c (1a7507c7da2df6856e085e0fbb0c9ea8c12ac4e,
Reduce code duplication in legacy_serial, add UART parent types) changed
the semantics for opb ports from type = "opb" || compatible = "ibm,opb"
to type = "opb" && compatible = "ibm,opb".
Ah. I'd originally coded it as an || -- but then Arnd suggested I
condense it further by using of_match_node() -- which was a good idea,
but that is where it accidentally changed to && without me catching it.
Thanks for finding this, and sorry for the debug adventure (I know
vanishing uarts isn't fun).
Yeah it's easy to confuse, I had to look at of_match_node() fairly
closely before I was convinced it was equivalent to &&. The bisect was
fairly painless actually, so no dramas.
cheers
--
Michael Ellerman
OzLabs, IBM Australia Development Lab
wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)
We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Date: 2008-02-06 00:09:14
On Tue, 2008-02-05 at 23:01 +1100, Michael Ellerman wrote:
The patch to legacy_serial.c (1a7507c7da2df6856e085e0fbb0c9ea8c12ac4e,
Reduce code duplication in legacy_serial, add UART parent types) changed
the semantics for opb ports from type = "opb" || compatible = "ibm,opb"
to type = "opb" && compatible = "ibm,opb".
The result is serial ports on our QS21s (Cell blades) don't get found,
and for some reason the machine doesn't boot at all - possibly it's
panicking due to lack of a console?
The fix is to add two entries to the of_device_id table, one that looks
for type = "opb" and the other compatible = "ibm,opb".
Signed-off-by: Michael Ellerman <redacted>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
On Tuesday 05 February 2008, Michael Ellerman wrote:
The fix is to add two entries to the of_device_id table, one that looks
for type = "opb" and the other compatible = "ibm,opb".
Signed-off-by: Michael Ellerman <redacted>