Thread (8 messages) 8 messages, 3 authors, 2009-02-28

Re: OF device mappings

From: Grant Likely <hidden>
Date: 2009-02-28 18:44:39

On Sat, Feb 28, 2009 at 11:21 AM, Gary Thomas [off-list ref] wrote:
Grant Likely wrote:
quoted
Once you have a handle to the node, you can iterate through the
of_platform bus devices and look for a node which has a matching node
pointer stored in archdata. =A0That will give you a struct device which
is contained by a struct of_device (note well: this will give you an
of_device, not a platform_device.)
I have code which does this already, but I could not figure out
how to get from the of_device node to the actual platform_device.
You can't.  There is no platform_device.  There is only the of_device.

The bit that you're missing is that the 'platform bus' isn't being
used at all for these devices.  The 'of_platform bus' is used instead.
 platform bus and of_platform bus perform essentially the same job,
but the of_platform bus differs in the way it probes drivers.
Specifically, an of_platform_driver can be handed a list of values
that it will match against, and it has a 1:1 relationship with a node
in the device tree.
How do I find the platform_device which was created when this
particular of_device was instantiated? =A0I made sure that this code
is run late - after all the of_devices have been handled.
Again, there is no platform_device.  of_device *is* the device that was cre=
ated.

g.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help