mbox series

[net-next,v2,00/10] ethtool: Factor out common code related to writing ethtool strings

Message ID 161594093708.5644.11391417312031401152.stgit@localhost.localdomain (mailing list archive)
Headers show
Series ethtool: Factor out common code related to writing ethtool strings | expand

Message

Alexander Duyck March 17, 2021, 12:30 a.m. UTC
This patch set is meant to be a cleanup and refactoring of common code bits
from several drivers. Specificlly a number of drivers engage in a pattern
where they will use some variant on an sprintf or memcpy to write a string
into the ethtool string array and then they will increment their pointer by
ETH_GSTRING_LEN.

Instead of having each driver implement this independently I am refactoring
the code so that we have one central function, ethtool_sprintf that does
all this and takes a double pointer to access the data, a formatted string
to print, and the variable arguments that are associated with the string.

Changes from v1:
Fixed usage of char ** vs  unsigned char ** in hisilicon drivers

Changes from RFC:
Renamed ethtool_gsprintf to ethtool_sprintf
Fixed reverse xmas tree issue in patch 2

---

Alexander Duyck (10):
      ethtool: Add common function for filling out strings
      intel: Update drivers to use ethtool_sprintf
      nfp: Replace nfp_pr_et with ethtool_sprintf
      hisilicon: Update drivers to use ethtool_sprintf
      ena: Update driver to use ethtool_sprintf
      netvsc: Update driver to use ethtool_sprintf
      virtio_net: Update driver to use ethtool_sprintf
      vmxnet3: Update driver to use ethtool_sprintf
      bna: Update driver to use ethtool_sprintf
      ionic: Update driver to use ethtool_sprintf


 drivers/net/ethernet/amazon/ena/ena_ethtool.c |  25 +-
 .../net/ethernet/brocade/bna/bnad_ethtool.c   | 266 +++++++-----------
 .../ethernet/hisilicon/hns/hns_dsaf_gmac.c    |   9 +-
 .../net/ethernet/hisilicon/hns/hns_dsaf_ppe.c |  41 +--
 .../net/ethernet/hisilicon/hns/hns_dsaf_rcb.c |  91 +++---
 .../ethernet/hisilicon/hns/hns_dsaf_xgmac.c   |   8 +-
 .../net/ethernet/hisilicon/hns/hns_ethtool.c  | 103 +++----
 .../net/ethernet/intel/i40e/i40e_ethtool.c    |  16 +-
 drivers/net/ethernet/intel/ice/ice_ethtool.c  |  55 ++--
 drivers/net/ethernet/intel/igb/igb_ethtool.c  |  40 +--
 .../net/ethernet/intel/ixgbe/ixgbe_ethtool.c  |  40 +--
 drivers/net/ethernet/netronome/nfp/abm/main.c |   4 +-
 .../ethernet/netronome/nfp/nfp_net_ethtool.c  |  79 +++---
 drivers/net/ethernet/netronome/nfp/nfp_port.h |   2 -
 .../net/ethernet/pensando/ionic/ionic_stats.c | 145 ++++------
 drivers/net/hyperv/netvsc_drv.c               |  33 +--
 drivers/net/virtio_net.c                      |  18 +-
 drivers/net/vmxnet3/vmxnet3_ethtool.c         |  53 ++--
 18 files changed, 389 insertions(+), 639 deletions(-)

--

Comments

Jesse Brandeburg March 17, 2021, 4:41 p.m. UTC | #1
Alexander Duyck wrote:

> This patch set is meant to be a cleanup and refactoring of common code bits
> from several drivers. Specificlly a number of drivers engage in a pattern
> where they will use some variant on an sprintf or memcpy to write a string
> into the ethtool string array and then they will increment their pointer by
> ETH_GSTRING_LEN.
> 
> Instead of having each driver implement this independently I am refactoring
> the code so that we have one central function, ethtool_sprintf that does
> all this and takes a double pointer to access the data, a formatted string
> to print, and the variable arguments that are associated with the string.
> 
> Changes from v1:
> Fixed usage of char ** vs  unsigned char ** in hisilicon drivers
> 
> Changes from RFC:
> Renamed ethtool_gsprintf to ethtool_sprintf
> Fixed reverse xmas tree issue in patch 2
> 

Thanks Alex, I had a look over the whole thing and it looks good to me.

Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
patchwork-bot+netdevbpf@kernel.org March 17, 2021, 6:50 p.m. UTC | #2
Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Tue, 16 Mar 2021 17:30:26 -0700 you wrote:
> This patch set is meant to be a cleanup and refactoring of common code bits
> from several drivers. Specificlly a number of drivers engage in a pattern
> where they will use some variant on an sprintf or memcpy to write a string
> into the ethtool string array and then they will increment their pointer by
> ETH_GSTRING_LEN.
> 
> Instead of having each driver implement this independently I am refactoring
> the code so that we have one central function, ethtool_sprintf that does
> all this and takes a double pointer to access the data, a formatted string
> to print, and the variable arguments that are associated with the string.
> 
> [...]

Here is the summary with links:
  - [net-next,v2,01/10] ethtool: Add common function for filling out strings
    https://git.kernel.org/netdev/net-next/c/7888fe53b706
  - [net-next,v2,02/10] intel: Update drivers to use ethtool_sprintf
    https://git.kernel.org/netdev/net-next/c/c8d4725e985d
  - [net-next,v2,03/10] nfp: Replace nfp_pr_et with ethtool_sprintf
    https://git.kernel.org/netdev/net-next/c/6a143a7cf947
  - [net-next,v2,04/10] hisilicon: Update drivers to use ethtool_sprintf
    https://git.kernel.org/netdev/net-next/c/83cd23974a73
  - [net-next,v2,05/10] ena: Update driver to use ethtool_sprintf
    https://git.kernel.org/netdev/net-next/c/efbbe4fb5976
  - [net-next,v2,06/10] netvsc: Update driver to use ethtool_sprintf
    https://git.kernel.org/netdev/net-next/c/3ae0ed376d1c
  - [net-next,v2,07/10] virtio_net: Update driver to use ethtool_sprintf
    https://git.kernel.org/netdev/net-next/c/d7a9a01b4e21
  - [net-next,v2,08/10] vmxnet3: Update driver to use ethtool_sprintf
    https://git.kernel.org/netdev/net-next/c/3b78b3067f38
  - [net-next,v2,09/10] bna: Update driver to use ethtool_sprintf
    https://git.kernel.org/netdev/net-next/c/b82e8118c540
  - [net-next,v2,10/10] ionic: Update driver to use ethtool_sprintf
    https://git.kernel.org/netdev/net-next/c/acebe5b6107c

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html