Skip to content

Commit

Permalink
edac: remove arch-specific parameter for the error handler
Browse files Browse the repository at this point in the history
Remove the arch-dependent parameter, as it were not used,
as the MCE tracepoint weren't implemented. It probably doesn't
make sense to have an MCE-specific tracepoint, as this will
cost more bytes at the tracepoint, and tracepoint is not free.

The changes at the EDAC drivers were done by this small perl script:

	$file .=$_ while (<>);
	$file =~ s/(edac_mc_handle_error)\s*\(([^\;]+)\,([^\,\)]+)\s*\)/$1($2)/g;
	print $file;

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Mauro Carvalho Chehab committed Jun 11, 2012
1 parent 075f309 commit 03f7eae
Show file tree
Hide file tree
Showing 28 changed files with 73 additions and 86 deletions.
30 changes: 11 additions & 19 deletions drivers/edac/amd64_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -1050,8 +1050,7 @@ static void k8_map_sysaddr_to_csrow(struct mem_ctl_info *mci, u64 sys_addr,
page, offset, syndrome,
-1, -1, -1,
"failed to map error addr to a node",
"",
NULL);
"");
return;
}

Expand All @@ -1062,8 +1061,7 @@ static void k8_map_sysaddr_to_csrow(struct mem_ctl_info *mci, u64 sys_addr,
page, offset, syndrome,
-1, -1, -1,
"failed to map error addr to a csrow",
"",
NULL);
"");
return;
}

Expand All @@ -1083,8 +1081,7 @@ static void k8_map_sysaddr_to_csrow(struct mem_ctl_info *mci, u64 sys_addr,
page, offset, syndrome,
csrow, -1, -1,
"unknown syndrome - possible error reporting race",
"",
NULL);
"");
return;
}
} else {
Expand All @@ -1102,7 +1099,7 @@ static void k8_map_sysaddr_to_csrow(struct mem_ctl_info *mci, u64 sys_addr,
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, src_mci,
page, offset, syndrome,
csrow, channel, -1,
"", "", NULL);
"", "");
}

static int ddr2_cs_size(unsigned i, bool dct_width)
Expand Down Expand Up @@ -1615,8 +1612,7 @@ static void f1x_map_sysaddr_to_csrow(struct mem_ctl_info *mci, u64 sys_addr,
page, offset, syndrome,
-1, -1, -1,
"failed to map error addr to a csrow",
"",
NULL);
"");
return;
}

Expand All @@ -1631,7 +1627,7 @@ static void f1x_map_sysaddr_to_csrow(struct mem_ctl_info *mci, u64 sys_addr,
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
page, offset, syndrome,
csrow, chan, -1,
"", "", NULL);
"", "");
}

/*
Expand Down Expand Up @@ -1917,8 +1913,7 @@ static void amd64_handle_ce(struct mem_ctl_info *mci, struct mce *m)
0, 0, 0,
-1, -1, -1,
"HW has no ERROR_ADDRESS available",
"",
NULL);
"");
return;
}

Expand Down Expand Up @@ -1946,8 +1941,7 @@ static void amd64_handle_ue(struct mem_ctl_info *mci, struct mce *m)
0, 0, 0,
-1, -1, -1,
"HW has no ERROR_ADDRESS available",
"",
NULL);
"");
return;
}

Expand All @@ -1966,8 +1960,7 @@ static void amd64_handle_ue(struct mem_ctl_info *mci, struct mce *m)
page, offset, 0,
-1, -1, -1,
"ERROR ADDRESS NOT mapped to a MC",
"",
NULL);
"");
return;
}

Expand All @@ -1981,13 +1974,12 @@ static void amd64_handle_ue(struct mem_ctl_info *mci, struct mce *m)
page, offset, 0,
-1, -1, -1,
"ERROR ADDRESS NOT mapped to CS",
"",
NULL);
"");
} else {
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci,
page, offset, 0,
csrow, -1, -1,
"", "", NULL);
"", "");
}
}

Expand Down
4 changes: 2 additions & 2 deletions drivers/edac/amd76x_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ static int amd76x_process_error_info(struct mem_ctl_info *mci,
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci,
mci->csrows[row]->first_page, 0, 0,
row, 0, -1,
mci->ctl_name, "", NULL);
mci->ctl_name, "");
}
}

Expand All @@ -163,7 +163,7 @@ static int amd76x_process_error_info(struct mem_ctl_info *mci,
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
mci->csrows[row]->first_page, 0, 0,
row, 0, -1,
mci->ctl_name, "", NULL);
mci->ctl_name, "");
}
}

Expand Down
4 changes: 2 additions & 2 deletions drivers/edac/cell_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ static void cell_edac_count_ce(struct mem_ctl_info *mci, int chan, u64 ar)
/* TODO: Decoding of the error address */
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
csrow->first_page + pfn, offset, syndrome,
0, chan, -1, "", "", NULL);
0, chan, -1, "", "");
}

static void cell_edac_count_ue(struct mem_ctl_info *mci, int chan, u64 ar)
Expand All @@ -72,7 +72,7 @@ static void cell_edac_count_ue(struct mem_ctl_info *mci, int chan, u64 ar)
/* TODO: Decoding of the error address */
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci,
csrow->first_page + pfn, offset, 0,
0, chan, -1, "", "", NULL);
0, chan, -1, "", "");
}

static void cell_edac_check(struct mem_ctl_info *mci)
Expand Down
4 changes: 2 additions & 2 deletions drivers/edac/cpc925_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -557,15 +557,15 @@ static void cpc925_mc_check(struct mem_ctl_info *mci)
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
pfn, offset, syndrome,
csrow, channel, -1,
mci->ctl_name, "", NULL);
mci->ctl_name, "");
}

if (apiexcp & UECC_EXCP_DETECTED) {
cpc925_mc_printk(mci, KERN_INFO, "DRAM UECC Fault\n");
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
pfn, offset, 0,
csrow, -1, -1,
mci->ctl_name, "", NULL);
mci->ctl_name, "");
}

cpc925_mc_printk(mci, KERN_INFO, "Dump registers:\n");
Expand Down
8 changes: 4 additions & 4 deletions drivers/edac/e752x_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,7 @@ static void do_process_ce(struct mem_ctl_info *mci, u16 error_one,
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
page, offset_in_page(sec1_add << 4), sec1_syndrome,
row, channel, -1,
"e752x CE", "", NULL);
"e752x CE", "");
}

static inline void process_ce(struct mem_ctl_info *mci, u16 error_one,
Expand Down Expand Up @@ -412,7 +412,7 @@ static void do_process_ue(struct mem_ctl_info *mci, u16 error_one,
block_page,
offset_in_page(error_2b << 4), 0,
row, -1, -1,
"e752x UE from Read", "", NULL);
"e752x UE from Read", "");

}
if (error_one & 0x0404) {
Expand All @@ -431,7 +431,7 @@ static void do_process_ue(struct mem_ctl_info *mci, u16 error_one,
block_page,
offset_in_page(error_2b << 4), 0,
row, -1, -1,
"e752x UE from Scruber", "", NULL);
"e752x UE from Scruber", "");
}
}

Expand All @@ -456,7 +456,7 @@ static inline void process_ue_no_info_wr(struct mem_ctl_info *mci,
edac_dbg(3, "\n");
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 0, 0, 0,
-1, -1, -1,
"e752x UE log memory write", "", NULL);
"e752x UE log memory write", "");
}

static void do_process_ded_retry(struct mem_ctl_info *mci, u16 error,
Expand Down
8 changes: 4 additions & 4 deletions drivers/edac/e7xxx_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -220,14 +220,14 @@ static void process_ce(struct mem_ctl_info *mci, struct e7xxx_error_info *info)
/* convert syndrome to channel */
channel = e7xxx_find_channel(syndrome);
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, page, 0, syndrome,
row, channel, -1, "e7xxx CE", "", NULL);
row, channel, -1, "e7xxx CE", "");
}

static void process_ce_no_info(struct mem_ctl_info *mci)
{
edac_dbg(3, "\n");
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 0, 0, 0, -1, -1, -1,
"e7xxx CE log register overflow", "", NULL);
"e7xxx CE log register overflow", "");
}

static void process_ue(struct mem_ctl_info *mci, struct e7xxx_error_info *info)
Expand All @@ -243,15 +243,15 @@ static void process_ue(struct mem_ctl_info *mci, struct e7xxx_error_info *info)
row = edac_mc_find_csrow_by_page(mci, block_page);

edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, block_page, 0, 0,
row, -1, -1, "e7xxx UE", "", NULL);
row, -1, -1, "e7xxx UE", "");
}

static void process_ue_no_info(struct mem_ctl_info *mci)
{
edac_dbg(3, "\n");

edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 0, 0, 0, -1, -1, -1,
"e7xxx UE log register overflow", "", NULL);
"e7xxx UE log register overflow", "");
}

static void e7xxx_get_error_info(struct mem_ctl_info *mci,
Expand Down
3 changes: 1 addition & 2 deletions drivers/edac/edac_core.h
Original file line number Diff line number Diff line change
Expand Up @@ -462,8 +462,7 @@ void edac_mc_handle_error(const enum hw_event_mc_err_type type,
const int mid_layer,
const int low_layer,
const char *msg,
const char *other_detail,
const void *arch_log);
const char *other_detail);

/*
* edac_device APIs
Expand Down
6 changes: 1 addition & 5 deletions drivers/edac/edac_mc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1044,9 +1044,6 @@ static void edac_ue_error(struct mem_ctl_info *mci,
* @other_detail: Technical details about the event that
* may help hardware manufacturers and
* EDAC developers to analyse the event
* @arch_log: Architecture-specific struct that can
* be used to add extended information to the
* tracepoint, like dumping MCE registers.
*/
void edac_mc_handle_error(const enum hw_event_mc_err_type type,
struct mem_ctl_info *mci,
Expand All @@ -1057,8 +1054,7 @@ void edac_mc_handle_error(const enum hw_event_mc_err_type type,
const int mid_layer,
const int low_layer,
const char *msg,
const char *other_detail,
const void *arch_log)
const char *other_detail)
{
/* FIXME: too much for stack: move it to some pre-alocated area */
char detail[80], location[80];
Expand Down
2 changes: 1 addition & 1 deletion drivers/edac/edac_mc_sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -827,7 +827,7 @@ static ssize_t edac_fake_inject_write(struct file *file,
mci->fake_inject_layer[0],
mci->fake_inject_layer[1],
mci->fake_inject_layer[2],
"FAKE ERROR", "for EDAC testing only", NULL);
"FAKE ERROR", "for EDAC testing only");

return count;
}
Expand Down
6 changes: 3 additions & 3 deletions drivers/edac/i3000_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ static int i3000_process_error_info(struct mem_ctl_info *mci,
if ((info->errsts ^ info->errsts2) & I3000_ERRSTS_BITS) {
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 0, 0, 0,
-1, -1, -1,
"UE overwrote CE", "", NULL);
"UE overwrote CE", "");
info->errsts = info->errsts2;
}

Expand All @@ -261,12 +261,12 @@ static int i3000_process_error_info(struct mem_ctl_info *mci,
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci,
pfn, offset, 0,
row, -1, -1,
"i3000 UE", "", NULL);
"i3000 UE", "");
else
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
pfn, offset, info->derrsyn,
row, multi_chan ? channel : 0, -1,
"i3000 CE", "", NULL);
"i3000 CE", "");

return 1;
}
Expand Down
6 changes: 3 additions & 3 deletions drivers/edac/i3200_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ static void i3200_process_error_info(struct mem_ctl_info *mci,

if ((info->errsts ^ info->errsts2) & I3200_ERRSTS_BITS) {
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 0, 0, 0,
-1, -1, -1, "UE overwrote CE", "", NULL);
-1, -1, -1, "UE overwrote CE", "");
info->errsts = info->errsts2;
}

Expand All @@ -230,13 +230,13 @@ static void i3200_process_error_info(struct mem_ctl_info *mci,
0, 0, 0,
eccerrlog_row(channel, log),
-1, -1,
"i3000 UE", "", NULL);
"i3000 UE", "");
} else if (log & I3200_ECCERRLOG_CE) {
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci,
0, 0, eccerrlog_syndrome(log),
eccerrlog_row(channel, log),
-1, -1,
"i3000 UE", "", NULL);
"i3000 UE", "");
}
}
}
Expand Down
8 changes: 4 additions & 4 deletions drivers/edac/i5000_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -522,7 +522,7 @@ static void i5000_process_fatal_error_info(struct mem_ctl_info *mci,
edac_mc_handle_error(HW_EVENT_ERR_FATAL, mci, 0, 0, 0,
channel >> 1, channel & 1, rank,
rdwr ? "Write error" : "Read error",
msg, NULL);
msg);
}

/*
Expand Down Expand Up @@ -621,7 +621,7 @@ static void i5000_process_nonfatal_error_info(struct mem_ctl_info *mci,
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 0, 0, 0,
channel >> 1, -1, rank,
rdwr ? "Write error" : "Read error",
msg, NULL);
msg);
}

/* Check correctable errors */
Expand Down Expand Up @@ -675,7 +675,7 @@ static void i5000_process_nonfatal_error_info(struct mem_ctl_info *mci,
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 0, 0, 0,
channel >> 1, channel % 2, rank,
rdwr ? "Write error" : "Read error",
msg, NULL);
msg);
}

if (!misc_messages)
Expand Down Expand Up @@ -720,7 +720,7 @@ static void i5000_process_nonfatal_error_info(struct mem_ctl_info *mci,
/* Call the helper to output message */
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 0, 0, 0,
branch >> 1, -1, -1,
"Misc error", msg, NULL);
"Misc error", msg);
}
}

Expand Down
4 changes: 2 additions & 2 deletions drivers/edac/i5100_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -434,7 +434,7 @@ static void i5100_handle_ce(struct mem_ctl_info *mci,
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
0, 0, syndrome,
chan, rank, -1,
msg, detail, NULL);
msg, detail);
}

static void i5100_handle_ue(struct mem_ctl_info *mci,
Expand All @@ -456,7 +456,7 @@ static void i5100_handle_ue(struct mem_ctl_info *mci,
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci,
0, 0, syndrome,
chan, rank, -1,
msg, detail, NULL);
msg, detail);
}

static void i5100_read_log(struct mem_ctl_info *mci, int chan,
Expand Down
4 changes: 2 additions & 2 deletions drivers/edac/i5400_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -557,7 +557,7 @@ static void i5400_proccess_non_recoverable_info(struct mem_ctl_info *mci,
edac_mc_handle_error(tp_event, mci, 0, 0, 0,
branch >> 1, -1, rank,
rdwr ? "Write error" : "Read error",
msg, NULL);
msg);
}

/*
Expand Down Expand Up @@ -629,7 +629,7 @@ static void i5400_process_nonfatal_error_info(struct mem_ctl_info *mci,
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 0, 0, 0,
branch >> 1, channel % 2, rank,
rdwr ? "Write error" : "Read error",
msg, NULL);
msg);

return;
}
Expand Down
Loading

0 comments on commit 03f7eae

Please sign in to comment.