Re: [2/2] tty/hvc: Use opal irqchip interface if available
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2016-07-05 05:31:43
Also in:
stable
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2016-07-05 05:31:43
Also in:
stable
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