[PATCH v3 00/10] EDAC: Rework core and ghes drivers, part two

Robert Richter
2020-01-23T09:03:08Z

This patch set is part two of a rework of the ghes_edac and edac_mc
driver. It addresses issues found during code review and while working
with the code. Part one has been included to v5.5, see:

https://lore.kernel.org/patchwork/cover/1093488/

The changes of this series include:

* add helper functions and factor out code (#1, #2, #5)

* improve function interfaces and data structures to decrease
complexity such as number of function arguments, unused data, etc.
(#3, #4, #7, #8, #9, #10),

* minor functional fixes (#6)

* improve code readability (#9)

V3:
* rebased onto edac-for-next + "EDAC/mc: Fix use-after-free and
memleaks during device removal", no code changes:
7e5d6cf35329 ("EDAC/amd64: Do not warn when removing instances")
https://lore.kernel.org/patchwork/patch/1169444/
* added Aristeu's ACKs

V2:
* fixed documentation issue in #3 found by "kbuild test robot
<lkp@intel.com>"

Changes compared to part one:
* rebased onto 5781823fd0d3 ("EDAC/altera: Use the Altera System
Manager driver")
* reworded patch subjects
* reordered patches
* collected Mauro's Reviewed-by-tags (note: I kept them though there
has been small conflicts but dropped it when reworked)
* dropped: "EDAC/mc: Rework edac_raw_mc_handle_error() to use struct
dimm_info"
* split "EDAC/mc: Remove per layer counters" into smaller changes
* added:
"EDAC/mc: Report "unknown memory" on too many DIMM labels found"
"EDAC/mc: Remove enable_per_layer_report function arguments"
"EDAC/mc: Pass the error descriptor to error reporting functions"
"EDAC/mc: Remove detail[] string and cleanup error string
generation"
* moved to the end:
"EDAC/mc: Remove per layer counters"

Robert Richter (10):
EDAC/mc: Split edac_mc_alloc() into smaller functions
EDAC/mc: Reorder functions edac_mc_alloc*()
EDAC: Store error type in struct edac_raw_error_desc
EDAC/mc: Determine mci pointer from the error descriptor
EDAC/mc: Create new function edac_inc_csrow()
EDAC/mc: Report "unknown memory" on too many DIMM labels found
EDAC/mc: Remove enable_per_layer_report function arguments
EDAC/mc: Pass the error descriptor to error reporting functions
EDAC/mc: Remove detail[] string and cleanup error string generation
EDAC/mc: Remove per layer counters

drivers/edac/edac_mc.c | 502 ++++++++++++++++-------------------
drivers/edac/edac_mc.h | 6 +-
drivers/edac/edac_mc_sysfs.c | 20 +-
drivers/edac/ghes_edac.c | 16 +-
include/linux/edac.h | 9 +-
5 files changed, 252 insertions(+), 301 deletions(-)

--
2.20.1