netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next] net: fjes: use ethtool string helpers
@ 2024-10-22 20:54 Rosen Penev
  2024-10-24 11:03 ` Simon Horman
  2024-10-29 22:55 ` Jakub Kicinski
  0 siblings, 2 replies; 3+ messages in thread
From: Rosen Penev @ 2024-10-22 20:54 UTC (permalink / raw)
  To: netdev
  Cc: Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Rosen Penev, open list

The latter is the preferred way to copy ethtool strings.

Avoids manually incrementing the pointer.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 drivers/net/fjes/fjes_ethtool.c | 50 +++++++++++----------------------
 1 file changed, 17 insertions(+), 33 deletions(-)

diff --git a/drivers/net/fjes/fjes_ethtool.c b/drivers/net/fjes/fjes_ethtool.c
index 19c99529566b..1dc7754e0f1f 100644
--- a/drivers/net/fjes/fjes_ethtool.c
+++ b/drivers/net/fjes/fjes_ethtool.c
@@ -92,42 +92,26 @@ static void fjes_get_strings(struct net_device *netdev,
 
 	switch (stringset) {
 	case ETH_SS_STATS:
-		for (i = 0; i < ARRAY_SIZE(fjes_gstrings_stats); i++) {
-			memcpy(p, fjes_gstrings_stats[i].stat_string,
-			       ETH_GSTRING_LEN);
-			p += ETH_GSTRING_LEN;
-		}
+		for (i = 0; i < ARRAY_SIZE(fjes_gstrings_stats); i++)
+			ethtool_puts(&p, fjes_gstrings_stats[i].stat_string);
+
 		for (i = 0; i < hw->max_epid; i++) {
 			if (i == hw->my_epid)
 				continue;
-			sprintf(p, "ep%u_com_regist_buf_exec", i);
-			p += ETH_GSTRING_LEN;
-			sprintf(p, "ep%u_com_unregist_buf_exec", i);
-			p += ETH_GSTRING_LEN;
-			sprintf(p, "ep%u_send_intr_rx", i);
-			p += ETH_GSTRING_LEN;
-			sprintf(p, "ep%u_send_intr_unshare", i);
-			p += ETH_GSTRING_LEN;
-			sprintf(p, "ep%u_send_intr_zoneupdate", i);
-			p += ETH_GSTRING_LEN;
-			sprintf(p, "ep%u_recv_intr_rx", i);
-			p += ETH_GSTRING_LEN;
-			sprintf(p, "ep%u_recv_intr_unshare", i);
-			p += ETH_GSTRING_LEN;
-			sprintf(p, "ep%u_recv_intr_stop", i);
-			p += ETH_GSTRING_LEN;
-			sprintf(p, "ep%u_recv_intr_zoneupdate", i);
-			p += ETH_GSTRING_LEN;
-			sprintf(p, "ep%u_tx_buffer_full", i);
-			p += ETH_GSTRING_LEN;
-			sprintf(p, "ep%u_tx_dropped_not_shared", i);
-			p += ETH_GSTRING_LEN;
-			sprintf(p, "ep%u_tx_dropped_ver_mismatch", i);
-			p += ETH_GSTRING_LEN;
-			sprintf(p, "ep%u_tx_dropped_buf_size_mismatch", i);
-			p += ETH_GSTRING_LEN;
-			sprintf(p, "ep%u_tx_dropped_vlanid_mismatch", i);
-			p += ETH_GSTRING_LEN;
+			ethtool_sprintf(&p, "ep%u_com_regist_buf_exec", i);
+			ethtool_sprintf(&p, "ep%u_com_unregist_buf_exec", i);
+			ethtool_sprintf(&p, "ep%u_send_intr_rx", i);
+			ethtool_sprintf(&p, "ep%u_send_intr_unshare", i);
+			ethtool_sprintf(&p, "ep%u_send_intr_zoneupdate", i);
+			ethtool_sprintf(&p, "ep%u_recv_intr_rx", i);
+			ethtool_sprintf(&p, "ep%u_recv_intr_unshare", i);
+			ethtool_sprintf(&p, "ep%u_recv_intr_stop", i);
+			ethtool_sprintf(&p, "ep%u_recv_intr_zoneupdate", i);
+			ethtool_sprintf(&p, "ep%u_tx_buffer_full", i);
+			ethtool_sprintf(&p, "ep%u_tx_dropped_not_shared", i);
+			ethtool_sprintf(&p, "ep%u_tx_dropped_ver_mismatch", i);
+			ethtool_sprintf(&p, "ep%u_tx_dropped_buf_size_mismatch", i);
+			ethtool_sprintf(&p, "ep%u_tx_dropped_vlanid_mismatch", i);
 		}
 		break;
 	}
-- 
2.47.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH net-next] net: fjes: use ethtool string helpers
  2024-10-22 20:54 [PATCH net-next] net: fjes: use ethtool string helpers Rosen Penev
@ 2024-10-24 11:03 ` Simon Horman
  2024-10-29 22:55 ` Jakub Kicinski
  1 sibling, 0 replies; 3+ messages in thread
From: Simon Horman @ 2024-10-24 11:03 UTC (permalink / raw)
  To: Rosen Penev
  Cc: netdev, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, open list

On Tue, Oct 22, 2024 at 01:54:31PM -0700, Rosen Penev wrote:
> The latter is the preferred way to copy ethtool strings.
> 
> Avoids manually incrementing the pointer.
> 
> Signed-off-by: Rosen Penev <rosenp@gmail.com>

Reviewed-by: Simon Horman <horms@kernel.org>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH net-next] net: fjes: use ethtool string helpers
  2024-10-22 20:54 [PATCH net-next] net: fjes: use ethtool string helpers Rosen Penev
  2024-10-24 11:03 ` Simon Horman
@ 2024-10-29 22:55 ` Jakub Kicinski
  1 sibling, 0 replies; 3+ messages in thread
From: Jakub Kicinski @ 2024-10-29 22:55 UTC (permalink / raw)
  To: Rosen Penev
  Cc: netdev, Andrew Lunn, David S. Miller, Eric Dumazet, Paolo Abeni,
	open list

On Tue, 22 Oct 2024 13:54:31 -0700 Rosen Penev wrote:
> -		for (i = 0; i < ARRAY_SIZE(fjes_gstrings_stats); i++) {
> -			memcpy(p, fjes_gstrings_stats[i].stat_string,
> -			       ETH_GSTRING_LEN);
> -			p += ETH_GSTRING_LEN;
> -		}
> +		for (i = 0; i < ARRAY_SIZE(fjes_gstrings_stats); i++)
> +			ethtool_puts(&p, fjes_gstrings_stats[i].stat_string);
> +
>  		for (i = 0; i < hw->max_epid; i++) {
>  			if (i == hw->my_epid)
>  				continue;
> -			sprintf(p, "ep%u_com_regist_buf_exec", i);
> -			p += ETH_GSTRING_LEN;

In some of the other patches you deleted the local variable called p
and operate on data directly. I think that's better. Plus you can
remove the indentation here and exit early if stringset != ETH_SS_STATS
-- 
pw-bot: cr

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-10-29 22:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-22 20:54 [PATCH net-next] net: fjes: use ethtool string helpers Rosen Penev
2024-10-24 11:03 ` Simon Horman
2024-10-29 22:55 ` Jakub Kicinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).