Commit 0f2342c85df4248bc1cd72421b13969a0782ed6a
Committed by
Paul Mackerras
1 parent
79c0108d1b
Exists in
master
and in
7 other branches
[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 |