Messages in this thread | | | From | Robert Richter <> | Subject | [PATCH v3 0/5] EDAC/ghes: Cleanup and reworks | Date | Tue, 19 May 2020 12:44:38 +0200 |
| |
This series contains a general cleanup and rework of the edac ghes driver:
* Some small code improvements (patches #1, #2).
* Code in functions ghes_edac_{register,unregister}() is move to new functions ghes_mc_{create,destroy}() and ghes_mc_{add,del}() (patch #3).
* Separated 'fake' controller code path (patches #4, #5).
Tested on a Marvell/Cavium ThunderX2 Sabre (dual socket) system.
v3: * Rebased onto dc63e28efa19 ("Merge branch 'edac-i10nm' into edac-for-next") plus patch "EDAC/ghes: Setup DIMM label from DMI and use it in error reports" applied from https://lore.kernel.org/patchwork/patch/1243203/ * Removed v2 patches 01/10 and 02/10 for edac_mc driver from this series, both are unrelated. * Dropped v2 patch 04/10 "EDAC/ghes: Make SMBIOS handle private data to ghes", there is no consent with the maintainer to the code introduced to get a private ghes_dimm data structure, nor there was any feasible alternative suggested. * Taken v2 patch 05/10 "EDAC/ghes: Setup DIMM label from DMI and use it in error reports" out of this series and submitted separately (see above patchwork link). * Dropped v2 patch 06/10, keep rdr_mask variable. * Fixed subject of v2 patch 07/10 to 'EDAC/ghes: Cleanup struct dimm_fill'. * Reworked function interface, there is now ghes_mc_{create,destroy}() and ghes_mc_{add,del}(). * Aligned arguments on the opening brace (ghes_mc_*()). * Remove ghes_ prefix from ghes_dimm_* definitions. * Use sizeof(struct ghes_pvt) in edac_mc_alloc(). * Rename struct ghes_mci to struct ghes_pvt.
v2: * https://lore.kernel.org/patchwork/cover/1229380/ * 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
v1: * https://lore.kernel.org/patchwork/cover/1205901/
Robert Richter (5): EDAC/ghes: Remove unused members of struct ghes_edac_pvt, rename it to ghes_pvt EDAC/ghes: Cleanup struct 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/ghes_edac.c | 254 ++++++++++++++++++++++++--------------- 1 file changed, 159 insertions(+), 95 deletions(-)
-- 2.20.1
| |