All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] [RFC] irqchip/renesas-irqc: Postpone driver initialization
@ 2016-10-07 17:37 Geert Uytterhoeven
  2016-10-07 18:59 ` Sergei Shtylyov
  0 siblings, 1 reply; 2+ messages in thread
From: Geert Uytterhoeven @ 2016-10-07 17:37 UTC (permalink / raw)
  To: Sergei Shtylyov; +Cc: linux-renesas-soc, Geert Uytterhoeven

Currently the renesas-irqc driver uses postcore_initcall().

However, the new CPG/MSSR driver uses subsys_initcall(). Hence the
IRQC's probe will be deferred, which causes the Micrel phy to not find
its interrupt on R-Car Gen2, as the of_mdio subsystem doesn't support
deferred probe yet.

Replace postcore_initcall() by device_initcall() to work around this.

This does cause a few extra probe deferrals on R-Mobile APE6, where the
PFC/GPIO combo uses the IRQC as its parent interrupt controller.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
Sergei: Does this fix the regression with the sh_eth driver?

I've been running with this applied for almost one year.

 drivers/irqchip/irq-renesas-irqc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-renesas-irqc.c b/drivers/irqchip/irq-renesas-irqc.c
index 52304b139aa46a60..992849e54d00ea77 100644
--- a/drivers/irqchip/irq-renesas-irqc.c
+++ b/drivers/irqchip/irq-renesas-irqc.c
@@ -295,7 +295,7 @@ static int __init irqc_init(void)
 {
 	return platform_driver_register(&irqc_device_driver);
 }
-postcore_initcall(irqc_init);
+device_initcall(irqc_init);
 
 static void __exit irqc_exit(void)
 {
-- 
1.9.1

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

* Re: [PATCH] [RFC] irqchip/renesas-irqc: Postpone driver initialization
  2016-10-07 17:37 [PATCH] [RFC] irqchip/renesas-irqc: Postpone driver initialization Geert Uytterhoeven
@ 2016-10-07 18:59 ` Sergei Shtylyov
  0 siblings, 0 replies; 2+ messages in thread
From: Sergei Shtylyov @ 2016-10-07 18:59 UTC (permalink / raw)
  To: Geert Uytterhoeven; +Cc: linux-renesas-soc

On 10/07/2016 08:37 PM, Geert Uytterhoeven wrote:

> Currently the renesas-irqc driver uses postcore_initcall().
>
> However, the new CPG/MSSR driver uses subsys_initcall(). Hence the
> IRQC's probe will be deferred, which causes the Micrel phy to not find
> its interrupt on R-Car Gen2, as the of_mdio subsystem doesn't support
> deferred probe yet.
>
> Replace postcore_initcall() by device_initcall() to work around this.
>
> This does cause a few extra probe deferrals on R-Mobile APE6, where the
> PFC/GPIO combo uses the IRQC as its parent interrupt controller.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> Sergei: Does this fix the regression with the sh_eth driver?

    Yes, it does! Thank you! :-)

Tested-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

MBR, Sergei

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

end of thread, other threads:[~2016-10-07 19:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-07 17:37 [PATCH] [RFC] irqchip/renesas-irqc: Postpone driver initialization Geert Uytterhoeven
2016-10-07 18:59 ` Sergei Shtylyov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.