From patchwork Sat Mar 4 16:50:06 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philippe Reynes X-Patchwork-Id: 735309 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3vbBsN3j9jz9s8H for ; Sun, 5 Mar 2017 03:51:36 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="R20pEx7K"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752348AbdCDQvA (ORCPT ); Sat, 4 Mar 2017 11:51:00 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:35510 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751963AbdCDQu5 (ORCPT ); Sat, 4 Mar 2017 11:50:57 -0500 Received: by mail-wm0-f65.google.com with SMTP id z63so5273239wmg.2; Sat, 04 Mar 2017 08:50:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=HVJiHA69mZwAWecX7yvowxvpkMKL4NR16GLHBSjcBWg=; b=R20pEx7KUINe0NwfcJb9ZnMNfV4UoS3VJ7RrNRBIDlK66SGpRqYCkPb4jCYZmHrW3h P4NCnK7MPhmu0X0716JepQj/oA+Qbse8Kfnx9eLaBZy23c2RqIBgAPFykdNjTeFlO3Eo RuF02Lj6lCWvTGLUrWkjuGKtD8fBDy1oachoxMek0tn1SjbfXoz5xMgaeSK4o6/CEG+w 1/u3/MvyZhm78NJs9e0wCz9sP+yAaq3oShS918vQ3bw//uryWBy0CmOEefB30q5Scx28 iR44tZSQBO6QS/h05e5kHiT7Vc2TvZbHCARLf3l6shayMZejtkhgb+ymyhjUbZkFoX65 BDsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=HVJiHA69mZwAWecX7yvowxvpkMKL4NR16GLHBSjcBWg=; b=Z8+ZqL3C+w+At4pbP7enjM5AM1l9Ax99nM6M4W7CdhOGytCS30OdNzNNActE+RNZ+Y CcnsGBkpgWNp/fNt8sXatj1HnF8qk+D06PVzze6WQ28shv0yv0QaqfqhmFP+NUL9P7wa RgVyrPg49SXgFwwQT3+vsCcoS47xe4mlh5qLGDA4HG9X1RZWotYa4M5VSrpyn5pl2EOL 4zy4zrK3eEMmvsvXLeh+oQUs2+8Dbm9qAYhm6novyMcQnafth5TFGPGZ2knAh6dWxrZF bk/RqvlSnpHbzq+sTCMgSTLPudITq1IVr5Nwo09GvMhV+MotgrS2Rs9KDvHA7H5TkYeH jNwA== X-Gm-Message-State: AMke39lUiSk30u9dbnyNL6xnfG1nElpso88jvTy/EvOBEpIGh5wXNH/Pf5tskvpBi0shYA== X-Received: by 10.28.19.207 with SMTP id 198mr6697945wmt.70.1488646215123; Sat, 04 Mar 2017 08:50:15 -0800 (PST) Received: from localhost.localdomain (bny93-7-88-161-33-221.fbx.proxad.net. [88.161.33.221]) by smtp.gmail.com with ESMTPSA id h75sm19730484wrh.37.2017.03.04.08.50.13 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 04 Mar 2017 08:50:14 -0800 (PST) From: Philippe Reynes To: davem@davemloft.net, mugunthanvnm@ti.com, akpm@linux-foundation.org, vbabka@suse.cz, jarod@redhat.com, edumazet@google.com, iamjoonsoo.kim@lge.com, fw@strlen.de, stephen@networkplumber.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Philippe Reynes Subject: [PATCH] net: sun: niu: use new api ethtool_{get|set}_link_ksettings Date: Sat, 4 Mar 2017 17:50:06 +0100 Message-Id: <1488646206-8966-1-git-send-email-tremyfr@gmail.com> X-Mailer: git-send-email 1.7.4.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The ethtool api {get|set}_settings is deprecated. We move this driver to new api {get|set}_link_ksettings. As I don't have the hardware, I'd be very pleased if someone may test this patch. Signed-off-by: Philippe Reynes --- drivers/net/ethernet/sun/niu.c | 37 ++++++++++++++++++++----------------- 1 files changed, 20 insertions(+), 17 deletions(-) diff --git a/drivers/net/ethernet/sun/niu.c b/drivers/net/ethernet/sun/niu.c index 5797805..2dcca24 100644 --- a/drivers/net/ethernet/sun/niu.c +++ b/drivers/net/ethernet/sun/niu.c @@ -6813,7 +6813,8 @@ static void niu_get_drvinfo(struct net_device *dev, sizeof(info->bus_info)); } -static int niu_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) +static int niu_get_link_ksettings(struct net_device *dev, + struct ethtool_link_ksettings *cmd) { struct niu *np = netdev_priv(dev); struct niu_link_config *lp; @@ -6821,28 +6822,30 @@ static int niu_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) lp = &np->link_config; memset(cmd, 0, sizeof(*cmd)); - cmd->phy_address = np->phy_addr; - cmd->supported = lp->supported; - cmd->advertising = lp->active_advertising; - cmd->autoneg = lp->active_autoneg; - ethtool_cmd_speed_set(cmd, lp->active_speed); - cmd->duplex = lp->active_duplex; - cmd->port = (np->flags & NIU_FLAGS_FIBER) ? PORT_FIBRE : PORT_TP; - cmd->transceiver = (np->flags & NIU_FLAGS_XCVR_SERDES) ? - XCVR_EXTERNAL : XCVR_INTERNAL; + cmd->base.phy_address = np->phy_addr; + ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.supported, + lp->supported); + ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.advertising, + lp->active_advertising); + cmd->base.autoneg = lp->active_autoneg; + cmd->base.speed = lp->active_speed; + cmd->base.duplex = lp->active_duplex; + cmd->base.port = (np->flags & NIU_FLAGS_FIBER) ? PORT_FIBRE : PORT_TP; return 0; } -static int niu_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) +static int niu_set_link_ksettings(struct net_device *dev, + const struct ethtool_link_ksettings *cmd) { struct niu *np = netdev_priv(dev); struct niu_link_config *lp = &np->link_config; - lp->advertising = cmd->advertising; - lp->speed = ethtool_cmd_speed(cmd); - lp->duplex = cmd->duplex; - lp->autoneg = cmd->autoneg; + ethtool_convert_link_mode_to_legacy_u32(&lp->advertising, + cmd->link_modes.advertising); + lp->speed = cmd->base.speed; + lp->duplex = cmd->base.duplex; + lp->autoneg = cmd->base.autoneg; return niu_init_link(np); } @@ -7902,14 +7905,14 @@ static int niu_set_phys_id(struct net_device *dev, .nway_reset = niu_nway_reset, .get_eeprom_len = niu_get_eeprom_len, .get_eeprom = niu_get_eeprom, - .get_settings = niu_get_settings, - .set_settings = niu_set_settings, .get_strings = niu_get_strings, .get_sset_count = niu_get_sset_count, .get_ethtool_stats = niu_get_ethtool_stats, .set_phys_id = niu_set_phys_id, .get_rxnfc = niu_get_nfc, .set_rxnfc = niu_set_nfc, + .get_link_ksettings = niu_get_link_ksettings, + .set_link_ksettings = niu_set_link_ksettings, }; static int niu_ldg_assign_ldn(struct niu *np, struct niu_parent *parent,