aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYazen Ghannam <Yazen.Ghannam@amd.com>2017-01-27 12:24:21 -0500
committerBorislav Petkov <bp@suse.de>2017-01-28 08:36:47 -0500
commitd7fc9d77acb8651e5fcb77df71dfd11fcf1f08ba (patch)
tree8b425f989437a0ff7e535dfb46b889441fbb1cba
parentdf64636fa4816b6d562835475d9846dcfbfd8c7e (diff)
EDAC: Add routine to check if MC devices list is empty
We need to know if any MC devices have been allocated. Signed-off-by: Yazen Ghannam <Yazen.Ghannam@amd.com> Cc: linux-edac <linux-edac@vger.kernel.org> Link: http://lkml.kernel.org/r/1485537863-2707-7-git-send-email-Yazen.Ghannam@amd.com [ Prettify text. ] Signed-off-by: Borislav Petkov <bp@suse.de>
-rw-r--r--drivers/edac/edac_mc.c14
-rw-r--r--drivers/edac/edac_mc.h9
2 files changed, 23 insertions, 0 deletions
diff --git a/drivers/edac/edac_mc.c b/drivers/edac/edac_mc.c
index 750891ea07de..e5573c56b15e 100644
--- a/drivers/edac/edac_mc.c
+++ b/drivers/edac/edac_mc.c
@@ -453,6 +453,20 @@ void edac_mc_free(struct mem_ctl_info *mci)
453} 453}
454EXPORT_SYMBOL_GPL(edac_mc_free); 454EXPORT_SYMBOL_GPL(edac_mc_free);
455 455
456bool edac_has_mcs(void)
457{
458 bool ret;
459
460 mutex_lock(&mem_ctls_mutex);
461
462 ret = list_empty(&mc_devices);
463
464 mutex_unlock(&mem_ctls_mutex);
465
466 return !ret;
467}
468EXPORT_SYMBOL_GPL(edac_has_mcs);
469
456/* Caller must hold mem_ctls_mutex */ 470/* Caller must hold mem_ctls_mutex */
457static struct mem_ctl_info *__find_mci_by_dev(struct device *dev) 471static struct mem_ctl_info *__find_mci_by_dev(struct device *dev)
458{ 472{
diff --git a/drivers/edac/edac_mc.h b/drivers/edac/edac_mc.h
index 50fc1dc9c0d8..5357800e418d 100644
--- a/drivers/edac/edac_mc.h
+++ b/drivers/edac/edac_mc.h
@@ -149,6 +149,15 @@ extern int edac_mc_add_mc_with_groups(struct mem_ctl_info *mci,
149extern void edac_mc_free(struct mem_ctl_info *mci); 149extern void edac_mc_free(struct mem_ctl_info *mci);
150 150
151/** 151/**
152 * edac_has_mcs() - Check if any MCs have been allocated.
153 *
154 * Returns:
155 * True if MC instances have been registered successfully.
156 * False otherwise.
157 */
158extern bool edac_has_mcs(void);
159
160/**
152 * edac_mc_find() - Search for a mem_ctl_info structure whose index is @idx. 161 * edac_mc_find() - Search for a mem_ctl_info structure whose index is @idx.
153 * 162 *
154 * @idx: index to be seek 163 * @idx: index to be seek