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