Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: fjes: use ethtool string helpers

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>
Link: https://patch.msgid.link/20241029232721.8442-1-rosenp@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Rosen Penev and committed by
Jakub Kicinski
dbb9a7ef bc74d329

+23 -41
+23 -41
drivers/net/fjes/fjes_ethtool.c
··· 87 87 { 88 88 struct fjes_adapter *adapter = netdev_priv(netdev); 89 89 struct fjes_hw *hw = &adapter->hw; 90 - u8 *p = data; 91 90 int i; 92 91 93 - switch (stringset) { 94 - case ETH_SS_STATS: 95 - for (i = 0; i < ARRAY_SIZE(fjes_gstrings_stats); i++) { 96 - memcpy(p, fjes_gstrings_stats[i].stat_string, 97 - ETH_GSTRING_LEN); 98 - p += ETH_GSTRING_LEN; 99 - } 100 - for (i = 0; i < hw->max_epid; i++) { 101 - if (i == hw->my_epid) 102 - continue; 103 - sprintf(p, "ep%u_com_regist_buf_exec", i); 104 - p += ETH_GSTRING_LEN; 105 - sprintf(p, "ep%u_com_unregist_buf_exec", i); 106 - p += ETH_GSTRING_LEN; 107 - sprintf(p, "ep%u_send_intr_rx", i); 108 - p += ETH_GSTRING_LEN; 109 - sprintf(p, "ep%u_send_intr_unshare", i); 110 - p += ETH_GSTRING_LEN; 111 - sprintf(p, "ep%u_send_intr_zoneupdate", i); 112 - p += ETH_GSTRING_LEN; 113 - sprintf(p, "ep%u_recv_intr_rx", i); 114 - p += ETH_GSTRING_LEN; 115 - sprintf(p, "ep%u_recv_intr_unshare", i); 116 - p += ETH_GSTRING_LEN; 117 - sprintf(p, "ep%u_recv_intr_stop", i); 118 - p += ETH_GSTRING_LEN; 119 - sprintf(p, "ep%u_recv_intr_zoneupdate", i); 120 - p += ETH_GSTRING_LEN; 121 - sprintf(p, "ep%u_tx_buffer_full", i); 122 - p += ETH_GSTRING_LEN; 123 - sprintf(p, "ep%u_tx_dropped_not_shared", i); 124 - p += ETH_GSTRING_LEN; 125 - sprintf(p, "ep%u_tx_dropped_ver_mismatch", i); 126 - p += ETH_GSTRING_LEN; 127 - sprintf(p, "ep%u_tx_dropped_buf_size_mismatch", i); 128 - p += ETH_GSTRING_LEN; 129 - sprintf(p, "ep%u_tx_dropped_vlanid_mismatch", i); 130 - p += ETH_GSTRING_LEN; 131 - } 132 - break; 92 + if (stringset != ETH_SS_STATS) 93 + return; 94 + 95 + for (i = 0; i < ARRAY_SIZE(fjes_gstrings_stats); i++) 96 + ethtool_puts(&data, fjes_gstrings_stats[i].stat_string); 97 + 98 + for (i = 0; i < hw->max_epid; i++) { 99 + if (i == hw->my_epid) 100 + continue; 101 + ethtool_sprintf(&data, "ep%u_com_regist_buf_exec", i); 102 + ethtool_sprintf(&data, "ep%u_com_unregist_buf_exec", i); 103 + ethtool_sprintf(&data, "ep%u_send_intr_rx", i); 104 + ethtool_sprintf(&data, "ep%u_send_intr_unshare", i); 105 + ethtool_sprintf(&data, "ep%u_send_intr_zoneupdate", i); 106 + ethtool_sprintf(&data, "ep%u_recv_intr_rx", i); 107 + ethtool_sprintf(&data, "ep%u_recv_intr_unshare", i); 108 + ethtool_sprintf(&data, "ep%u_recv_intr_stop", i); 109 + ethtool_sprintf(&data, "ep%u_recv_intr_zoneupdate", i); 110 + ethtool_sprintf(&data, "ep%u_tx_buffer_full", i); 111 + ethtool_sprintf(&data, "ep%u_tx_dropped_not_shared", i); 112 + ethtool_sprintf(&data, "ep%u_tx_dropped_ver_mismatch", i); 113 + ethtool_sprintf(&data, "ep%u_tx_dropped_buf_size_mismatch", i); 114 + ethtool_sprintf(&data, "ep%u_tx_dropped_vlanid_mismatch", i); 133 115 } 134 116 } 135 117