Commit a59571ad authored by Nelson Escobar's avatar Nelson Escobar Committed by Jakub Kicinski
Browse files

enic: Use macro instead of static const variables for array sizes



In enic_ethtool.c there is no need to use static const variables to store
array sizes when a macro can be used instead.

Signed-off-by: default avatarNelson Escobar <neescoba@cisco.com>
Signed-off-by: default avatarJohn Daley <johndale@cisco.com>
Signed-off-by: default avatarSatish Kharat <satishkh@cisco.com>
Link: https://patch.msgid.link/20240912005039.10797-2-neescoba@cisco.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 7bb50f30
Loading
Loading
Loading
Loading
+13 −10
Original line number Diff line number Diff line
@@ -46,6 +46,8 @@ static const struct enic_stat enic_tx_stats[] = {
	ENIC_TX_STAT(tx_tso),
};

#define NUM_ENIC_TX_STATS	ARRAY_SIZE(enic_tx_stats)

static const struct enic_stat enic_rx_stats[] = {
	ENIC_RX_STAT(rx_frames_ok),
	ENIC_RX_STAT(rx_frames_total),
@@ -70,13 +72,13 @@ static const struct enic_stat enic_rx_stats[] = {
	ENIC_RX_STAT(rx_frames_to_max),
};

#define NUM_ENIC_RX_STATS	ARRAY_SIZE(enic_rx_stats)

static const struct enic_stat enic_gen_stats[] = {
	ENIC_GEN_STAT(dma_map_error),
};

static const unsigned int enic_n_tx_stats = ARRAY_SIZE(enic_tx_stats);
static const unsigned int enic_n_rx_stats = ARRAY_SIZE(enic_rx_stats);
static const unsigned int enic_n_gen_stats = ARRAY_SIZE(enic_gen_stats);
#define NUM_ENIC_GEN_STATS	ARRAY_SIZE(enic_gen_stats)

static void enic_intr_coal_set_rx(struct enic *enic, u32 timer)
{
@@ -145,15 +147,15 @@ static void enic_get_strings(struct net_device *netdev, u32 stringset,

	switch (stringset) {
	case ETH_SS_STATS:
		for (i = 0; i < enic_n_tx_stats; i++) {
		for (i = 0; i < NUM_ENIC_TX_STATS; i++) {
			memcpy(data, enic_tx_stats[i].name, ETH_GSTRING_LEN);
			data += ETH_GSTRING_LEN;
		}
		for (i = 0; i < enic_n_rx_stats; i++) {
		for (i = 0; i < NUM_ENIC_RX_STATS; i++) {
			memcpy(data, enic_rx_stats[i].name, ETH_GSTRING_LEN);
			data += ETH_GSTRING_LEN;
		}
		for (i = 0; i < enic_n_gen_stats; i++) {
		for (i = 0; i < NUM_ENIC_GEN_STATS; i++) {
			memcpy(data, enic_gen_stats[i].name, ETH_GSTRING_LEN);
			data += ETH_GSTRING_LEN;
		}
@@ -244,7 +246,8 @@ static int enic_get_sset_count(struct net_device *netdev, int sset)
{
	switch (sset) {
	case ETH_SS_STATS:
		return enic_n_tx_stats + enic_n_rx_stats + enic_n_gen_stats;
		return NUM_ENIC_TX_STATS + NUM_ENIC_RX_STATS +
			NUM_ENIC_GEN_STATS;
	default:
		return -EOPNOTSUPP;
	}
@@ -266,11 +269,11 @@ static void enic_get_ethtool_stats(struct net_device *netdev,
	if (err == -ENOMEM)
		return;

	for (i = 0; i < enic_n_tx_stats; i++)
	for (i = 0; i < NUM_ENIC_TX_STATS; i++)
		*(data++) = ((u64 *)&vstats->tx)[enic_tx_stats[i].index];
	for (i = 0; i < enic_n_rx_stats; i++)
	for (i = 0; i < NUM_ENIC_RX_STATS; i++)
		*(data++) = ((u64 *)&vstats->rx)[enic_rx_stats[i].index];
	for (i = 0; i < enic_n_gen_stats; i++)
	for (i = 0; i < NUM_ENIC_GEN_STATS; i++)
		*(data++) = ((u64 *)&enic->gen_stats)[enic_gen_stats[i].index];
}