netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).