On Mon, 2015-06-29 at 18:50 -0500, Jeremy Linton wrote:
> This is a reformat of the patch attached to "pSeries boot failure due
> to wrong interrupt controller".
> 
> It allows of_irq_parse_raw() to return the node pointer of the
> interrupt controller, rather than the parent bus. This allows
> ics_rtas_host_match() to detect that the controller is a legacy 8259
> and avoid using xics. This avoids an RTAS assertion/crash during early
> kernel bootstrapping
> 
> Signed-off-by: Jeremy Linton <[email protected]>

Reviewed-by: Benjamin Herrenschmidt <[email protected]>
---

Rob, do you want to take this or should we ?

> ---
>  drivers/of/irq.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/of/irq.c b/drivers/of/irq.c
> index 1a79806..cb4b9ae 100644
> --- a/drivers/of/irq.c
> +++ b/drivers/of/irq.c
> @@ -252,8 +252,6 @@ int of_irq_parse_raw(const __be32 *addr, struct
> of_phandle_args *out_irq)
>                  * Successfully parsed an interrrupt-map translation; copy new
>                  * interrupt specifier into the out_irq structure
>                  */
> -               out_irq->np = newpar;
> -
>                 match_array = imap - newaddrsize - newintsize;
>                 for (i = 0; i < newintsize; i++)
>                         out_irq->args[i] = be32_to_cpup(imap - newintsize + 
> i);
> @@ -262,6 +260,7 @@ int of_irq_parse_raw(const __be32 *addr, struct
> of_phandle_args *out_irq)
> 
>         skiplevel:
>                 /* Iterate again with new parent */
> +               out_irq->np = newpar;
>                 pr_debug(" -> new parent: %s\n", of_node_full_name(newpar));
>                 of_node_put(ipar);
>                 ipar = newpar;
> --
> 1.8.1.4


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to