OF device mappings
Grant Likely
grant.likely at secretlab.ca
Sun Mar 1 05:44:37 EST 2009
On Sat, Feb 28, 2009 at 11:21 AM, Gary Thomas <gary at mlbassoc.com> wrote:
> Grant Likely wrote:
>> 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. That 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? I 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 created.
g.
More information about the Linuxppc-dev
mailing list