linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 net-next] net: mvneta: implement .set_wol and .get_wol
@ 2017-01-23  6:55 Jisheng Zhang
  2017-01-23 18:10 ` Andrew Lunn
  0 siblings, 1 reply; 4+ messages in thread
From: Jisheng Zhang @ 2017-01-23  6:55 UTC (permalink / raw)
  To: thomas.petazzoni, davem; +Cc: netdev, linux-kernel, Jingju Hou, Jisheng Zhang

From: Jingju Hou <houjingj@marvell.com>

From: Jingju Hou <houjingj@marvell.com>

The mvneta itself does not support WOL, but the PHY might.
So pass the calls to the PHY

Signed-off-by: Jingju Hou <houjingj@marvell.com>
Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
---
since v3:
 - really fix the build error

since v2,v1:
 - using phy_dev member in struct net_device
 - add commit msg

 drivers/net/ethernet/marvell/mvneta.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
index 6dcc951af0ff..02611fa1c3b8 100644
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -3929,6 +3929,25 @@ static int mvneta_ethtool_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
 	return 0;
 }
 
+static void mvneta_ethtool_get_wol(struct net_device *dev,
+				   struct ethtool_wolinfo *wol)
+{
+	wol->supported = 0;
+	wol->wolopts = 0;
+
+	if (dev->phydev)
+		return phy_ethtool_get_wol(dev->phydev, wol);
+}
+
+static int mvneta_ethtool_set_wol(struct net_device *dev,
+				  struct ethtool_wolinfo *wol)
+{
+	if (!dev->phydev)
+		return -EOPNOTSUPP;
+
+	return phy_ethtool_set_wol(dev->phydev, wol);
+}
+
 static const struct net_device_ops mvneta_netdev_ops = {
 	.ndo_open            = mvneta_open,
 	.ndo_stop            = mvneta_stop,
@@ -3958,6 +3977,8 @@ const struct ethtool_ops mvneta_eth_tool_ops = {
 	.set_rxfh	= mvneta_ethtool_set_rxfh,
 	.get_link_ksettings = phy_ethtool_get_link_ksettings,
 	.set_link_ksettings = mvneta_ethtool_set_link_ksettings,
+	.get_wol        = mvneta_ethtool_get_wol,
+	.set_wol        = mvneta_ethtool_set_wol,
 };
 
 /* Initialize hw */
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v4 net-next] net: mvneta: implement .set_wol and .get_wol
  2017-01-23  6:55 [PATCH v4 net-next] net: mvneta: implement .set_wol and .get_wol Jisheng Zhang
@ 2017-01-23 18:10 ` Andrew Lunn
  2017-02-06  7:08   ` Jisheng Zhang
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Lunn @ 2017-01-23 18:10 UTC (permalink / raw)
  To: Jisheng Zhang; +Cc: thomas.petazzoni, davem, netdev, linux-kernel, Jingju Hou

On Mon, Jan 23, 2017 at 02:55:07PM +0800, Jisheng Zhang wrote:
> From: Jingju Hou <houjingj@marvell.com>
> 
> From: Jingju Hou <houjingj@marvell.com>
> 
> The mvneta itself does not support WOL, but the PHY might.
> So pass the calls to the PHY
> 
> Signed-off-by: Jingju Hou <houjingj@marvell.com>
> Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> ---
> since v3:
>  - really fix the build error

Keep trying....

But maybe tomorrow, after you have taken the pause Dave said you
should take, and maybe ask Jingju to really review it, in detail.

> 
> since v2,v1:
>  - using phy_dev member in struct net_device
>  - add commit msg
> 
>  drivers/net/ethernet/marvell/mvneta.c | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
> 
> diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
> index 6dcc951af0ff..02611fa1c3b8 100644
> --- a/drivers/net/ethernet/marvell/mvneta.c
> +++ b/drivers/net/ethernet/marvell/mvneta.c
> @@ -3929,6 +3929,25 @@ static int mvneta_ethtool_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
>  	return 0;
>  }
>  
> +static void mvneta_ethtool_get_wol(struct net_device *dev,
> +				   struct ethtool_wolinfo *wol)
> +{
> +	wol->supported = 0;
> +	wol->wolopts = 0;
> +
> +	if (dev->phydev)
> +		return phy_ethtool_get_wol(dev->phydev, wol);

This is a void function.  And you are returning a value.  And
phy_ethtool_get_wol() is also a void function, so does not actually
return anything.

0-day was telling you this. Please read what is said.

     Andrew

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v4 net-next] net: mvneta: implement .set_wol and .get_wol
  2017-01-23 18:10 ` Andrew Lunn
@ 2017-02-06  7:08   ` Jisheng Zhang
  2017-02-06  7:10     ` Jisheng Zhang
  0 siblings, 1 reply; 4+ messages in thread
From: Jisheng Zhang @ 2017-02-06  7:08 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: thomas.petazzoni, davem, netdev, linux-kernel, Jingju Hou

Hi Andrew,

On Mon, 23 Jan 2017 19:10:34 +0100 Andrew Lunn wrote:

