devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* of_mdiobus_register_phy() and deferred probe
@ 2015-10-22 13:31 Geert Uytterhoeven
  2015-10-22 20:07 ` Sergei Shtylyov
  0 siblings, 1 reply; 3+ messages in thread
From: Geert Uytterhoeven @ 2015-10-22 13:31 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: Rob Herring, Frank Rowand, Grant Likely, netdev@vger.kernel.org,
	devicetree@vger.kernel.org, Linux-sh list,
	linux-kernel@vger.kernel.org

Hi,

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(?).

Has anyone already looked into fixing of_mdio to handle deferred probing?

Thanks!

References:
[1] "Re: [PATCH v4 5/5] [RFC] clk: shmobile: r8a7795: Add new CPG/MSSR driver"
     (http://article.gmane.org/gmane.linux.ports.sh.devel/49979)

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: of_mdiobus_register_phy() and deferred probe
  2015-10-22 13:31 of_mdiobus_register_phy() and deferred probe Geert Uytterhoeven
@ 2015-10-22 20:07 ` Sergei Shtylyov
       [not found]   ` <56294202.5020507-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Sergei Shtylyov @ 2015-10-22 20:07 UTC (permalink / raw)
  To: Geert Uytterhoeven, Florian Fainelli
  Cc: Rob Herring, Frank Rowand, Grant Likely, netdev@vger.kernel.org,
	devicetree@vger.kernel.org, Linux-sh list,
	linux-kernel@vger.kernel.org

Hello.

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...

> Gr{oetje,eeting}s,
>                          Geert

MBR, Sergei

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: of_mdiobus_register_phy() and deferred probe
       [not found]   ` <56294202.5020507-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
@ 2015-10-23  7:38     ` Geert Uytterhoeven
  0 siblings, 0 replies; 3+ messages in thread
From: Geert Uytterhoeven @ 2015-10-23  7:38 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Florian Fainelli, Rob Herring, Frank Rowand, Grant Likely,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Linux-sh list,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org

Hi Sergei,

On Thu, Oct 22, 2015 at 10:07 PM, Sergei Shtylyov
<sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org> 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-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org

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 devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-10-23  7:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-22 13:31 of_mdiobus_register_phy() and deferred probe Geert Uytterhoeven
2015-10-22 20:07 ` Sergei Shtylyov
     [not found]   ` <56294202.5020507-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2015-10-23  7:38     ` Geert Uytterhoeven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).