[PATCH v2 00/10] EDAC/mc/ghes: Fixes, cleanup and reworks

From: Robert Richter
Date: Wed Apr 22 2020 - 07:59:04 EST


This series contains edac fixes and a significant cleanup and rework
of the ghes driver:

* fixes and updates for edac_mc (patches #1, #2),

* removed smbios_handle from struct dimm_info (patch #4),

* fix of DIMM label in error reports (patch #5),

* general ghes_edac cleanup and rework (patches #3, #6-#10).

First 2 patches for edac_mc are individual patches, the remaining
patches do not depend on them.

Tested on a Marvell/Cavium ThunderX2 Sabre (dual socket) system.

v1:
* https://lore.kernel.org/patchwork/cover/1205901/

v2:
* reordered patches to have fixes and struct changes first, code
refactoring patches last,
* dropped v1 patches #9 to #11 (multiple conrollers) to handle them
in a separate series,
* rewrote patch to remove smbios_handle (based on v1 #9): EDAC/ghes:
Move smbios_handle from struct dimm_info to ghes private data,
* added lockdep_assert_held() checkers,
* renamed struct ghes_dimm_fill to struct dimm_fill,
* renamed local variable dimms to dimm_list to avoid conflict with
the global variable,
* removed dimm list for "fake" controller,
* fixed return code check to use (rc < 0),
* added: EDAC/mc: Fix usage of snprintf() and dimm location setup


Robert Richter (10):
EDAC/mc: Fix usage of snprintf() and dimm location setup
EDAC/mc: Use int type for parameters of edac_mc_alloc()
EDAC/ghes: Remove unused members of struct ghes_edac_pvt, rename it to
ghes_mci
EDAC/ghes: Make SMBIOS handle private data to ghes
EDAC/ghes: Setup DIMM label from DMI and use it in error reports
EDAC/ghes: Remove local variable rdr_mask in ghes_edac_dmidecode()
EDAC/ghes: Cleanup struct ghes_edac_dimm_fill, rename it to
ghes_dimm_fill
EDAC/ghes: Carve out MC device handling into separate functions
EDAC/ghes: Have a separate code path for creating the fake MC
EDAC/ghes: Carve out code into ghes_edac_register_{one,fake}()

drivers/edac/edac_mc.c | 27 ++-
drivers/edac/edac_mc.h | 6 +-
drivers/edac/ghes_edac.c | 380 +++++++++++++++++++++++++++------------
include/linux/edac.h | 2 -
4 files changed, 280 insertions(+), 135 deletions(-)

--
2.20.1