From patchwork Thu Feb 9 21:02:47 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philippe Reynes X-Patchwork-Id: 726331 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 3vK9bK17r4z9s6s for ; Fri, 10 Feb 2017 08:05:47 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="WlrcZsYf"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753582AbdBIVFd (ORCPT ); Thu, 9 Feb 2017 16:05:33 -0500 Received: from mail-wm0-f68.google.com ([74.125.82.68]:33419 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751356AbdBIVFc (ORCPT ); Thu, 9 Feb 2017 16:05:32 -0500 Received: by mail-wm0-f68.google.com with SMTP id v77so4669440wmv.0; Thu, 09 Feb 2017 13:02:57 -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=0gjOWCW/WBsF7/ygCeSfPrrt2a5m+fPDwtD3YqeX6SM=; b=WlrcZsYfHIxfQZnWG2HCRlf//7yl1kU6/cy51Y06NdMeCnxhkqo2V9QTUlg2Ej+NPC 5kaqM2rRi9+77u1mviikfaT4es9beppZOTA3OD2Mcqsigky5z8ibyC2QHPQ8OYyVJ1gu /Dsy9euoEf1SBNENoKm8q0EQ7LmRbS2xJ3relS6RL8nBVh4EPcSV1feqi2rn8gBpYOM1 nAWHdHVoJrdm3uIXOPy4idXN1IPTZxZv88z/IvvLTvYtpcn9Q+id3avVuJHkOJBU4ga+ +v4HOAnrxRugc3C5GSac09DeoWT1LoO8vYwxX38SQSv38nZZlAxqAVOfNNOQc0r6v7Ih jjPw== 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=0gjOWCW/WBsF7/ygCeSfPrrt2a5m+fPDwtD3YqeX6SM=; b=h6qHYCJ7wOW1SDEqhAY0NAB+Mty/YbI1yHpiq7nnsx0WxSmlLN7Q67GJ3LET+vyAui 5tw9YRT0wu8xIiXC/1Es37C+3VIZM5wcZltlmKVzU4XhpgvbbZkKtOf3gCvnylrt7o5t SDN0sAZR8L8Zh+vuPeCoi+ne0BB1mivhykiD+qbt+zcZefPEOG/DdLt92a5soJ3E8LDX jkxPNC4zLzON0+SmTjBNYZCcYrj8j4b21uXFPA6fj54g8FZ+YrH8vv6FkO+0CNueXFim PFOGbH+CoZ8pSsaYozXJ4lxZ0L3vlmLNk6vuMSkZNLtViqfVbMKan5H5THHL6B4dsL+k tUFg== X-Gm-Message-State: AMke39lOzIbTifZYUM2NwirlNkRkOLGcA+H9mOFI1F9VuGIH5Nw7mNX4vVGlAYW89hIAEA== X-Received: by 10.28.158.82 with SMTP id h79mr25723820wme.30.1486674176209; Thu, 09 Feb 2017 13:02:56 -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 p49sm20292177wrb.10.2017.02.09.13.02.53 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 09 Feb 2017 13:02:55 -0800 (PST) From: Philippe Reynes To: davem@davemloft.net, mhei@heimpold.de, sergio.valverde@hpe.com, jarod@redhat.com, dompe@hpe.com Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Philippe Reynes Subject: [PATCH] net: microchip: enc28j60: use new api ethtool_{get|set}_link_ksettings Date: Thu, 9 Feb 2017 22:02:47 +0100 Message-Id: <1486674167-19306-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/microchip/enc28j60.c | 31 +++++++++++++++------------- 1 files changed, 17 insertions(+), 14 deletions(-) diff --git a/drivers/net/ethernet/microchip/enc28j60.c b/drivers/net/ethernet/microchip/enc28j60.c index 045b910..f6ecfa7 100644 --- a/drivers/net/ethernet/microchip/enc28j60.c +++ b/drivers/net/ethernet/microchip/enc28j60.c @@ -1487,27 +1487,30 @@ static void enc28j60_restart_work_handler(struct work_struct *work) } static int -enc28j60_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) +enc28j60_get_link_ksettings(struct net_device *dev, + struct ethtool_link_ksettings *cmd) { struct enc28j60_net *priv = netdev_priv(dev); - cmd->transceiver = XCVR_INTERNAL; - cmd->supported = SUPPORTED_10baseT_Half - | SUPPORTED_10baseT_Full - | SUPPORTED_TP; - ethtool_cmd_speed_set(cmd, SPEED_10); - cmd->duplex = priv->full_duplex ? DUPLEX_FULL : DUPLEX_HALF; - cmd->port = PORT_TP; - cmd->autoneg = AUTONEG_DISABLE; + ethtool_link_ksettings_zero_link_mode(cmd, supported); + ethtool_link_ksettings_add_link_mode(cmd, supported, 10baseT_Half); + ethtool_link_ksettings_add_link_mode(cmd, supported, 10baseT_Full); + ethtool_link_ksettings_add_link_mode(cmd, supported, TP); + + cmd->base.speed = SPEED_10; + cmd->base.duplex = priv->full_duplex ? DUPLEX_FULL : DUPLEX_HALF; + cmd->base.port = PORT_TP; + cmd->base.autoneg = AUTONEG_DISABLE; return 0; } static int -enc28j60_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) +enc28j60_set_link_ksettings(struct net_device *dev, + const struct ethtool_link_ksettings *cmd) { - return enc28j60_setlink(dev, cmd->autoneg, - ethtool_cmd_speed(cmd), cmd->duplex); + return enc28j60_setlink(dev, cmd->base.autoneg, + cmd->base.speed, cmd->base.duplex); } static u32 enc28j60_get_msglevel(struct net_device *dev) @@ -1523,11 +1526,11 @@ static void enc28j60_set_msglevel(struct net_device *dev, u32 val) } static const struct ethtool_ops enc28j60_ethtool_ops = { - .get_settings = enc28j60_get_settings, - .set_settings = enc28j60_set_settings, .get_drvinfo = enc28j60_get_drvinfo, .get_msglevel = enc28j60_get_msglevel, .set_msglevel = enc28j60_set_msglevel, + .get_link_ksettings = enc28j60_get_link_ksettings, + .set_link_ksettings = enc28j60_set_link_ksettings, }; static int enc28j60_chipset_init(struct net_device *dev)