[BUG] GPIO: irq: no irq domain found for

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Thu May 23 18:42:50 EST 2013


On 22:39 Tue 21 May     , Jean-Christophe PLAGNIOL-VILLARD wrote:
> Hi,
> 
> 	I'm currently adding the ks8851-ml support to a at91 board
> 
> 	On this board we use a gpio as interrupt but I found an issue
> 
> 	when populating the platfomr devices we try found the virq for the
> 	ks8851 but the irq domain is not yet present as the gpio driver (a
> 	platform device is not probed) so we get this
> 
> 	irq: no irq domain found for /ahb/apb/pinctrl at fffff400/gpio at fffffa00 !
> 
> 	if we use a gpio irq for a i2c or spi devices it will work as the spi
> 	bus will be populate after the gpio driver will be probed
> 
> 	Do you have any idea how can we delay the population of the
> 	ks8851 device? via -EPROBE_DEFER?

I continue to debug and found that to make it work we need to have a specific
driver init

we need before calling
	 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
to create all the irq domain

so we need to probe the gpio driver before, but as the gpio driver (on at91
the same driver do pintrl + gpio) is a platform_device, we need to call

of_platform_device_create_pdata(np, NULL, NULL, NULL);

on the gpio nodes and pinctrl

but as of_platform_populate & co does not check if a node is already handled
we need modify it to track it

Grant do you want to do this way or do you have something else in mind

Best Regards,
J.


More information about the devicetree-discuss mailing list