[PATCH net-next] net: octeon_ep_vf: use ethtool_sprintf/puts
From: Rosen Penev
Date: Fri Aug 09 2024 - 00:47:48 EST
Simplifies the function and avoids manual pointer manipulation.
Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx>
---
.../marvell/octeon_ep_vf/octep_vf_ethtool.c | 36 ++++++++-----------
1 file changed, 14 insertions(+), 22 deletions(-)
diff --git a/drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_ethtool.c b/drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_ethtool.c
index a1979b45e355..c7622159d195 100644
--- a/drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_ethtool.c
+++ b/drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_ethtool.c
@@ -58,32 +58,24 @@ static void octep_vf_get_strings(struct net_device *netdev,
{
struct octep_vf_device *oct = netdev_priv(netdev);
u16 num_queues = CFG_GET_PORTS_ACTIVE_IO_RINGS(oct->conf);
- char *strings = (char *)data;
int i, j;
switch (stringset) {
case ETH_SS_STATS:
- for (i = 0; i < OCTEP_VF_GLOBAL_STATS_CNT; i++) {
- snprintf(strings, ETH_GSTRING_LEN,
- octep_vf_gstrings_global_stats[i]);
- strings += ETH_GSTRING_LEN;
- }
-
- for (i = 0; i < num_queues; i++) {
- for (j = 0; j < OCTEP_VF_TX_Q_STATS_CNT; j++) {
- snprintf(strings, ETH_GSTRING_LEN,
- octep_vf_gstrings_tx_q_stats[j], i);
- strings += ETH_GSTRING_LEN;
- }
- }
-
- for (i = 0; i < num_queues; i++) {
- for (j = 0; j < OCTEP_VF_RX_Q_STATS_CNT; j++) {
- snprintf(strings, ETH_GSTRING_LEN,
- octep_vf_gstrings_rx_q_stats[j], i);
- strings += ETH_GSTRING_LEN;
- }
- }
+ for (i = 0; i < OCTEP_VF_GLOBAL_STATS_CNT; i++)
+ ethtool_puts(&data, octep_vf_gstrings_global_stats[i]);
+
+ for (i = 0; i < num_queues; i++)
+ for (j = 0; j < OCTEP_VF_TX_Q_STATS_CNT; j++)
+ ethtool_sprintf(&data,
+ octep_vf_gstrings_tx_q_stats[j],
+ i);
+
+ for (i = 0; i < num_queues; i++)
+ for (j = 0; j < OCTEP_VF_RX_Q_STATS_CNT; j++)
+ ethtool_sprintf(&data,
+ octep_vf_gstrings_rx_q_stats[j],
+ i);
break;
default:
break;
--
2.46.0