From: Corey Minyard Convert the #defines for statistics into an enum in the IPMI system interface and remove the unused timeout_restart statistic. And comment what these statistics mean. Signed-off-by: Corey Minyard Cc: Peter Zijlstra Signed-off-by: Andrew Morton --- drivers/char/ipmi/ipmi_si_intf.c | 58 +++++++++++++++++++++-------- 1 file changed, 42 insertions(+), 16 deletions(-) diff -puN drivers/char/ipmi/ipmi_si_intf.c~ipmi-convert-locked-counters-to-atomics-in-the-system-interface-convert-system-interface-defines-to-an-enum drivers/char/ipmi/ipmi_si_intf.c --- a/drivers/char/ipmi/ipmi_si_intf.c~ipmi-convert-locked-counters-to-atomics-in-the-system-interface-convert-system-interface-defines-to-an-enum +++ a/drivers/char/ipmi/ipmi_si_intf.c @@ -124,22 +124,50 @@ static struct device_driver ipmi_driver /* * Indexes into stats[] in smi_info below. */ +enum si_stat_indexes { + /* + * Number of times the driver requested a timer while an operation + * was in progress. + */ + SI_STAT_short_timeouts = 0, + + /* + * Number of times the driver requested a timer while nothing was in + * progress. + */ + SI_STAT_long_timeouts, + + /* Number of times the interface was idle while being polled. */ + SI_STAT_idles, + + /* Number of interrupts the driver handled. */ + SI_STAT_interrupts, + + /* Number of time the driver got an ATTN from the hardware. */ + SI_STAT_attentions, -#define SI_STAT_short_timeouts 0 -#define SI_STAT_long_timeouts 1 -#define SI_STAT_timeout_restarts 2 -#define SI_STAT_idles 3 -#define SI_STAT_interrupts 4 -#define SI_STAT_attentions 5 -#define SI_STAT_flag_fetches 6 -#define SI_STAT_hosed_count 7 -#define SI_STAT_complete_transactions 8 -#define SI_STAT_events 9 -#define SI_STAT_watchdog_pretimeouts 10 -#define SI_STAT_incoming_messages 11 + /* Number of times the driver requested flags from the hardware. */ + SI_STAT_flag_fetches, -/* If you add a stat, you must update this value. */ -#define SI_NUM_STATS 12 + /* Number of times the hardware didn't follow the state machine. */ + SI_STAT_hosed_count, + + /* Number of completed messages. */ + SI_STAT_complete_transactions, + + /* Number of IPMI events received from the hardware. */ + SI_STAT_events, + + /* Number of watchdog pretimeouts. */ + SI_STAT_watchdog_pretimeouts, + + /* Number of asyncronous messages received. */ + SI_STAT_incoming_messages, + + + /* This *must* remain last, add new values above this. */ + SI_NUM_STATS +}; struct smi_info { @@ -2399,8 +2427,6 @@ static int stat_file_read_proc(char *pag smi_get_stat(smi, short_timeouts)); out += sprintf(out, "long_timeouts: %u\n", smi_get_stat(smi, long_timeouts)); - out += sprintf(out, "timeout_restarts: %u\n", - smi_get_stat(smi, timeout_restarts)); out += sprintf(out, "idles: %u\n", smi_get_stat(smi, idles)); out += sprintf(out, "interrupts: %u\n", _