Commit 0f2342c85df4248bc1cd72421b13969a0782ed6a

Authored by Linas Vepstas
Committed by Paul Mackerras
1 parent 79c0108d1b

[POWERPC] pseries: Eliminate global error_log_cnt variable

Eliminate the use of error_log_cnt as a global var shared across
different directories.  Pass it as a parameter instead.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>

----

Respin of earlier patch, with the CONFIG_PSERIES junk removed from the
header file.

 arch/powerpc/kernel/nvram_64.c         |   10 +++++-----
 arch/powerpc/platforms/pseries/rtasd.c |    7 ++++---
 include/asm-powerpc/nvram.h            |    6 ++++--
 3 files changed, 13 insertions(+), 10 deletions(-)
Signed-off-by: Paul Mackerras <paulus@samba.org>

Showing 3 changed files with 13 additions and 10 deletions Side-by-side Diff

arch/powerpc/kernel/nvram_64.c
... ... @@ -38,8 +38,6 @@
38 38 static long nvram_error_log_index = -1;
39 39 static long nvram_error_log_size = 0;
40 40  
41   -extern volatile int error_log_cnt;
42   -
43 41 struct err_log_info {
44 42 int error_type;
45 43 unsigned int seq_num;
... ... @@ -627,7 +625,8 @@
627 625 * sequence #: The unique sequence # for each event. (until it wraps)
628 626 * error log: The error log from event_scan
629 627 */
630   -int nvram_write_error_log(char * buff, int length, unsigned int err_type)
  628 +int nvram_write_error_log(char * buff, int length,
  629 + unsigned int err_type, unsigned int error_log_cnt)
631 630 {
632 631 int rc;
633 632 loff_t tmp_index;
... ... @@ -665,7 +664,8 @@
665 664 *
666 665 * Reads nvram for error log for at most 'length'
667 666 */
668   -int nvram_read_error_log(char * buff, int length, unsigned int * err_type)
  667 +int nvram_read_error_log(char * buff, int length,
  668 + unsigned int * err_type, unsigned int * error_log_cnt)
669 669 {
670 670 int rc;
671 671 loff_t tmp_index;
... ... @@ -691,7 +691,7 @@
691 691 return rc;
692 692 }
693 693  
694   - error_log_cnt = info.seq_num;
  694 + *error_log_cnt = info.seq_num;
695 695 *err_type = info.error_type;
696 696  
697 697 return 0;
arch/powerpc/platforms/pseries/rtasd.c
... ... @@ -56,7 +56,7 @@
56 56 /* Stop logging to nvram after first fatal error */
57 57 static int no_more_logging;
58 58  
59   -volatile int error_log_cnt = 0;
  59 +static int error_log_cnt;
60 60  
61 61 /*
62 62 * Since we use 32 bit RTAS, the physical address of this must be below
... ... @@ -218,7 +218,7 @@
218 218  
219 219 /* Write error to NVRAM */
220 220 if (!no_more_logging && !(err_type & ERR_FLAG_BOOT))
221   - nvram_write_error_log(buf, len, err_type);
  221 + nvram_write_error_log(buf, len, err_type, error_log_cnt);
222 222  
223 223 /*
224 224 * rtas errors can occur during boot, and we do want to capture
... ... @@ -412,7 +412,8 @@
412 412  
413 413 /* See if we have any error stored in NVRAM */
414 414 memset(logdata, 0, rtas_error_log_max);
415   - rc = nvram_read_error_log(logdata, rtas_error_log_max, &err_type);
  415 + rc = nvram_read_error_log(logdata, rtas_error_log_max,
  416 + &err_type, &error_log_cnt);
416 417  
417 418 if (!rc) {
418 419 if (err_type != ERR_FLAG_ALREADY_LOGGED) {
include/asm-powerpc/nvram.h
... ... @@ -63,8 +63,10 @@
63 63 };
64 64  
65 65  
66   -extern int nvram_write_error_log(char * buff, int length, unsigned int err_type);
67   -extern int nvram_read_error_log(char * buff, int length, unsigned int * err_type);
  66 +extern int nvram_write_error_log(char * buff, int length,
  67 + unsigned int err_type, unsigned int err_seq);
  68 +extern int nvram_read_error_log(char * buff, int length,
  69 + unsigned int * err_type, unsigned int *err_seq);
68 70 extern int nvram_clear_error_log(void);
69 71 extern struct nvram_partition *nvram_find_partition(int sig, const char *name);
70 72