return nfp_net_set_ring_size(nn, rxd_cnt, txd_cnt);
 }
 
-__printf(2, 3) u8 *nfp_pr_et(u8 *data, const char *fmt, ...)
-{
-       va_list args;
-
-       va_start(args, fmt);
-       vsnprintf(data, ETH_GSTRING_LEN, fmt, args);
-       va_end(args);
-
-       return data + ETH_GSTRING_LEN;
-}
-
 static unsigned int nfp_vnic_get_sw_stats_count(struct net_device *netdev)
 {
        struct nfp_net *nn = netdev_priv(netdev);
        int i;
 
        for (i = 0; i < nn->max_r_vecs; i++) {
-               data = nfp_pr_et(data, "rvec_%u_rx_pkts", i);
-               data = nfp_pr_et(data, "rvec_%u_tx_pkts", i);
-               data = nfp_pr_et(data, "rvec_%u_tx_busy", i);
+               ethtool_sprintf(&data, "rvec_%u_rx_pkts", i);
+               ethtool_sprintf(&data, "rvec_%u_tx_pkts", i);
+               ethtool_sprintf(&data, "rvec_%u_tx_busy", i);
        }
 
-       data = nfp_pr_et(data, "hw_rx_csum_ok");
-       data = nfp_pr_et(data, "hw_rx_csum_inner_ok");
-       data = nfp_pr_et(data, "hw_rx_csum_complete");
-       data = nfp_pr_et(data, "hw_rx_csum_err");
-       data = nfp_pr_et(data, "rx_replace_buf_alloc_fail");
-       data = nfp_pr_et(data, "rx_tls_decrypted_packets");
-       data = nfp_pr_et(data, "hw_tx_csum");
-       data = nfp_pr_et(data, "hw_tx_inner_csum");
-       data = nfp_pr_et(data, "tx_gather");
-       data = nfp_pr_et(data, "tx_lso");
-       data = nfp_pr_et(data, "tx_tls_encrypted_packets");
-       data = nfp_pr_et(data, "tx_tls_ooo");
-       data = nfp_pr_et(data, "tx_tls_drop_no_sync_data");
-
-       data = nfp_pr_et(data, "hw_tls_no_space");
-       data = nfp_pr_et(data, "rx_tls_resync_req_ok");
-       data = nfp_pr_et(data, "rx_tls_resync_req_ign");
-       data = nfp_pr_et(data, "rx_tls_resync_sent");
+       ethtool_sprintf(&data, "hw_rx_csum_ok");
+       ethtool_sprintf(&data, "hw_rx_csum_inner_ok");
+       ethtool_sprintf(&data, "hw_rx_csum_complete");
+       ethtool_sprintf(&data, "hw_rx_csum_err");
+       ethtool_sprintf(&data, "rx_replace_buf_alloc_fail");
+       ethtool_sprintf(&data, "rx_tls_decrypted_packets");
+       ethtool_sprintf(&data, "hw_tx_csum");
+       ethtool_sprintf(&data, "hw_tx_inner_csum");
+       ethtool_sprintf(&data, "tx_gather");
+       ethtool_sprintf(&data, "tx_lso");
+       ethtool_sprintf(&data, "tx_tls_encrypted_packets");
+       ethtool_sprintf(&data, "tx_tls_ooo");
+       ethtool_sprintf(&data, "tx_tls_drop_no_sync_data");
+
+       ethtool_sprintf(&data, "hw_tls_no_space");
+       ethtool_sprintf(&data, "rx_tls_resync_req_ok");
+       ethtool_sprintf(&data, "rx_tls_resync_req_ign");
+       ethtool_sprintf(&data, "rx_tls_resync_sent");
 
        return data;
 }
        swap_off = repr * NN_ET_SWITCH_STATS_LEN;
 
        for (i = 0; i < NN_ET_SWITCH_STATS_LEN; i++)
-               data = nfp_pr_et(data, nfp_net_et_stats[i + swap_off].name);
+               ethtool_sprintf(&data, nfp_net_et_stats[i + swap_off].name);
 
        for (i = NN_ET_SWITCH_STATS_LEN; i < NN_ET_SWITCH_STATS_LEN * 2; i++)
-               data = nfp_pr_et(data, nfp_net_et_stats[i - swap_off].name);
+               ethtool_sprintf(&data, nfp_net_et_stats[i - swap_off].name);
 
        for (i = NN_ET_SWITCH_STATS_LEN * 2; i < NN_ET_GLOBAL_STATS_LEN; i++)
-               data = nfp_pr_et(data, nfp_net_et_stats[i].name);
+               ethtool_sprintf(&data, nfp_net_et_stats[i].name);
 
        for (i = 0; i < num_vecs; i++) {
-               data = nfp_pr_et(data, "rxq_%u_pkts", i);
-               data = nfp_pr_et(data, "rxq_%u_bytes", i);
-               data = nfp_pr_et(data, "txq_%u_pkts", i);
-               data = nfp_pr_et(data, "txq_%u_bytes", i);
+               ethtool_sprintf(&data, "rxq_%u_pkts", i);
+               ethtool_sprintf(&data, "rxq_%u_bytes", i);
+               ethtool_sprintf(&data, "txq_%u_pkts", i);
+               ethtool_sprintf(&data, "txq_%u_bytes", i);
        }
 
        return data;
                        memcpy(data, nfp_tlv_stat_names[id], ETH_GSTRING_LEN);
                        data += ETH_GSTRING_LEN;
                } else {
-                       data = nfp_pr_et(data, "dev_unknown_stat%u", id);
+                       ethtool_sprintf(&data, "dev_unknown_stat%u", id);
                }
        }
 
        for (i = 0; i < nn->max_r_vecs; i++) {
-               data = nfp_pr_et(data, "rxq_%u_pkts", i);
-               data = nfp_pr_et(data, "rxq_%u_bytes", i);
-               data = nfp_pr_et(data, "txq_%u_pkts", i);
-               data = nfp_pr_et(data, "txq_%u_bytes", i);
+               ethtool_sprintf(&data, "rxq_%u_pkts", i);
+               ethtool_sprintf(&data, "rxq_%u_bytes", i);
+               ethtool_sprintf(&data, "txq_%u_pkts", i);
+               ethtool_sprintf(&data, "txq_%u_bytes", i);
        }
 
        return data;
                return data;
 
        for (i = 0; i < ARRAY_SIZE(nfp_mac_et_stats); i++)
-               data = nfp_pr_et(data, "mac.%s", nfp_mac_et_stats[i].name);
+               ethtool_sprintf(&data, "mac.%s", nfp_mac_et_stats[i].name);
 
        return data;
 }