diff options
author | Yazen Ghannam <Yazen.Ghannam@amd.com> | 2017-01-27 12:24:21 -0500 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2017-01-28 08:36:47 -0500 |
commit | d7fc9d77acb8651e5fcb77df71dfd11fcf1f08ba (patch) | |
tree | 8b425f989437a0ff7e535dfb46b889441fbb1cba | |
parent | df64636fa4816b6d562835475d9846dcfbfd8c7e (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.c | 14 | ||||
-rw-r--r-- | drivers/edac/edac_mc.h | 9 |
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 | } |
454 | EXPORT_SYMBOL_GPL(edac_mc_free); | 454 | EXPORT_SYMBOL_GPL(edac_mc_free); |
455 | 455 | ||
456 | bool 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 | } | ||
468 | EXPORT_SYMBOL_GPL(edac_has_mcs); | ||
469 | |||
456 | /* Caller must hold mem_ctls_mutex */ | 470 | /* Caller must hold mem_ctls_mutex */ |
457 | static struct mem_ctl_info *__find_mci_by_dev(struct device *dev) | 471 | static 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, | |||
149 | extern void edac_mc_free(struct mem_ctl_info *mci); | 149 | extern 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 | */ | ||
158 | extern 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 |