From: Andy Fleming <afleming@gmail.com>
To: ANDY KENNEDY <ANDY.KENNEDY@adtran.com>
Cc: netdev@vger.kernel.org
Subject: Re: SMSC 8720a/MDIO/PHY help.
Date: Fri, 15 Apr 2011 15:36:24 -0500 [thread overview]
Message-ID: <BANLkTik9_F10sP7t7beDfULc3AwZ6ycU-A@mail.gmail.com> (raw)
In-Reply-To: <9AC3F0E75060224C8BBC5BA2DDC8853A1FA8E8FD@EXV1.corp.adtran.com>
On Wed, Apr 13, 2011 at 11:08 PM, ANDY KENNEDY <ANDY.KENNEDY@adtran.com> wrote:
>> > -----Original Message-----
>> > From: Michael Riesch [mailto:michael@riesch.at]
>> > Sent: Wednesday, April 13, 2011 4:19 PM
>> > To: netdev@vger.kernel.org
>> > Cc: ANDY KENNEDY
>> > Subject: Re: SMSC 8720a/MDIO/PHY help.
>> >
>> >
>> > > If you have an idea of something for me to try, I'd love to
>> > entertain
>> > > it.
>> >
>> > I am rather new to PHYLIB, but these are my ideas:
>> >
>> > 1) make sure phy_connect is executed (AFIAK called by MDIO bus
>> > driver)
>
> Along this line of though: phy_connect requires struct net_device, which has a struct net_device_ops within it. When I do a phy_connect am I supposed to provide the minimal functions for netdev_ops (correct this list if I am mistaken):
> ndo_open
> ndo_stop
> ndo_start_xmit
> ndo_get_stats
> ndo_set_multicast_list
> As well as populate the dev->dev_addr within the struct net_device.
>
> The part that confuses me is that the smsc.c ??driver?? under drivers/net/phy/smsc.c doesn’t do any of this. This is a phy supported by this file, so should I have to do all this to get the device up?
Hmm....where are you calling phy_connect from? phy_connect() is
called from a net_device driver, to connect the net device to the PHY.
The net_device should be filled in by the net driver. The PHY Lib
doesn't use the struct net_device * itself. It merely passes that
structure to the registered adjust_link() callback, as context.
We could theoretically make the net_device a void *, and let the
caller of phy_connect() determine its own context, but that didn't
seem necessary at the time. It also might make sense for
adjust_link() to pass the struct phy_device.
But those are all just possible enhancements for the future.
Andy
next prev parent reply other threads:[~2011-04-15 20:36 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-12 21:46 SMSC 8720a/MDIO/PHY help ANDY KENNEDY
2011-04-13 21:19 ` Michael Riesch
2011-04-13 21:38 ` ANDY KENNEDY
2011-04-14 4:08 ` ANDY KENNEDY
2011-04-14 21:39 ` Michael Riesch
2011-04-15 20:36 ` Andy Fleming [this message]
2011-04-15 20:29 ` Andy Fleming
2011-04-15 20:53 ` ANDY KENNEDY
2011-04-15 21:02 ` Andy Fleming
2011-04-15 21:17 ` ANDY KENNEDY
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=BANLkTik9_F10sP7t7beDfULc3AwZ6ycU-A@mail.gmail.com \
--to=afleming@gmail.com \
--cc=ANDY.KENNEDY@adtran.com \
--cc=netdev@vger.kernel.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).