]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: hinic: use ethtool_sprintf/puts
authorRosen Penev <rosenp@gmail.com>
Fri, 9 Aug 2024 04:49:51 +0000 (21:49 -0700)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 13 Aug 2024 09:59:37 +0000 (11:59 +0200)
Simpler and avoids manual pointer addition.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://patch.msgid.link/20240809044957.4534-1-rosenp@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/huawei/hinic/hinic_ethtool.c

index 0304f03d40936ca977c9832cd2533fd5b10d16f0..c559dd4291d306802a62a3b83a8d2b2805f4396e 100644 (file)
@@ -1471,7 +1471,6 @@ static void hinic_get_strings(struct net_device *netdev,
                              u32 stringset, u8 *data)
 {
        struct hinic_dev *nic_dev = netdev_priv(netdev);
-       char *p = (char *)data;
        u16 i, j;
 
        switch (stringset) {
@@ -1479,31 +1478,19 @@ static void hinic_get_strings(struct net_device *netdev,
                memcpy(data, *hinic_test_strings, sizeof(hinic_test_strings));
                return;
        case ETH_SS_STATS:
-               for (i = 0; i < ARRAY_SIZE(hinic_function_stats); i++) {
-                       memcpy(p, hinic_function_stats[i].name,
-                              ETH_GSTRING_LEN);
-                       p += ETH_GSTRING_LEN;
-               }
+               for (i = 0; i < ARRAY_SIZE(hinic_function_stats); i++)
+                       ethtool_puts(&data, hinic_function_stats[i].name);
 
-               for (i = 0; i < ARRAY_SIZE(hinic_port_stats); i++) {
-                       memcpy(p, hinic_port_stats[i].name,
-                              ETH_GSTRING_LEN);
-                       p += ETH_GSTRING_LEN;
-               }
+               for (i = 0; i < ARRAY_SIZE(hinic_port_stats); i++)
+                       ethtool_puts(&data, hinic_port_stats[i].name);
 
-               for (i = 0; i < nic_dev->num_qps; i++) {
-                       for (j = 0; j < ARRAY_SIZE(hinic_tx_queue_stats); j++) {
-                               sprintf(p, hinic_tx_queue_stats[j].name, i);
-                               p += ETH_GSTRING_LEN;
-                       }
-               }
+               for (i = 0; i < nic_dev->num_qps; i++)
+                       for (j = 0; j < ARRAY_SIZE(hinic_tx_queue_stats); j++)
+                               ethtool_sprintf(&data, hinic_tx_queue_stats[j].name, i);
 
-               for (i = 0; i < nic_dev->num_qps; i++) {
-                       for (j = 0; j < ARRAY_SIZE(hinic_rx_queue_stats); j++) {
-                               sprintf(p, hinic_rx_queue_stats[j].name, i);
-                               p += ETH_GSTRING_LEN;
-                       }
-               }
+               for (i = 0; i < nic_dev->num_qps; i++)
+                       for (j = 0; j < ARRAY_SIZE(hinic_rx_queue_stats); j++)
+                               ethtool_sprintf(&data, hinic_rx_queue_stats[j].name, i);
 
                return;
        default: