[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BANLkTik9_F10sP7t7beDfULc3AwZ6ycU-A@mail.gmail.com>
Date: Fri, 15 Apr 2011 15:36:24 -0500
From: Andy Fleming <afleming@...il.com>
To: ANDY KENNEDY <ANDY.KENNEDY@...ran.com>
Cc: netdev@...r.kernel.org
Subject: Re: SMSC 8720a/MDIO/PHY help.
On Wed, Apr 13, 2011 at 11:08 PM, ANDY KENNEDY <ANDY.KENNEDY@...ran.com> wrote:
>> > -----Original Message-----
>> > From: Michael Riesch [mailto:michael@...sch.at]
>> > Sent: Wednesday, April 13, 2011 4:19 PM
>> > To: netdev@...r.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
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists