From patchwork Sat Feb 4 22:49:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philippe Reynes X-Patchwork-Id: 724150 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 3vG8752M9Gz9ryk for ; Sun, 5 Feb 2017 09:49:21 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="X5tNMvhq"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751686AbdBDWtM (ORCPT ); Sat, 4 Feb 2017 17:49:12 -0500 Received: from mail-wm0-f67.google.com ([74.125.82.67]:35198 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751224AbdBDWtL (ORCPT ); Sat, 4 Feb 2017 17:49:11 -0500 Received: by mail-wm0-f67.google.com with SMTP id u63so13400983wmu.2; Sat, 04 Feb 2017 14:49:10 -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=l0zIsr0rr6W+nBhTzcSR9L2tJXF7r2iJ9OiAIfnKAV0=; b=X5tNMvhqylG42KsqGqgvRpkx+8MJ1LOdjURZz4t3FbyprjNb4NI7vWG1BcqJfOblNf GH71PdGofkAS1z1DBYXpaPDlNX9JVzXK4yguvtMh3bNOv9WmMBJ9OKDTFAroWFtlX8np 573frgloLvYEUWggBLl2BPXAWO+0+zqCctNb7eCzxeehhiYxrsbHPWBGXW8/mGPDkBls xL6drUfd76d3+t2gHqf6SpdeWmJQEALOAJ/oaA+D9AChKCSff6J7cXCY9EsCHQgC8F93 ZMGJUWAQZCj2y4CV/vW1lwbJPk2UR/4WAW8zdbjT/lHfF53ze2lw1oXhN9uvF0oft7aC xUdw== 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=l0zIsr0rr6W+nBhTzcSR9L2tJXF7r2iJ9OiAIfnKAV0=; b=fdSu0jal5bVBGMvtvmyoKd1d2dZTux36nh9PUFiQCkZKuSZJsVkgNrIfU8COR02Tz3 sUYmolrN/JSfgZZZvDPbmKJL3AWwd9D/VR81+r9tJne1i07uLfl9FJ/l4bXL7pis/EL9 ymwOJum/l5GG2pJcSvcihBYmlFri6PaClq64KroBRdTAgJ3PSgX96RR/9DqXrGJ0yu+5 w1HUeUqDP2oJ7fkkaGdBi30UeIlC+s+e5lGQttBvfd+2e3uzIz1iZhjYq5pPyFEw5o1m kXh2NeyYNPmhC/P1+ir1KNLEPnjhMVax+HTLEwjghFyBBoECIzHLGVaLQig/vOdR/c9L fUSg== X-Gm-Message-State: AMke39mu1BXVJhotJN9T3yIDI+hpltnkD6yIL7ylmyCqoQD5EQCgmIL7kLkdjMBVxFkjYg== X-Received: by 10.28.8.130 with SMTP id 124mr2994014wmi.65.1486248549949; Sat, 04 Feb 2017 14:49:09 -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 w16sm4638379wmd.4.2017.02.04.14.49.07 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 04 Feb 2017 14:49:08 -0800 (PST) From: Philippe Reynes To: jeffrey.t.kirsher@intel.com, davem@davemloft.net Cc: intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Philippe Reynes Subject: [PATCH] net: intel: i40evf: use new api ethtool_{get|set}_link_ksettings Date: Sat, 4 Feb 2017 23:49:03 +0100 Message-Id: <1486248543-14722-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/intel/i40evf/i40evf_ethtool.c | 31 +++++++++---------- 1 files changed, 15 insertions(+), 16 deletions(-) diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c b/drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c index 272d600..122efbd 100644 --- a/drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c +++ b/drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c @@ -64,51 +64,50 @@ struct i40evf_stats { (I40EVF_GLOBAL_STATS_LEN + I40EVF_QUEUE_STATS_LEN(_dev)) /** - * i40evf_get_settings - Get Link Speed and Duplex settings + * i40evf_get_link_ksettings - Get Link Speed and Duplex settings * @netdev: network interface device structure - * @ecmd: ethtool command + * @cmd: ethtool command * * Reports speed/duplex settings. Because this is a VF, we don't know what * kind of link we really have, so we fake it. **/ -static int i40evf_get_settings(struct net_device *netdev, - struct ethtool_cmd *ecmd) +static int i40evf_get_link_ksettings(struct net_device *netdev, + struct ethtool_link_ksettings *cmd) { struct i40evf_adapter *adapter = netdev_priv(netdev); - ecmd->supported = 0; - ecmd->autoneg = AUTONEG_DISABLE; - ecmd->transceiver = XCVR_DUMMY1; - ecmd->port = PORT_NONE; + ethtool_link_ksettings_zero_link_mode(cmd, supported); + cmd->base.autoneg = AUTONEG_DISABLE; + cmd->base.port = PORT_NONE; /* Set speed and duplex */ switch (adapter->link_speed) { case I40E_LINK_SPEED_40GB: - ethtool_cmd_speed_set(ecmd, SPEED_40000); + cmd->base.speed = SPEED_40000; break; case I40E_LINK_SPEED_25GB: #ifdef SPEED_25000 - ethtool_cmd_speed_set(ecmd, SPEED_25000); + cmd->base.speed = SPEED_25000; #else netdev_info(netdev, "Speed is 25G, display not supported by this version of ethtool.\n"); #endif break; case I40E_LINK_SPEED_20GB: - ethtool_cmd_speed_set(ecmd, SPEED_20000); + cmd->base.speed = SPEED_20000; break; case I40E_LINK_SPEED_10GB: - ethtool_cmd_speed_set(ecmd, SPEED_10000); + cmd->base.speed = SPEED_10000; break; case I40E_LINK_SPEED_1GB: - ethtool_cmd_speed_set(ecmd, SPEED_1000); + cmd->base.speed = SPEED_1000; break; case I40E_LINK_SPEED_100MB: - ethtool_cmd_speed_set(ecmd, SPEED_100); + cmd->base.speed = SPEED_100; break; default: break; } - ecmd->duplex = DUPLEX_FULL; + cmd->base.duplex = DUPLEX_FULL; return 0; } @@ -643,7 +642,6 @@ static int i40evf_set_rxfh(struct net_device *netdev, const u32 *indir, } static const struct ethtool_ops i40evf_ethtool_ops = { - .get_settings = i40evf_get_settings, .get_drvinfo = i40evf_get_drvinfo, .get_link = ethtool_op_get_link, .get_ringparam = i40evf_get_ringparam, @@ -663,6 +661,7 @@ static int i40evf_set_rxfh(struct net_device *netdev, const u32 *indir, .set_rxfh = i40evf_set_rxfh, .get_channels = i40evf_get_channels, .get_rxfh_key_size = i40evf_get_rxfh_key_size, + .get_link_ksettings = i40evf_get_link_ksettings, }; /**