Re: [PATCH net-next 4/6] net: hns3: add support for set_link_ksettings
On 2017/11/4 3:52, Florian Fainelli wrote: On 11/02/2017 09:18 PM, Lipeng wrote: From: Fuyun LiangThis patch adds set_link_ksettings support for ethtool cmd. Signed-off-by: Fuyun Liang Signed-off-by: Lipeng --- drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c index c7b8ebd..7fe193b 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c @@ -653,6 +653,16 @@ static int hns3_get_link_ksettings(struct net_device *netdev, return 0; } +static int hns3_set_link_ksettings(struct net_device *netdev, + const struct ethtool_link_ksettings *cmd) +{ + /* Only support ksettings_set for netdev with phy attached for now */ + if (netdev->phydev) + return phy_ethtool_ksettings_set(netdev->phydev, cmd); + + return -EOPNOTSUPP; Consider using phy_ethtool_get_link_ksettings() which already checks for netdev->phydev. agree, Thanks for your comment. as this patch has been applied to net-next, we will push another cleanup patch.
Re: [PATCH net-next 4/6] net: hns3: add support for set_link_ksettings
On 11/02/2017 09:18 PM, Lipeng wrote: > From: Fuyun Liang> > This patch adds set_link_ksettings support for ethtool cmd. > > Signed-off-by: Fuyun Liang > Signed-off-by: Lipeng > --- > drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c | 11 +++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c > b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c > index c7b8ebd..7fe193b 100644 > --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c > +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c > @@ -653,6 +653,16 @@ static int hns3_get_link_ksettings(struct net_device > *netdev, > return 0; > } > > +static int hns3_set_link_ksettings(struct net_device *netdev, > +const struct ethtool_link_ksettings *cmd) > +{ > + /* Only support ksettings_set for netdev with phy attached for now */ > + if (netdev->phydev) > + return phy_ethtool_ksettings_set(netdev->phydev, cmd); > + > + return -EOPNOTSUPP; Consider using phy_ethtool_get_link_ksettings() which already checks for netdev->phydev. -- Florian
[PATCH net-next 4/6] net: hns3: add support for set_link_ksettings
From: Fuyun LiangThis patch adds set_link_ksettings support for ethtool cmd. Signed-off-by: Fuyun Liang Signed-off-by: Lipeng --- drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c index c7b8ebd..7fe193b 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c @@ -653,6 +653,16 @@ static int hns3_get_link_ksettings(struct net_device *netdev, return 0; } +static int hns3_set_link_ksettings(struct net_device *netdev, + const struct ethtool_link_ksettings *cmd) +{ + /* Only support ksettings_set for netdev with phy attached for now */ + if (netdev->phydev) + return phy_ethtool_ksettings_set(netdev->phydev, cmd); + + return -EOPNOTSUPP; +} + static u32 hns3_get_rss_key_size(struct net_device *netdev) { struct hnae3_handle *h = hns3_get_handle(netdev); @@ -839,6 +849,7 @@ static int hns3_set_rxnfc(struct net_device *netdev, struct ethtool_rxnfc *cmd) .get_rxfh = hns3_get_rss, .set_rxfh = hns3_set_rss, .get_link_ksettings = hns3_get_link_ksettings, + .set_link_ksettings = hns3_set_link_ksettings, }; void hns3_ethtool_set_ops(struct net_device *netdev) -- 1.9.1