2014-06-02 15:39:46

by Grygorii Strashko

[permalink] [raw]
Subject: [PATCH-next] mfd: ab8500: fix dt irq mapping

The AD8500 defines itself as interrupt-controller in DT,
but it doesn't assign DT node to IRQ domain when creates it.
As result, of_irq_xx() helpers don't work because they can't
find necessary IRQ domain.

Hence, fix it by assigning AD8500 core device DT node to IRQ
domain when it's created.

This patch fixes STE u8500 Snowball boot failure reported by Kevin Hilman
https://lkml.org/lkml/2014/5/27/624

Cc: Samuel Ortiz <[email protected]>
Cc: Lee Jones <[email protected]>
Cc: Rob Herring <[email protected]>
Cc: Grant Likely <[email protected]>
Cc: Thierry Reding <[email protected]>
Reported-and-tested-by: Kevin Hilman <[email protected]>
Signed-off-by: Grygorii Strashko <[email protected]>
---
drivers/mfd/ab8500-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mfd/ab8500-core.c b/drivers/mfd/ab8500-core.c
index a8ee4a3..cf2e6a1 100644
--- a/drivers/mfd/ab8500-core.c
+++ b/drivers/mfd/ab8500-core.c
@@ -591,7 +591,7 @@ static int ab8500_irq_init(struct ab8500 *ab8500, struct device_node *np)
num_irqs = AB8500_NR_IRQS;

/* If ->irq_base is zero this will give a linear mapping */
- ab8500->domain = irq_domain_add_simple(NULL,
+ ab8500->domain = irq_domain_add_simple(ab8500->dev->of_node,
num_irqs, 0,
&ab8500_irq_ops, ab8500);

--
1.7.9.5


2014-06-03 11:21:11

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH-next] mfd: ab8500: fix dt irq mapping

On Mon, Jun 2, 2014 at 6:27 PM, Grygorii Strashko
<[email protected]> wrote:

> The AD8500 defines itself as interrupt-controller in DT,
> but it doesn't assign DT node to IRQ domain when creates it.
> As result, of_irq_xx() helpers don't work because they can't
> find necessary IRQ domain.
>
> Hence, fix it by assigning AD8500 core device DT node to IRQ
> domain when it's created.
>
> This patch fixes STE u8500 Snowball boot failure reported by Kevin Hilman
> https://lkml.org/lkml/2014/5/27/624
>
> Cc: Samuel Ortiz <[email protected]>
> Cc: Lee Jones <[email protected]>
> Cc: Rob Herring <[email protected]>
> Cc: Grant Likely <[email protected]>
> Cc: Thierry Reding <[email protected]>
> Reported-and-tested-by: Kevin Hilman <[email protected]>
> Signed-off-by: Grygorii Strashko <[email protected]>

Reviewed-by: Linus Walleij <[email protected]>

Yours,
Linus Walleij

2014-06-06 03:51:56

by Kevin Hilman

[permalink] [raw]
Subject: Re: [PATCH-next] mfd: ab8500: fix dt irq mapping

On Tue, Jun 3, 2014 at 4:21 AM, Linus Walleij <[email protected]> wrote:
> On Mon, Jun 2, 2014 at 6:27 PM, Grygorii Strashko
> <[email protected]> wrote:
>
>> The AD8500 defines itself as interrupt-controller in DT,
>> but it doesn't assign DT node to IRQ domain when creates it.
>> As result, of_irq_xx() helpers don't work because they can't
>> find necessary IRQ domain.
>>
>> Hence, fix it by assigning AD8500 core device DT node to IRQ
>> domain when it's created.
>>
>> This patch fixes STE u8500 Snowball boot failure reported by Kevin Hilman
>> https://lkml.org/lkml/2014/5/27/624
>>
>> Cc: Samuel Ortiz <[email protected]>
>> Cc: Lee Jones <[email protected]>
>> Cc: Rob Herring <[email protected]>
>> Cc: Grant Likely <[email protected]>
>> Cc: Thierry Reding <[email protected]>
>> Reported-and-tested-by: Kevin Hilman <[email protected]>
>> Signed-off-by: Grygorii Strashko <[email protected]>
>
> Reviewed-by: Linus Walleij <[email protected]>

Anyone picking this one up? It's still broken in -next, and will be
needed for v3.16.

Kevin

2014-06-06 06:46:57

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH-next] mfd: ab8500: fix dt irq mapping

On Thu, 05 Jun 2014, Kevin Hilman wrote:
> On Tue, Jun 3, 2014 at 4:21 AM, Linus Walleij <[email protected]> wrote:
> > On Mon, Jun 2, 2014 at 6:27 PM, Grygorii Strashko
> > <[email protected]> wrote:
> >
> >> The AD8500 defines itself as interrupt-controller in DT,
> >> but it doesn't assign DT node to IRQ domain when creates it.
> >> As result, of_irq_xx() helpers don't work because they can't
> >> find necessary IRQ domain.
> >>
> >> Hence, fix it by assigning AD8500 core device DT node to IRQ
> >> domain when it's created.
> >>
> >> This patch fixes STE u8500 Snowball boot failure reported by Kevin Hilman
> >> https://lkml.org/lkml/2014/5/27/624
> >>
> >> Cc: Samuel Ortiz <[email protected]>
> >> Cc: Lee Jones <[email protected]>
> >> Cc: Rob Herring <[email protected]>
> >> Cc: Grant Likely <[email protected]>
> >> Cc: Thierry Reding <[email protected]>
> >> Reported-and-tested-by: Kevin Hilman <[email protected]>
> >> Signed-off-by: Grygorii Strashko <[email protected]>
> >
> > Reviewed-by: Linus Walleij <[email protected]>
>
> Anyone picking this one up? It's still broken in -next, and will be
> needed for v3.16.

I'm going to pull it in to mfd-for-fixes, as mfd-for-next has already
been sent to Linus.

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog