Hi Chris,
On Fri, Jul 27, 2018 at 11:09 PM Chris Brandt <[email protected]> wrote:
> Some SCIF versions mux error and break interrupts together and then provide
> a separate interrupt ID for just TEI/DRI.
>
> Allow all 6 types of interrupts to be specified via platform data (or DT)
> and for any signals that are muxed together (have the same interrupt
> number) simply register one handler.
>
> Signed-off-by: Chris Brandt <[email protected]>
Thanks for your patch!
> --- a/drivers/tty/serial/sh-sci.c
> +++ b/drivers/tty/serial/sh-sci.c
> @@ -2842,17 +2832,17 @@ static int sci_init_single(struct platform_device
> *dev,
>
> /* The SCI generates several interrupts. They can be muxed together or
> * connected to different interrupt lines. In the muxed case only one
> - * interrupt resource is specified. In the non-muxed case three or
> four
> - * interrupt resources are specified, as the BRI interrupt is
> optional.
> + * interrupt resource is specified as there is only one interrupt ID.
> + * In the non-muxed case, up to 6 interrupt signals might be generated
> + * from the SCI, however those signals might have their own individual
> + * interrupt ID numbers, or muxed together with another interrupt.
> */
> if (sci_port->irqs[0] < 0)
> return -ENXIO;
>
> - if (sci_port->irqs[1] < 0) {
> - sci_port->irqs[1] = sci_port->irqs[0];
> - sci_port->irqs[2] = sci_port->irqs[0];
> - sci_port->irqs[3] = sci_port->irqs[0];
> - }
> + if (sci_port->irqs[1] < 0)
> + for (i = 1; i < ARRAY_SIZE(sci_port->irqs) - 1; i++)
Shouldn't the "- 1" be dropped?
> + sci_port->irqs[i] = sci_port->irqs[0];
>
> sci_port->params = sci_probe_regmap(p);
> if (unlikely(sci_port->params == NULL))
With the above fixed:
Reviewed-by: Geert Uytterhoeven <[email protected]>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds