[PATCH v2 00/20] EDAC: Rework edac_mc and ghes drivers

Robert Richter
2019-11-06T09:34:44Z

This patch set is a rework of the ghes_edac and edac_mc driver. It
addresses issues found during code review and while working with the
code. The changes include:

* improve function interfaces and data structures to decrease
complexity such as number of function arguments, unused data, etc.
(#1, #2, #14, #17, #18, #19),

* add helper functions and factor out code (#3, #15, #16, #20)

* fix style issues found by checkpatch (#4)

* improve code readability (#5, #6, #7, #8)

* use of standard kernel macros (#9)

* code unification (#10, #11, #12)

* documentation updates (#13)

v2:
* rebased onto edac-for-next and ghes locking fix
* moved adding idx to struct dimm_info to patch "EDAC: Remove
EDAC_DIMM_OFF() macro"
* added patch: "EDAC, mc: Remove needless zero string termination"
* added Mauro's Reviewed-by: tags
* moved patches to the end:
EDAC, mc: Remove per layer counters
EDAC, mc: Split edac_mc_alloc() into smaller functions
EDAC, mc: Reorder functions edac_mc_alloc*()
EDAC, mc: Rework edac_raw_mc_handle_error() to use struct dimm_info
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()

Robert Richter (20):
EDAC: Replace EDAC_DIMM_PTR() macro with edac_get_dimm() function
EDAC: Remove EDAC_DIMM_OFF() macro
EDAC: Introduce mci_for_each_dimm() iterator
EDAC, mc: Do not BUG_ON() in edac_mc_alloc()
EDAC, mc: Remove needless zero string termination
EDAC, mc: Reduce indentation level in edac_mc_handle_error()
EDAC, mc: Rename iterator variable to idx
EDAC: Remove misleading comment in struct edac_raw_error_desc
EDAC, ghes: Use standard kernel macros for page calculations
EDAC, ghes: Fix grain calculation
EDAC, ghes: Remove intermediate buffer pvt->detail_location
EDAC, ghes: Unify trace_mc_event() code with edac_mc driver
EDAC, Documentation: Describe CPER module definition and DIMM ranks
EDAC, mc: Remove per layer counters
EDAC, mc: Split edac_mc_alloc() into smaller functions
EDAC, mc: Reorder functions edac_mc_alloc*()
EDAC, mc: Rework edac_raw_mc_handle_error() to use struct dimm_info
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()

Documentation/admin-guide/ras.rst | 31 +-
drivers/edac/edac_mc.c | 477 +++++++++++++++---------------
drivers/edac/edac_mc.h | 8 +-
drivers/edac/edac_mc_sysfs.c | 65 ++--
drivers/edac/ghes_edac.c | 56 ++--
drivers/edac/i10nm_base.c | 3 +-
drivers/edac/i3200_edac.c | 3 +-
drivers/edac/i5000_edac.c | 5 +-
drivers/edac/i5100_edac.c | 14 +-
drivers/edac/i5400_edac.c | 3 +-
drivers/edac/i7300_edac.c | 3 +-
drivers/edac/i7core_edac.c | 3 +-
drivers/edac/ie31200_edac.c | 7 +-
drivers/edac/pnd2_edac.c | 4 +-
drivers/edac/sb_edac.c | 2 +-
drivers/edac/skx_base.c | 3 +-
drivers/edac/ti_edac.c | 2 +-
include/linux/edac.h | 153 +++++-----
18 files changed, 401 insertions(+), 441 deletions(-)

--
2.20.1