Message ID | 1485079590-6392-1-git-send-email-houjingj@marvell.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
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
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
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
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 */
Signed-off-by: Jingju Hou <houjingj@marvell.com> --- drivers/net/ethernet/marvell/mvneta.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)