diff options
author | Robert Richter <rrichter@marvell.com> | 2019-11-06 09:33:07 +0000 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2019-11-10 12:39:40 +0100 |
commit | c498afaf7df87f44e7cb383c135baec52b5259be (patch) | |
tree | d01c2219a6f1e4008b1f5234c3ecb3bc62923e22 /include/linux/edac.h | |
parent | 977b1ce7c117905b3138dc727ed25f8af2ba2902 (diff) | |
download | linux-c498afaf7df87f44e7cb383c135baec52b5259be.tar.gz linux-c498afaf7df87f44e7cb383c135baec52b5259be.tar.bz2 linux-c498afaf7df87f44e7cb383c135baec52b5259be.zip |
EDAC: Introduce an mci_for_each_dimm() iterator
Introduce an mci_for_each_dimm() iterator. It returns a pointer to
a struct dimm_info. This makes the declaration and use of an index
obsolete and avoids access to internal data of struct mci (direct array
access etc).
[ bp: push the struct dimm_info *dimm; declaration into the
CONFIG_EDAC_DEBUG block. ]
Signed-off-by: Robert Richter <rrichter@marvell.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Cc: "linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>
Cc: James Morse <james.morse@arm.com>
Cc: Tony Luck <tony.luck@intel.com>
Link: https://lkml.kernel.org/r/20191106093239.25517-4-rrichter@marvell.com
Diffstat (limited to 'include/linux/edac.h')
-rw-r--r-- | include/linux/edac.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/edac.h b/include/linux/edac.h index f4ebb14bc406..31f99d48b024 100644 --- a/include/linux/edac.h +++ b/include/linux/edac.h @@ -599,6 +599,13 @@ struct mem_ctl_info { u16 fake_inject_count; }; +#define mci_for_each_dimm(mci, dimm) \ + for ((dimm) = (mci)->dimms[0]; \ + (dimm); \ + (dimm) = (dimm)->idx + 1 < (mci)->tot_dimms \ + ? (mci)->dimms[(dimm)->idx + 1] \ + : NULL) + /** * edac_get_dimm_by_index - Get DIMM info at @index from a memory * controller |