Re: [PATCH] of/platform: Fix no irq domain found errors whenpopulating interrupts

From: Tony Lindgren
Date: Sat Nov 23 2013 - 11:32:53 EST


* Rob Herring <robherring2@xxxxxxxxx> [131123 07:43]:
> On Fri, Nov 22, 2013 at 7:50 PM, Tony Lindgren <tony@xxxxxxxxxxx> wrote:
> > * Tony Lindgren <tony@xxxxxxxxxxx> [131122 17:16]:
> >> * Tony Lindgren <tony@xxxxxxxxxxx> [131122 17:09]:
> >> > * Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> [131122 16:56]:
> >> > > On Fri, Nov 22, 2013 at 04:43:35PM -0800, Tony Lindgren wrote:
> >> > > > + /* See of_device_resource_notify for populating interrupts */
> >> > > > + for (i = 0; i < num_irq; i++, res++) {
> >> > > > + res->flags = IORESOURCE_IRQ;
> >> > > > + res->start = -EPROBE_DEFER;
> >> > > > + res->end = -EPROBE_DEFER;
> >> > >
> >> > > NAK. Definitely a bad idea to start introducing magic values other into
> >> > > resources. Please don't do this.
> >> >
> >> > Do you have any better ideas on how to sort out this issue then?
> >>
> >> I guess we could allocate all the resources lazily here, I'll take a look
> >> at that.
> >
> > Here's a version that allocates the resources lazily with the notifier.
> > Seems to boot, need to play with it a bit more though to make sure we're
> > not overwriting resources for any legacy devices.
>
> Have you seen Thierry's series[1]? While your approach is certainly
> more concise, it seems like a work-around for the problem. I don't
> think a notifier is the right long term solution.

OK cool. I think we can fix the $Subject bug first without making all
those changes, then do the rest of the reorg for v3.14.

The bug is that we try to populate IRQ resources at a wrong time
when they may not exist.

Based on a quick look it seems we could combine Thierry's addition
of the new function of_platform_probe(struct platform_device *pdev)
and use that to allocate all resources at driver probe time like my
patch is doing. And then there's no need for the notifier.

Regards,

Tony


> [1] http://www.spinics.net/lists/arm-kernel/msg274110.html
--
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/