summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/edac.h23
1 files changed, 12 insertions, 11 deletions
diff --git a/include/linux/edac.h b/include/linux/edac.h
index fa32f2aca22f..deba46b3ee25 100644
--- a/include/linux/edac.h
+++ b/include/linux/edac.h
@@ -541,17 +541,6 @@ struct mem_ctl_info {
struct csrow_info **csrows;
unsigned int nr_csrows, num_cschannel;
- /*
- * Memory Controller hierarchy
- *
- * There are basically two types of memory controller: the ones that
- * sees memory sticks ("dimms"), and the ones that sees memory ranks.
- * All old memory controllers enumerate memories per rank, but most
- * of the recent drivers enumerate memories per DIMM, instead.
- * When the memory controller is per rank, csbased is true.
- */
- unsigned int n_layers;
- struct edac_mc_layer *layers;
bool csbased;
/*
@@ -609,6 +598,18 @@ struct mem_ctl_info {
u8 fake_inject_layer[EDAC_MAX_LAYERS];
bool fake_inject_ue;
u16 fake_inject_count;
+
+ /*
+ * Memory Controller hierarchy
+ *
+ * There are basically two types of memory controller: the ones that
+ * sees memory sticks ("dimms"), and the ones that sees memory ranks.
+ * All old memory controllers enumerate memories per rank, but most
+ * of the recent drivers enumerate memories per DIMM, instead.
+ * When the memory controller is per rank, csbased is true.
+ */
+ unsigned int n_layers;
+ struct edac_mc_layer layers[] __counted_by(n_layers);
};
#define mci_for_each_dimm(mci, dimm) \