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.