Re: of_mdiobus_register_phy() and deferred probe

From: Geert Uytterhoeven
Date: Fri Oct 23 2015 - 03:38:39 EST


Hi Sergei,

On Thu, Oct 22, 2015 at 10:07 PM, Sergei Shtylyov
<sergei.shtylyov@xxxxxxxxxxxxxxxxxx> wrote:
> On 10/22/2015 04:31 PM, Geert Uytterhoeven wrote:
>
>> Due to a probe deferral of an interrupt controller[1], the Micrel
>> Ethernet PHY on
>> r8a7791/koelsch started failing to get its IRQ:
>>
>> no irq domain found for /interrupt-controller@e61c0000 !
>>
>> However, of_mdiobus_register_phy() uses irq_of_parse_and_map(), which
>> plainly
>> ignores EPROBE_DEFER, and it just continues.
>>
>> Later I get:
>>
>> sh-eth ee700000.ethernet eth0: attached PHY 1 (IRQ -1) to driver
>> Micrel KSZ8041RNLI
>>
>> instead of
>>
>> sh-eth ee700000.ethernet eth0: attached PHY 1 (IRQ 408) to driver
>> Micrel KSZ8041RNLI
>>
>> Ethernet still works, as the interrupt seems to be unneeded(?).
>
> Yes, the phylib uses PHY polling anyway, IRQ isn't strictly necessary.
>
>> Has anyone already looked into fixing of_mdio to handle deferred probing?
>
> It's the first time I hear about that. Will have to look into this...

Thanks a lot!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/