[PATCH V3 5/6] Avoid duplicate probe for of platform devices
Grant Likely
grant.likely at secretlab.ca
Thu Jul 12 04:01:41 EST 2012
On Mon, 9 Jul 2012 07:58:31 -0700, Greg KH <greg at kroah.com> wrote:
> On Mon, Jul 09, 2012 at 03:46:59AM +0000, Li Yang-R58472 wrote:
> > > > I don't understand, why is this just showing up now? What changed to
> > > > cause this? Couldn't that be the real problem here?
> > > >
> > >
> > > The issue is showing up because we now probe devices twice.
> > > Previously, we just probe devices once. But now we changed the way of pci
> > > init which makes pci controllers should be probed earlier than other
> > > devices.
> > > So we have to probe pci nodes separately. Probe more than once is the
> > > root
> > > cause of this issue.
> > >
> > > The pci patchset I mentioned please refer to:
> > > http://patchwork.ozlabs.org/patch/163742/
> >
> > Let me try to clarify a little bit. The of platform bus normally
> > traverse the device tree to add all the devices. The change which
> > caused problem is that we need to probe PCIe RC devices at a earlier
> > stage of initialization.
>
> That sounds, wrong.
Yes, really really wrong; starting with terminology...
> > So we added these PCIe RC devices earlier than the normal device tree
> > traversal process. These PCIe RC devices will be scanned again during
> > the normal traversal and cause duplicated devices being added. Our
> > proposal is to deal with duplicated devices automatically and make it
> > possible to scan the device tree multiple times for devices to be
> > added.
... This isn't *probing* twice; it is *registration*. That's cause
confusion on this thread.
> Then you need to put something in your own tree scanning logic to not
> try to register devices multiple times. How about a simple flag in your
> device structure instead of having to muck around in the driver core
> internals?
Right. If you're going to create the pci bus devices early, then you
need to explicitly inhibit creation of them later... but still; why do
the PCI bus devices need to be registered separately from the rest of the
devices on the simple-bus? Why not just move *all* device registration
earlier?
>
> Although one should seriously question the need to want to recan the bus
> and register devices at different times of the boot process...
Yes; the model they're trying to use sounds wrong.
g.
More information about the devicetree-discuss
mailing list