> 
> On Mon, Jan 23, 2017 at 02:55:07PM +0800, Jisheng Zhang wrote:
> > From: Jingju Hou <houjingj@marvell.com>
> > 
> > From: Jingju Hou <houjingj@marvell.com>
> > 
> > The mvneta itself does not support WOL, but the PHY might.
> > So pass the calls to the PHY
> > 
> > Signed-off-by: Jingju Hou <houjingj@marvell.com>
> > Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> > ---
> > since v3:
> >  - really fix the build error  
> 
> Keep trying....
> 
> But maybe tomorrow, after you have taken the pause Dave said you
> should take, and maybe ask Jingju to really review it, in detail.

Jingju is a newbie in the Linux kernel community. She made a mistake
when trying to send the old patch. I picked up her patch when she went
on vacation, fixed the error and send it out on behalf of her.

> 
> > 
> > since v2,v1:
> >  - using phy_dev member in struct net_device
> >  - add commit msg
> > 
> >  drivers/net/ethernet/marvell/mvneta.c | 21 +++++++++++++++++++++
> >  1 file changed, 21 insertions(+)
> > 
> > diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
> > index 6dcc951af0ff..02611fa1c3b8 100644
> > --- a/drivers/net/ethernet/marvell/mvneta.c
> > +++ b/drivers/net/ethernet/marvell/mvneta.c
> > @@ -3929,6 +3929,25 @@ static int mvneta_ethtool_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
> >  	return 0;
> >  }
> >  
> > +static void mvneta_ethtool_get_wol(struct net_device *dev,
> > +				   struct ethtool_wolinfo *wol)
> > +{
> > +	wol->supported = 0;
> > +	wol->wolopts = 0;
> > +
> > +	if (dev->phydev)
> > +		return phy_ethtool_get_wol(dev->phydev, wol);  
> 
> This is a void function.  And you are returning a value.  And
> phy_ethtool_get_wol() is also a void function, so does not actually
> return anything.

Thanks for catching it, fixed in v4, can you please review?

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v4 net-next] net: mvneta: implement .set_wol and .get_wol
  2017-02-06  7:08   ` Jisheng Zhang
@ 2017-02-06  7:10     ` Jisheng Zhang
  0 siblings, 0 replies; 4+ messages in thread
From: Jisheng Zhang @ 2017-02-06  7:10 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: thomas.petazzoni, davem, netdev, linux-kernel, Jingju Hou

On Mon, 6 Feb 2017 15:08:48 +0800 Jisheng Zhang wrote:

> Hi Andrew,
> 
> On Mon, 23 Jan 2017 19:10:34 +0100 Andrew Lunn wrote:
> 
> > 
> > On Mon, Jan 23, 2017 at 02:55:07PM +0800, Jisheng Zhang wrote:  
> > > From: Jingju Hou <houjingj@marvell.com>
> > > 
> > > From: Jingju Hou <houjingj@marvell.com>
> > > 
> > > The mvneta itself does not support WOL, but the PHY might.
> > > So pass the calls to the PHY
> > > 
> > > Signed-off-by: Jingju Hou <houjingj@marvell.com>
> > > Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> > > ---
> > > since v3:
> > >  - really fix the build error    
> > 
> > Keep trying....
> > 
> > But maybe tomorrow, after you have taken the pause Dave said you
> > should take, and maybe ask Jingju to really review it, in detail.  
> 
> Jingju is a newbie in the Linux kernel community. She made a mistake
> when trying to send the old patch. I picked up her patch when she went
> on vacation, fixed the error and send it out on behalf of her.
> 
> >   
> > > 
> > > since v2,v1:
> > >  - using phy_dev member in struct net_device
> > >  - add commit msg
> > > 
> > >  drivers/net/ethernet/marvell/mvneta.c | 21 +++++++++++++++++++++
> > >  1 file changed, 21 insertions(+)
> > > 
> > > diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
> > > index 6dcc951af0ff..02611fa1c3b8 100644
> > > --- a/drivers/net/ethernet/marvell/mvneta.c
> > > +++ b/drivers/net/ethernet/marvell/mvneta.c
> > > @@ -3929,6 +3929,25 @@ static int mvneta_ethtool_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
> > >  	return 0;
> > >  }
> > >  
> > > +static void mvneta_ethtool_get_wol(struct net_device *dev,
> > > +				   struct ethtool_wolinfo *wol)
> > > +{
> > > +	wol->supported = 0;
> > > +	wol->wolopts = 0;
> > > +
> > > +	if (dev->phydev)
> > > +		return phy_ethtool_get_wol(dev->phydev, wol);    
> > 
> > This is a void function.  And you are returning a value.  And
> > phy_ethtool_get_wol() is also a void function, so does not actually
> > return anything.  
> 
> Thanks for catching it, fixed in v4, can you please review?

typo, fixed in v5. 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-02-06  7:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-23  6:55 [PATCH v4 net-next] net: mvneta: implement .set_wol and .get_wol Jisheng Zhang
2017-01-23 18:10 ` Andrew Lunn
2017-02-06  7:08   ` Jisheng Zhang
2017-02-06  7:10     ` Jisheng Zhang

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