netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).