* [PATCH] net: mvneta: implement .set_wol and .get_wol
@ 2017-01-22 10:06 Jingju Hou
2017-01-22 11:13 ` kbuild test robot
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Jingju Hou @ 2017-01-22 10:06 UTC (permalink / raw)
To: davem; +Cc: thomas.petazzoni, netdev, Jingju Hou
Signed-off-by: Jingju Hou <houjingj@marvell.com>
---
drivers/net/ethernet/marvell/mvneta.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
index e05e227..b684f43 100644
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -3908,6 +3908,29 @@ 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)
+{
+ struct mvneta_port *pp = netdev_priv(dev);
+
+ wol->supported = 0;
+ wol->wolopts = 0;
+
+ if (pp->phy_dev)
+ return phy_ethtool_get_wol(pp->phy_dev, wol);
+}
+
+static int
+mvneta_ethtool_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
+{
+ struct mvneta_port *pp = netdev_priv(dev);
+
+ if (!pp->phy_dev)
+ return -EOPNOTSUPP;
+
+ return phy_ethtool_set_wol(pp->phy_dev, wol);
+}
+
static const struct net_device_ops mvneta_netdev_ops = {
.ndo_open = mvneta_open,
.ndo_stop = mvneta_stop,
@@ -3937,6 +3960,8 @@ static int mvneta_ethtool_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
.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 */
--
1.9.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] net: mvneta: implement .set_wol and .get_wol
2017-01-22 10:06 Jingju Hou
@ 2017-01-22 11:13 ` kbuild test robot
2017-01-22 11:21 ` kbuild test robot
2017-01-22 16:49 ` Andrew Lunn
2 siblings, 0 replies; 6+ messages in thread
From: kbuild test robot @ 2017-01-22 11:13 UTC (permalink / raw)
To: Jingju Hou; +Cc: kbuild-all, davem, thomas.petazzoni, netdev, Jingju Hou
[-- Attachment #1: Type: text/plain, Size: 2693 bytes --]
Hi Jingju,
[auto build test ERROR on net-next/master]
[also build test ERROR on v4.10-rc4 next-20170120]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Jingju-Hou/net-mvneta-implement-set_wol-and-get_wol/20170122-181651
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=xtensa
All error/warnings (new ones prefixed by >>):
drivers/net/ethernet/marvell/mvneta.c: In function 'mvneta_ethtool_get_wol':
>> drivers/net/ethernet/marvell/mvneta.c:3940:8: error: 'struct mvneta_port' has no member named 'phy_dev'
if (pp->phy_dev)
^
drivers/net/ethernet/marvell/mvneta.c:3941:32: error: 'struct mvneta_port' has no member named 'phy_dev'
return phy_ethtool_get_wol(pp->phy_dev, wol);
^
>> drivers/net/ethernet/marvell/mvneta.c:3941:3: warning: 'return' with a value, in function returning void
return phy_ethtool_get_wol(pp->phy_dev, wol);
^
drivers/net/ethernet/marvell/mvneta.c: In function 'mvneta_ethtool_set_wol':
drivers/net/ethernet/marvell/mvneta.c:3949:9: error: 'struct mvneta_port' has no member named 'phy_dev'
if (!pp->phy_dev)
^
drivers/net/ethernet/marvell/mvneta.c:3952:31: error: 'struct mvneta_port' has no member named 'phy_dev'
return phy_ethtool_set_wol(pp->phy_dev, wol);
^
>> drivers/net/ethernet/marvell/mvneta.c:3953:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
vim +3940 drivers/net/ethernet/marvell/mvneta.c
3934 {
3935 struct mvneta_port *pp = netdev_priv(dev);
3936
3937 wol->supported = 0;
3938 wol->wolopts = 0;
3939
> 3940 if (pp->phy_dev)
> 3941 return phy_ethtool_get_wol(pp->phy_dev, wol);
3942 }
3943
3944 static int
3945 mvneta_ethtool_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
3946 {
3947 struct mvneta_port *pp = netdev_priv(dev);
3948
> 3949 if (!pp->phy_dev)
3950 return -EOPNOTSUPP;
3951
3952 return phy_ethtool_set_wol(pp->phy_dev, wol);
> 3953 }
3954
3955 static const struct net_device_ops mvneta_netdev_ops = {
3956 .ndo_open = mvneta_open,
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 48135 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] net: mvneta: implement .set_wol and .get_wol
2017-01-22 10:06 Jingju Hou
2017-01-22 11:13 ` kbuild test robot
@ 2017-01-22 11:21 ` kbuild test robot
2017-01-22 16:49 ` Andrew Lunn
2 siblings, 0 replies; 6+ messages in thread
From: kbuild test robot @ 2017-01-22 11:21 UTC (permalink / raw)
To: Jingju Hou; +Cc: kbuild-all, davem, thomas.petazzoni, netdev, Jingju Hou
[-- Attachment #1: Type: text/plain, Size: 2611 bytes --]
Hi Jingju,
[auto build test ERROR on net-next/master]
[also build test ERROR on v4.10-rc4 next-20170120]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Jingju-Hou/net-mvneta-implement-set_wol-and-get_wol/20170122-181651
config: sparc64-allmodconfig (attached as .config)
compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=sparc64
All errors (new ones prefixed by >>):
drivers/net/ethernet/marvell/mvneta.c: In function 'mvneta_ethtool_get_wol':
>> drivers/net/ethernet/marvell/mvneta.c:3940:8: error: 'struct mvneta_port' has no member named 'phy_dev'; did you mean 'phy_node'?
if (pp->phy_dev)
^~
drivers/net/ethernet/marvell/mvneta.c:3941:32: error: 'struct mvneta_port' has no member named 'phy_dev'; did you mean 'phy_node'?
return phy_ethtool_get_wol(pp->phy_dev, wol);
^~
drivers/net/ethernet/marvell/mvneta.c:3941:10: warning: 'return' with a value, in function returning void
return phy_ethtool_get_wol(pp->phy_dev, wol);
^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/marvell/mvneta.c:3933:1: note: declared here
mvneta_ethtool_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/marvell/mvneta.c: In function 'mvneta_ethtool_set_wol':
drivers/net/ethernet/marvell/mvneta.c:3949:9: error: 'struct mvneta_port' has no member named 'phy_dev'; did you mean 'phy_node'?
if (!pp->phy_dev)
^~
drivers/net/ethernet/marvell/mvneta.c:3952:31: error: 'struct mvneta_port' has no member named 'phy_dev'; did you mean 'phy_node'?
return phy_ethtool_set_wol(pp->phy_dev, wol);
^~
drivers/net/ethernet/marvell/mvneta.c:3953:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
vim +3940 drivers/net/ethernet/marvell/mvneta.c
3934 {
3935 struct mvneta_port *pp = netdev_priv(dev);
3936
3937 wol->supported = 0;
3938 wol->wolopts = 0;
3939
> 3940 if (pp->phy_dev)
3941 return phy_ethtool_get_wol(pp->phy_dev, wol);
3942 }
3943
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 48616 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] net: mvneta: implement .set_wol and .get_wol
2017-01-22 10:06 Jingju Hou
2017-01-22 11:13 ` kbuild test robot
2017-01-22 11:21 ` kbuild test robot
@ 2017-01-22 16:49 ` Andrew Lunn
2 siblings, 0 replies; 6+ messages in thread
From: Andrew Lunn @ 2017-01-22 16:49 UTC (permalink / raw)
To: Jingju Hou; +Cc: davem, thomas.petazzoni, netdev
On Sun, Jan 22, 2017 at 06:06:30PM +0800, Jingju Hou wrote:
> Signed-off-by: Jingju Hou <houjingj@marvell.com>
Hi Jingju
Please include a real comment here. Something like:
The mvneta itself does not support WOL, but the PHY might. So pass the
calls to the PHY.
It also looks like you are patching an old kernel. Network patches
like this need to be against net-next. You should also include
net-next in the subject line.
Thanks
Andrew
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] net: mvneta: implement .set_wol and .get_wol
@ 2017-01-23 2:43 Jingju Hou
2017-01-23 2:58 ` Jisheng Zhang
0 siblings, 1 reply; 6+ messages in thread
From: Jingju Hou @ 2017-01-23 2:43 UTC (permalink / raw)
To: davem; +Cc: jszhang, thomas.petazzoni, netdev, Jingju Hou
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>
---
Since v1:
- using phy_dev member in struct net_device
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 e05e227..78869fa 100644
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -3908,6 +3908,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->phy_dev)
+ return phy_ethtool_get_wol(dev->phy_dev, wol);
+}
+
+static int
+mvneta_ethtool_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
+{
+ if (!dev->phy_dev)
+ return -EOPNOTSUPP;
+
+ return phy_ethtool_set_wol(dev->phy_dev, wol);
+}
+
static const struct net_device_ops mvneta_netdev_ops = {
.ndo_open = mvneta_open,
.ndo_stop = mvneta_stop,
@@ -3937,6 +3956,8 @@ static int mvneta_ethtool_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
.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 */
--
1.9.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] net: mvneta: implement .set_wol and .get_wol
2017-01-23 2:43 [PATCH] net: mvneta: implement .set_wol and .get_wol Jingju Hou
@ 2017-01-23 2:58 ` Jisheng Zhang
0 siblings, 0 replies; 6+ messages in thread
From: Jisheng Zhang @ 2017-01-23 2:58 UTC (permalink / raw)
To: Jingju Hou; +Cc: davem, thomas.petazzoni, netdev
Hi Jingju,
On Mon, 23 Jan 2017 10:43:08 +0800 wrote:
> 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>
> ---
> Since v1:
> - using phy_dev member in struct net_device
I noticed that you send a new v2 patch. So this patch should be ignored.
Some tips:
*the v2 patch title should be like:
[PATCH v2] net: mvneta: implement .set_wol and .get_wol
*you also add a commit msg in v2, you'd better mention it
in changes since v1.
Thanks,
Jisheng
>
> 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 e05e227..78869fa 100644
> --- a/drivers/net/ethernet/marvell/mvneta.c
> +++ b/drivers/net/ethernet/marvell/mvneta.c
> @@ -3908,6 +3908,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->phy_dev)
> + return phy_ethtool_get_wol(dev->phy_dev, wol);
> +}
> +
> +static int
> +mvneta_ethtool_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
> +{
> + if (!dev->phy_dev)
> + return -EOPNOTSUPP;
> +
> + return phy_ethtool_set_wol(dev->phy_dev, wol);
> +}
> +
> static const struct net_device_ops mvneta_netdev_ops = {
> .ndo_open = mvneta_open,
> .ndo_stop = mvneta_stop,
> @@ -3937,6 +3956,8 @@ static int mvneta_ethtool_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
> .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 */
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-01-23 3:03 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-23 2:43 [PATCH] net: mvneta: implement .set_wol and .get_wol Jingju Hou
2017-01-23 2:58 ` Jisheng Zhang
-- strict thread matches above, loose matches on Subject: below --
2017-01-22 10:06 Jingju Hou
2017-01-22 11:13 ` kbuild test robot
2017-01-22 11:21 ` kbuild test robot
2017-01-22 16:49 ` Andrew Lunn
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).