On Tue, 2016-07-05 at 15:31 +1000, Michael Ellerman wrote: > On Tue, 2016-28-06 at 03:11:39 UTC, Sam Mendoza-Jonas wrote: > > diff --git a/drivers/tty/hvc/hvc_opal.c b/drivers/tty/hvc/hvc_opal.c > > index b7cd0ae..8c53f5b 100644 > > --- a/drivers/tty/hvc/hvc_opal.c > > +++ b/drivers/tty/hvc/hvc_opal.c > > @@ -214,7 +216,15 @@ static int hvc_opal_probe(struct platform_device *dev) > > dev->dev.of_node->full_name, > > boot ? " (boot console)" : ""); > > > > - irq = opal_event_request(ilog2(OPAL_EVENT_CONSOLE_INPUT)); > > + rc = of_property_read_u32(dev->dev.of_node, "interrupts", &prop); > > + if (rc) { > > + pr_info("hvc%d: No interrupts property, using OPAL event\n", > > + termno); > > + irq = opal_event_request(ilog2(OPAL_EVENT_CONSOLE_INPUT)); > > + } else { > > + irq = irq_of_parse_and_map(dev->dev.of_node, 0); > > + } > > That seems a bit backward. > > Shouldn't we try irq_of_parse_and_map() and if that fails, then we go back to > opal_event_request() ? > > cheers I was unsure for a minute so I double checked this; of_property_read_u32() returns of_property_read_u32_array(), which returns 0 on success, unlike a bunch of other of_property helpers. So if the 'interrupts' property does exist we get 0, and try irq_of_parse_and_map(). But are you suggesting we try irq_of_parse_and_map() regardless and then fall back to opal_event_request()? Cheers, Sam -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html