Re: [REGRESSION] gpio: pxa: change initcall level second attempt

From: Robert Jarzmik
Date: Mon Jan 25 2016 - 09:28:42 EST


Marcel Ziswiler <marcel@xxxxxxxxxxxx> writes:

> Hi Robert
>
> I tried latestÂnext-20160122 on Colibri PXA270 with a previously
> working device tree and got the following DM9000 Ethernet driver issue:
>
> [ÂÂÂÂ1.062495] dm9000 8000000.ethernet: insufficient resources
> [ÂÂÂÂ1.068439] dm9000 8000000.ethernet: not found (-2).
> [ÂÂÂÂ1.073451] dm9000: probe of 8000000.ethernet failed with error -2
>
> Digging deeper I debugged it to a missing interrupt ressource. A
> subsequent git bisect blamed your patch changing the initcall level and
> indeed just reverting that made it all work again.
>
> I then also noticed the following message upon boot in the failing case
> which is probably related:
>
> [ÂÂÂÂ0.175995] irq: no irq domain found for /pxabus/gpio@40e00000 !
>
> Have you seen this as well or do you know how exactly that should be
> worked around?
Hi Marcel,

I haven't seen that before on my devicetree boards, I will try this evening on
top of next-20160125.

Could you activate the debug logs in drivers/of/irq.c please, and send me
privately your boot dmesg ? And I'd like to see your board .dts file and your
.config also, to compare with mine for the mioa701.

I think in your dm9000 case we have this callstack :
- of_irq_get()
of_irq_parse_one() => fails, for an unknown reason to me
=> I would have expected it return 0
=> the following irq_find_host() would return
-EPROBE_DEFER, that's what I'd expect
irq_create_of_mapping()
irq_create_fwspec_mapping()
=> error message

What is probable is that gpio-pxa was not probed yet, and this triggers the
error. What I don't understand is why you don't end up with -EPROBE_DEFER,
that's why I'd like to have your logs.

Cheers.

--
Robert