OF device mappings
Grant Likely
grant.likely at secretlab.ca
Sun Mar 1 05:04:11 EST 2009
On Sat, Feb 28, 2009 at 10:46 AM, Gary Thomas <gary at mlbassoc.com> wrote:
> Still looking for some help... I need to be able to locate
> the kernel platform_device which corresponds to an instance
> from my OF tree. Basically, I have a [somewhat] unrelated
> driver which needs to know these things, so the drivers in
> question should not have to be affected.
>
> In particular, I'm working with the net/dsa drivers (Distributed
> Switch Architecture) which need access to the network driver as
> well as the MII/MDIO bus driver. It doesn't make sense to tie
> those drivers back to DSA, but rather let the DSA driver find
> its way to them.
>
> I've defined this in by DTS tree:
> lan1 {
> cell-index = <0x01>;
Side note, why do you have cell-index here? I suspect that you're
using it incorrectly.
> compatible = "marvell,m88e609x";
> net_dev = "fsl-gianfar.0";
> mii_bus = "fsl-gianfar_mdio.14";
These two lines don't make much sense. They are encoding Linux
internal details with could very well change in the future.
> net_devX = <ð0>;
> mii_busX = <&mii_bus>;
This is the right thing to do. This give you the phandle to the relevant node.
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'm working on a set of patches which should make this much easier.
I'll try to remember to CC you when I post them to the list.
> };
> ... two ways to find the same node.
>
> Using 'net_dev' (which I admit is pretty hokey), I can look
> up the corresponding platform device, which does work for
> the DSA layer. What I want is to be able to get to this
> from the 'net_devX' pointer, but I don't seem to be able
> to get out of the OF tree and into the actual platform
> device tree to find the appropriate instance.
>
> Any pointers?
>
> Thanks
>
> --
> ------------------------------------------------------------
> Gary Thomas | Consulting for the
> MLB Associates | Embedded world
> ------------------------------------------------------------
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
More information about the Linuxppc-dev
mailing list