From: Grant Likely <grant.likely@secretlab.ca>
To: Gary Thomas <gary@mlbassoc.com>
Cc: Linux PPC Development <linuxppc-dev@ozlabs.org>
Subject: Re: OF device mappings
Date: Sat, 28 Feb 2009 11:04:11 -0700 [thread overview]
Message-ID: <fa686aa40902281004r5fcb67f4md328d79dd1d5d82c@mail.gmail.com> (raw)
In-Reply-To: <49A97878.6060308@mlbassoc.com>
On Sat, Feb 28, 2009 at 10:46 AM, Gary Thomas <gary@mlbassoc.com> wrote:
> Still looking for some help... =A0I need to be able to locate
> the kernel platform_device which corresponds to an instance
> from my OF tree. =A0Basically, 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. =A0It 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:
> =A0 =A0 =A0 =A0lan1 {
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0cell-index =3D <0x01>;
Side note, why do you have cell-index here? I suspect that you're
using it incorrectly.
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0compatible =3D "marvell,m88e609x";
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0net_dev =3D "fsl-gianfar.0";
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0mii_bus =3D "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.
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0net_devX =3D <ð0>;
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0mii_busX =3D <&mii_bus>;
This is the right thing to do. This give you the phandle to the relevant n=
ode.
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.
> =A0 =A0 =A0 =A0};
> ... 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. =A0What 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 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 | =A0Consulting for the
> MLB Associates =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A0 =A0Embedded world
> ------------------------------------------------------------
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>
--=20
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
next prev parent reply other threads:[~2009-02-28 18:04 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-28 17:46 OF device mappings Gary Thomas
2009-02-28 18:04 ` Grant Likely [this message]
2009-02-28 18:21 ` Gary Thomas
2009-02-28 18:44 ` Grant Likely
2009-02-28 19:18 ` Gary Thomas
2009-02-28 20:19 ` Grant Likely
2009-02-28 20:25 ` Gary Thomas
2009-02-28 21:05 ` Benjamin Herrenschmidt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fa686aa40902281004r5fcb67f4md328d79dd1d5d82c@mail.gmail.com \
--to=grant.likely@secretlab.ca \
--cc=gary@mlbassoc.com \
--cc=linuxppc-dev@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).