On Tue, Sep 17, 2013 at 01:20:39PM +0200, Alexandre Belloni wrote: > Hi Thierry, > > On 16/09/2013 10:31, Thierry Reding wrote: > > Hi, > > > > This small series allows interrupt references from the device tree to be > > resolved at driver probe time, rather than at device creation time. The > > current implementation resolves such references while devices are added > > during the call to of_platform_populate(), which happens very early in > > the boot process. This causes probe ordering issues, because all devices > > that are an interrupt parent for other devices need to have been probed > > by that time. This is worked around for primary interrupt controllers by > > initializing them using a device tree specific way (of_irq_init()), but > > it doesn't work for something like a GPIO controller that is itself a > > platform device and an interrupt parent for other devices at the same > > time. [...] > I believe this will solve the issue I was hitting back in June where > of_i2c_register_devices() failed to get the IRQ while doing it at probe > time was working fine: > > http://www.spinics.net/lists/linux-i2c/msg12523.html > > I couldn't test your patches yet though. I'll try to test as soon as I > get some free time. Yes, this series precisely aims at fixing situations as those. It'd be great if you could give the series a spin to verify that it really works for your case. Thierry
Attachment:
pgp3DHhTB1dXa.pgp
Description: PGP signature