Commit 48fa55a0 authored by Matt Carlson's avatar Matt Carlson Committed by David S. Miller

tg3: Automatically size stat/test string arrays

This patch reimplements the size preprocessor constants of the stats and
ethtool test string arrays.  The size is calculated at compile time
rather than using static constants.
Signed-off-by: default avatarMatt Carlson <mcarlson@broadcom.com>
Signed-off-by: default avatarBenjamin Li <benli@broadcom.com>
Reviewed-by: default avatarMichael Chan <mchan@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e64de4e6
...@@ -165,11 +165,6 @@ ...@@ -165,11 +165,6 @@
#define TG3_RAW_IP_ALIGN 2 #define TG3_RAW_IP_ALIGN 2
/* number of ETHTOOL_GSTATS u64's */
#define TG3_NUM_STATS (sizeof(struct tg3_ethtool_stats)/sizeof(u64))
#define TG3_NUM_TEST 6
#define TG3_FW_UPDATE_TIMEOUT_SEC 5 #define TG3_FW_UPDATE_TIMEOUT_SEC 5
#define FIRMWARE_TG3 "tigon/tg3.bin" #define FIRMWARE_TG3 "tigon/tg3.bin"
...@@ -279,7 +274,7 @@ MODULE_DEVICE_TABLE(pci, tg3_pci_tbl); ...@@ -279,7 +274,7 @@ MODULE_DEVICE_TABLE(pci, tg3_pci_tbl);
static const struct { static const struct {
const char string[ETH_GSTRING_LEN]; const char string[ETH_GSTRING_LEN];
} ethtool_stats_keys[TG3_NUM_STATS] = { } ethtool_stats_keys[] = {
{ "rx_octets" }, { "rx_octets" },
{ "rx_fragments" }, { "rx_fragments" },
{ "rx_ucast_packets" }, { "rx_ucast_packets" },
...@@ -358,9 +353,12 @@ static const struct { ...@@ -358,9 +353,12 @@ static const struct {
{ "nic_tx_threshold_hit" } { "nic_tx_threshold_hit" }
}; };
#define TG3_NUM_STATS ARRAY_SIZE(ethtool_stats_keys)
static const struct { static const struct {
const char string[ETH_GSTRING_LEN]; const char string[ETH_GSTRING_LEN];
} ethtool_test_keys[TG3_NUM_TEST] = { } ethtool_test_keys[] = {
{ "nvram test (online) " }, { "nvram test (online) " },
{ "link test (online) " }, { "link test (online) " },
{ "register test (offline)" }, { "register test (offline)" },
...@@ -369,6 +367,9 @@ static const struct { ...@@ -369,6 +367,9 @@ static const struct {
{ "interrupt test (offline)" }, { "interrupt test (offline)" },
}; };
#define TG3_NUM_TEST ARRAY_SIZE(ethtool_test_keys)
static void tg3_write32(struct tg3 *tp, u32 off, u32 val) static void tg3_write32(struct tg3 *tp, u32 off, u32 val)
{ {
writel(val, tp->regs + off); writel(val, tp->regs + off);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment