|
|
81d547 |
commit a8c776ed94f68ae31d7b5f74e19545698898c13c
|
|
|
81d547 |
Author: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
|
81d547 |
Date: Tue Aug 14 13:06:27 2018 -0300
|
|
|
81d547 |
|
|
|
81d547 |
mce-intel-*: fix a warning when using FIELD(<num>, NULL)
|
|
|
81d547 |
|
|
|
81d547 |
Internally, FIELD() macro checks the size of an array, by
|
|
|
81d547 |
using ARRAY_SIZE. Well, this macro causes a division by zero
|
|
|
81d547 |
if NULL is used, as its type is void, as warned:
|
|
|
81d547 |
|
|
|
81d547 |
mce-intel-dunnington.c:30:2: note: in expansion of macro ‘FIELD’
|
|
|
81d547 |
FIELD(17, NULL),
|
|
|
81d547 |
^~~~~
|
|
|
81d547 |
ras-mce-handler.h:28:33: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
|
|
|
81d547 |
#define ARRAY_SIZE(x) (sizeof(x)/sizeof(*(x)))
|
|
|
81d547 |
^
|
|
|
81d547 |
bitfield.h:37:51: note: in expansion of macro ‘ARRAY_SIZE’
|
|
|
81d547 |
#define FIELD(start_bit, name) { start_bit, name, ARRAY_SIZE(name) }
|
|
|
81d547 |
^~~~~~~~~~
|
|
|
81d547 |
|
|
|
81d547 |
While this warning is harmless, it may prevent seeing more serios
|
|
|
81d547 |
warnings. So, add a FIELD_NULL(<num>) macro to avoid that.
|
|
|
81d547 |
|
|
|
81d547 |
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
|
81d547 |
|
|
|
81d547 |
diff --git a/bitfield.h b/bitfield.h
|
|
|
81d547 |
index c7dfeb1..fccbb36 100644
|
|
|
81d547 |
--- a/bitfield.h
|
|
|
81d547 |
+++ b/bitfield.h
|
|
|
81d547 |
@@ -35,6 +35,7 @@ struct numfield {
|
|
|
81d547 |
};
|
|
|
81d547 |
|
|
|
81d547 |
#define FIELD(start_bit, name) { start_bit, name, ARRAY_SIZE(name) }
|
|
|
81d547 |
+#define FIELD_NULL(start_bit) { start_bit, NULL, 0 }
|
|
|
81d547 |
#define SBITFIELD(start_bit, string) { start_bit, ((char * [2]) { NULL, string }), 2 }
|
|
|
81d547 |
|
|
|
81d547 |
#define NUMBER(start, end, name) { start, end, name, "%Lu", 0 }
|
|
|
81d547 |
diff --git a/mce-intel-dunnington.c b/mce-intel-dunnington.c
|
|
|
81d547 |
index 4b1c7e3..c695c62 100644
|
|
|
81d547 |
--- a/mce-intel-dunnington.c
|
|
|
81d547 |
+++ b/mce-intel-dunnington.c
|
|
|
81d547 |
@@ -27,14 +27,14 @@
|
|
|
81d547 |
|
|
|
81d547 |
static struct field dunnington_bus_status[] = {
|
|
|
81d547 |
SBITFIELD(16, "Parity error detected during FSB request phase"),
|
|
|
81d547 |
- FIELD(17, NULL),
|
|
|
81d547 |
+ FIELD_NULL(17),
|
|
|
81d547 |
SBITFIELD(20, "Hard Failure response received for a local transaction"),
|
|
|
81d547 |
SBITFIELD(21, "Parity error on FSB response field detected"),
|
|
|
81d547 |
SBITFIELD(22, "Parity data error on inbound data detected"),
|
|
|
81d547 |
- FIELD(23, NULL),
|
|
|
81d547 |
- FIELD(25, NULL),
|
|
|
81d547 |
- FIELD(28, NULL),
|
|
|
81d547 |
- FIELD(31, NULL),
|
|
|
81d547 |
+ FIELD_NULL(23),
|
|
|
81d547 |
+ FIELD_NULL(25),
|
|
|
81d547 |
+ FIELD_NULL(28),
|
|
|
81d547 |
+ FIELD_NULL(31),
|
|
|
81d547 |
{}
|
|
|
81d547 |
};
|
|
|
81d547 |
|
|
|
81d547 |
diff --git a/mce-intel-p4-p6.c b/mce-intel-p4-p6.c
|
|
|
81d547 |
index 4615e1a..5c6c3ff 100644
|
|
|
81d547 |
--- a/mce-intel-p4-p6.c
|
|
|
81d547 |
+++ b/mce-intel-p4-p6.c
|
|
|
81d547 |
@@ -60,7 +60,7 @@ static char *bus_queue_error_type[] = {
|
|
|
81d547 |
};
|
|
|
81d547 |
|
|
|
81d547 |
static struct field p6_shared_status[] = {
|
|
|
81d547 |
- FIELD(16, NULL),
|
|
|
81d547 |
+ FIELD_NULL(16),
|
|
|
81d547 |
FIELD(19, bus_queue_req_type),
|
|
|
81d547 |
FIELD(25, bus_queue_error_type),
|
|
|
81d547 |
FIELD(25, bus_queue_error_type),
|
|
|
81d547 |
@@ -68,7 +68,7 @@ static struct field p6_shared_status[] = {
|
|
|
81d547 |
SBITFIELD(36, "received parity error on response transaction"),
|
|
|
81d547 |
SBITFIELD(38, "timeout BINIT (ROB timeout)."
|
|
|
81d547 |
" No micro-instruction retired for some time"),
|
|
|
81d547 |
- FIELD(39, NULL),
|
|
|
81d547 |
+ FIELD_NULL(39),
|
|
|
81d547 |
SBITFIELD(42, "bus transaction received hard error response"),
|
|
|
81d547 |
SBITFIELD(43, "failure that caused IERR"),
|
|
|
81d547 |
/* The following are reserved for Core in the SDM. Let's keep them here anyways*/
|
|
|
81d547 |
@@ -76,15 +76,15 @@ static struct field p6_shared_status[] = {
|
|
|
81d547 |
SBITFIELD(45, "uncorrectable ECC error"),
|
|
|
81d547 |
SBITFIELD(46, "correctable ECC error"),
|
|
|
81d547 |
/* [47..54]: ECC syndrome */
|
|
|
81d547 |
- FIELD(55, NULL),
|
|
|
81d547 |
+ FIELD_NULL(55),
|
|
|
81d547 |
{},
|
|
|
81d547 |
};
|
|
|
81d547 |
|
|
|
81d547 |
static struct field p6old_status[] = {
|
|
|
81d547 |
SBITFIELD(28, "FRC error"),
|
|
|
81d547 |
SBITFIELD(29, "BERR on this CPU"),
|
|
|
81d547 |
- FIELD(31, NULL),
|
|
|
81d547 |
- FIELD(32, NULL),
|
|
|
81d547 |
+ FIELD_NULL(31),
|
|
|
81d547 |
+ FIELD_NULL(32),
|
|
|
81d547 |
SBITFIELD(35, "BINIT received from external bus"),
|
|
|
81d547 |
SBITFIELD(37, "Received hard error reponse on split transaction (Bus BINIT)"),
|
|
|
81d547 |
{}
|
|
|
81d547 |
@@ -94,9 +94,9 @@ static struct field core2_status[] = {
|
|
|
81d547 |
SBITFIELD(28, "MCE driven"),
|
|
|
81d547 |
SBITFIELD(29, "MCE is observed"),
|
|
|
81d547 |
SBITFIELD(31, "BINIT observed"),
|
|
|
81d547 |
- FIELD(32, NULL),
|
|
|
81d547 |
+ FIELD_NULL(32),
|
|
|
81d547 |
SBITFIELD(34, "PIC or FSB data parity error"),
|
|
|
81d547 |
- FIELD(35, NULL),
|
|
|
81d547 |
+ FIELD_NULL(35),
|
|
|
81d547 |
SBITFIELD(37, "FSB address parity error detected"),
|
|
|
81d547 |
{}
|
|
|
81d547 |
};
|
|
|
81d547 |
diff --git a/mce-intel-tulsa.c b/mce-intel-tulsa.c
|
|
|
81d547 |
index 6cea421..e59bf06 100644
|
|
|
81d547 |
--- a/mce-intel-tulsa.c
|
|
|
81d547 |
+++ b/mce-intel-tulsa.c
|
|
|
81d547 |
@@ -39,7 +39,7 @@ static struct field tls_bus_status[] = {
|
|
|
81d547 |
SBITFIELD(16, "Parity error detected during FSB request phase"),
|
|
|
81d547 |
SBITFIELD(17, "Partity error detected on Core 0 request's address field"),
|
|
|
81d547 |
SBITFIELD(18, "Partity error detected on Core 1 request's address field"),
|
|
|
81d547 |
- FIELD(19, NULL),
|
|
|
81d547 |
+ FIELD_NULL(19),
|
|
|
81d547 |
SBITFIELD(20, "Parity error on FSB response field detected"),
|
|
|
81d547 |
SBITFIELD(21, "FSB data parity error on inbound date detected"),
|
|
|
81d547 |
SBITFIELD(22, "Data parity error on data received from Core 0 detected"),
|
|
|
81d547 |
@@ -48,8 +48,8 @@ static struct field tls_bus_status[] = {
|
|
|
81d547 |
SBITFIELD(25, "Data ECC event to error on inbound data correctable or uncorrectable"),
|
|
|
81d547 |
SBITFIELD(26, "Pad logic detected a data strobe glitch or sequencing error"),
|
|
|
81d547 |
SBITFIELD(27, "Pad logic detected a request strobe glitch or sequencing error"),
|
|
|
81d547 |
- FIELD(28, NULL),
|
|
|
81d547 |
- FIELD(31, NULL),
|
|
|
81d547 |
+ FIELD_NULL(28),
|
|
|
81d547 |
+ FIELD_NULL(31),
|
|
|
81d547 |
{}
|
|
|
81d547 |
};
|
|
|
81d547 |
|