Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp299580pxj; Thu, 17 Jun 2021 03:03:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyBLoxodVNl6/SfOWHXLxvUzUD6Dk4p0d/n6bqOKB7CyA5BicqiaYeOhVVLRg4t2CusK57G X-Received: by 2002:a6b:e40a:: with SMTP id u10mr3229602iog.200.1623924231218; Thu, 17 Jun 2021 03:03:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623924231; cv=none; d=google.com; s=arc-20160816; b=ndP8vIZDdk80Mtw00Y2zRFlC3xHBuathq2Tan58sr5rYv9DwdFrPbNp1fhRo6+fbOA bo0Fw7wFWAUAg8VsR+DkX1dekvnNFEba1A9qICs1t4g02NjOt8ymAXE1doHmrlxJocKe Kvong/NGufRlItclzQWmp0aMg1RZ6YtF/wj5/TF3uXrlAYNG8FUgUB9fUJBiWTnZeB0q Wi6+rgrALdzN5Salv1tc069xOLXqZED7ZxtXpS+nwQ2ZNfU4tOCreiFBd4kC8MbsJZsy Ye36Ky7D1ZM+ou3q16z2asNvgityzvBOJjeR0Yi1aeIf4MkrKB2nakzu8OnIrqY2FqWk TGBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=i1IHx7Ui8Svw+5AWIq7HRcjE3szW2vF1rRmhLWQ5sQE=; b=nujaPEFSwQ7nkUjLNdaCpogazaM045IXBkvxkNCZrX6rvtXwgrRBKzuaV3rnUkEwew ouNBsgFjSAYXaSQ7eGmdzEcvEMMheW+Le2DSYx/8nivGlv9JOrWz6qEC4DjnrRPc81qj bTcO2xJ9/1dYbDQnxxSzSfZAl0LKXX9X3HEcy/lE54Bza6iIGvWBeECv42FjeFCrQFjU BkJb4nEknwfwZ2FyyIU6A9gBX+f//MCGQsgpBYN2AcIVPHRy+isHi2J5RRRKUwXg4fKR qVgc9hTW4pTeexdHDE5ioQFzjGp9b1+whai3A+m/hvaZvw9uvPPMGEVfl25EoAItoD6g 3X0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@geanix.com header.s=first header.b=h92R3X3M; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=geanix.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 7si5033034ilz.34.2021.06.17.03.03.39; Thu, 17 Jun 2021 03:03:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@geanix.com header.s=first header.b=h92R3X3M; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=geanix.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231878AbhFQJv0 (ORCPT + 99 others); Thu, 17 Jun 2021 05:51:26 -0400 Received: from first.geanix.com ([116.203.34.67]:41892 "EHLO first.geanix.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231845AbhFQJvZ (ORCPT ); Thu, 17 Jun 2021 05:51:25 -0400 Received: from localhost (unknown [185.17.218.86]) by first.geanix.com (Postfix) with ESMTPSA id A788A4C325D; Thu, 17 Jun 2021 09:49:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=geanix.com; s=first; t=1623923355; bh=IoCXtXJsUbap8V+xD8LLq4yWJQOOPHd9bY+uNZyTmtI=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=h92R3X3MIoTX+PyZqVzLxvBcdkD9GKH6GJ7/sHPVE04LX2p90vqLAiUUgbpMqI2Yl YrdTQVDr25wqG+xiaAVpB6tD28va4qsT2RQF3XKq1uAau3JOuCcem60SynoZc/dLse mxXn2PDauo1QI30FVclAO7RkLgNuUBpKuY2Phr9M66a2/M/xRJjDy3eINUD6x1WuLi znjGB5DCELW7KQNvDX/P0Fi1tWubgX/wXVpGYaZg/z8S6KJURSvE29/HAHQ2i1D9h1 qp7djyr0eawQLGYXQguaVs/iwuTd9OjkZE5P+Htj1GmJSJQuC4XR3Z7ZhbTy0r4eSi JV0S4PNlBR2Wg== From: Esben Haabendal To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Rasmus Villemoes , Claudiu Manoil , "David S. Miller" , Jakub Kicinski Subject: [PATCH 1/6] net: gianfar: Convert to ndo_get_stats64 interface Date: Thu, 17 Jun 2021 11:49:15 +0200 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.1 required=4.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,URIBL_BLOCKED autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on 93bd6fdb21b5 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org No reason to produce the legacy net_device_stats struct, only to have it converted to rtnl_link_stats64. And as a bonus, this allows for improving counter size to 64 bit. Signed-off-by: Esben Haabendal --- drivers/net/ethernet/freescale/gianfar.c | 25 +++++++----------------- 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c index f2945abdb041..a0277fe8cc60 100644 --- a/drivers/net/ethernet/freescale/gianfar.c +++ b/drivers/net/ethernet/freescale/gianfar.c @@ -274,32 +274,21 @@ static void gfar_configure_coalescing_all(struct gfar_private *priv) gfar_configure_coalescing(priv, 0xFF, 0xFF); } -static struct net_device_stats *gfar_get_stats(struct net_device *dev) +static void gfar_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) { struct gfar_private *priv = netdev_priv(dev); - unsigned long rx_packets = 0, rx_bytes = 0, rx_dropped = 0; - unsigned long tx_packets = 0, tx_bytes = 0; int i; for (i = 0; i < priv->num_rx_queues; i++) { - rx_packets += priv->rx_queue[i]->stats.rx_packets; - rx_bytes += priv->rx_queue[i]->stats.rx_bytes; - rx_dropped += priv->rx_queue[i]->stats.rx_dropped; + stats->rx_packets += priv->rx_queue[i]->stats.rx_packets; + stats->rx_bytes += priv->rx_queue[i]->stats.rx_bytes; + stats->rx_dropped += priv->rx_queue[i]->stats.rx_dropped; } - dev->stats.rx_packets = rx_packets; - dev->stats.rx_bytes = rx_bytes; - dev->stats.rx_dropped = rx_dropped; - for (i = 0; i < priv->num_tx_queues; i++) { - tx_bytes += priv->tx_queue[i]->stats.tx_bytes; - tx_packets += priv->tx_queue[i]->stats.tx_packets; + stats->tx_bytes += priv->tx_queue[i]->stats.tx_bytes; + stats->tx_packets += priv->tx_queue[i]->stats.tx_packets; } - - dev->stats.tx_bytes = tx_bytes; - dev->stats.tx_packets = tx_packets; - - return &dev->stats; } /* Set the appropriate hash bit for the given addr */ @@ -3157,7 +3146,7 @@ static const struct net_device_ops gfar_netdev_ops = { .ndo_set_rx_mode = gfar_set_multi, .ndo_tx_timeout = gfar_timeout, .ndo_do_ioctl = gfar_ioctl, - .ndo_get_stats = gfar_get_stats, + .ndo_get_stats64 = gfar_get_stats64, .ndo_change_carrier = fixed_phy_change_carrier, .ndo_set_mac_address = gfar_set_mac_addr, .ndo_validate_addr = eth_validate_addr, -- 2.32.0