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
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to