* [PATCHv2 net-next] net: mvneta: implement .set_wol and .get_wol
@ 2017-01-23 2:44 Jingju Hou
2017-01-23 2:52 ` Jisheng Zhang
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Jingju Hou @ 2017-01-23 2:44 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] 5+ messages in thread
* Re: [PATCHv2 net-next] net: mvneta: implement .set_wol and .get_wol
2017-01-23 2:44 [PATCHv2 net-next] net: mvneta: implement .set_wol and .get_wol Jingju Hou
@ 2017-01-23 2:52 ` Jisheng Zhang
2017-01-23 4:02 ` kbuild test robot
2017-01-23 4:04 ` kbuild test robot
2 siblings, 0 replies; 5+ messages in thread
From: Jisheng Zhang @ 2017-01-23 2:52 UTC (permalink / raw)
To: Jingju Hou; +Cc: davem, thomas.petazzoni, netdev
On Mon, 23 Jan 2017 10:44:07 +0800
Jingju Hou <houjingj@marvell.com> 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>
Reviewed-by: Jisheng Zhang <jszhang@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 */
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCHv2 net-next] net: mvneta: implement .set_wol and .get_wol
2017-01-23 2:44 [PATCHv2 net-next] net: mvneta: implement .set_wol and .get_wol Jingju Hou
2017-01-23 2:52 ` Jisheng Zhang
@ 2017-01-23 4:02 ` kbuild test robot
2017-01-23 4:04 ` kbuild test robot
2 siblings, 0 replies; 5+ messages in thread
From: kbuild test robot @ 2017-01-23 4:02 UTC (permalink / raw)
To: Jingju Hou
Cc: kbuild-all, davem, jszhang, thomas.petazzoni, netdev, Jingju Hou
[-- Attachment #1: Type: text/plain, Size: 2471 bytes --]
Hi Jingju,
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/Jingju-Hou/net-mvneta-implement-set_wol-and-get_wol/20170123-105218
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 6.2.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=ia64
All errors (new ones prefixed by >>):
drivers/net/ethernet/marvell/mvneta.c: In function 'mvneta_ethtool_get_wol':
>> drivers/net/ethernet/marvell/mvneta.c:3938:9: error: 'struct net_device' has no member named 'phy_dev'; did you mean 'phydev'?
if (dev->phy_dev)
^~
drivers/net/ethernet/marvell/mvneta.c:3939:33: error: 'struct net_device' has no member named 'phy_dev'; did you mean 'phydev'?
return phy_ethtool_get_wol(dev->phy_dev, wol);
^~
drivers/net/ethernet/marvell/mvneta.c:3939:10: warning: 'return' with a value, in function returning void
return phy_ethtool_get_wol(dev->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:3945:10: error: 'struct net_device' has no member named 'phy_dev'; did you mean 'phydev'?
if (!dev->phy_dev)
^~
drivers/net/ethernet/marvell/mvneta.c:3948:32: error: 'struct net_device' has no member named 'phy_dev'; did you mean 'phydev'?
return phy_ethtool_set_wol(dev->phy_dev, wol);
^~
drivers/net/ethernet/marvell/mvneta.c:3949:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
vim +3938 drivers/net/ethernet/marvell/mvneta.c
3932 static void
3933 mvneta_ethtool_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
3934 {
3935 wol->supported = 0;
3936 wol->wolopts = 0;
3937
> 3938 if (dev->phy_dev)
3939 return phy_ethtool_get_wol(dev->phy_dev, wol);
3940 }
3941
---
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: 45821 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCHv2 net-next] net: mvneta: implement .set_wol and .get_wol
2017-01-23 2:44 [PATCHv2 net-next] net: mvneta: implement .set_wol and .get_wol Jingju Hou
2017-01-23 2:52 ` Jisheng Zhang
2017-01-23 4:02 ` kbuild test robot
@ 2017-01-23 4:04 ` kbuild test robot
2017-01-23 4:27 ` David Miller
2 siblings, 1 reply; 5+ messages in thread
From: kbuild test robot @ 2017-01-23 4:04 UTC (permalink / raw)
To: Jingju Hou
Cc: kbuild-all, davem, jszhang, thomas.petazzoni, netdev, Jingju Hou
[-- Attachment #1: Type: text/plain, Size: 2169 bytes --]
Hi Jingju,
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/Jingju-Hou/net-mvneta-implement-set_wol-and-get_wol/20170123-105218
config: m68k-allyesconfig (attached as .config)
compiler: m68k-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=m68k
All errors (new ones prefixed by >>):
drivers/net/ethernet/marvell/mvneta.c: In function 'mvneta_ethtool_get_wol':
>> drivers/net/ethernet/marvell/mvneta.c:3938:9: error: 'struct net_device' has no member named 'phy_dev'
if (dev->phy_dev)
^
drivers/net/ethernet/marvell/mvneta.c:3939:33: error: 'struct net_device' has no member named 'phy_dev'
return phy_ethtool_get_wol(dev->phy_dev, wol);
^
drivers/net/ethernet/marvell/mvneta.c:3939:3: warning: 'return' with a value, in function returning void
return phy_ethtool_get_wol(dev->phy_dev, wol);
^
drivers/net/ethernet/marvell/mvneta.c: In function 'mvneta_ethtool_set_wol':
drivers/net/ethernet/marvell/mvneta.c:3945:10: error: 'struct net_device' has no member named 'phy_dev'
if (!dev->phy_dev)
^
drivers/net/ethernet/marvell/mvneta.c:3948:32: error: 'struct net_device' has no member named 'phy_dev'
return phy_ethtool_set_wol(dev->phy_dev, wol);
^
drivers/net/ethernet/marvell/mvneta.c:3949:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
vim +3938 drivers/net/ethernet/marvell/mvneta.c
3932 static void
3933 mvneta_ethtool_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
3934 {
3935 wol->supported = 0;
3936 wol->wolopts = 0;
3937
> 3938 if (dev->phy_dev)
3939 return phy_ethtool_get_wol(dev->phy_dev, wol);
3940 }
3941
---
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: 39187 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCHv2 net-next] net: mvneta: implement .set_wol and .get_wol
2017-01-23 4:04 ` kbuild test robot
@ 2017-01-23 4:27 ` David Miller
0 siblings, 0 replies; 5+ messages in thread
From: David Miller @ 2017-01-23 4:27 UTC (permalink / raw)
To: lkp; +Cc: houjingj, kbuild-all, jszhang, thomas.petazzoni, netdev
The same build error exists in all submissions of your patch.
At this point you must absolutely reproduce this build failure
yourself, and stop submitting this patch until you can test that the
build failure is fixed.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-01-23 4:27 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-23 2:44 [PATCHv2 net-next] net: mvneta: implement .set_wol and .get_wol Jingju Hou
2017-01-23 2:52 ` Jisheng Zhang
2017-01-23 4:02 ` kbuild test robot
2017-01-23 4:04 ` kbuild test robot
2017-01-23 4:27 ` David Miller
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).