[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201002122235.1280-4-shiju.jose@huawei.com>
Date: Fri, 2 Oct 2020 13:22:31 +0100
From: Shiju Jose <shiju.jose@...wei.com>
To: <linux-edac@...r.kernel.org>, <linux-acpi@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <bp@...en8.de>,
<tony.luck@...el.com>, <rjw@...ysocki.net>, <james.morse@....com>,
<lenb@...nel.org>
CC: <linuxarm@...wei.com>, <shiju.jose@...wei.com>
Subject: [RFC PATCH 3/7] RAS/CEC: Move X86 MCE specific code under CONFIG_X86_MCE
CEC may need to support other architectures such as ARM64.
Move X86 MCE specific code under CONFIG_X86_MCE to support
building for other architectures.
Signed-off-by: Shiju Jose <shiju.jose@...wei.com>
---
drivers/ras/cec.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/ras/cec.c b/drivers/ras/cec.c
index f20da1103f27..803e641d8e5c 100644
--- a/drivers/ras/cec.c
+++ b/drivers/ras/cec.c
@@ -8,7 +8,9 @@
#include <linux/kernel.h>
#include <linux/workqueue.h>
+#if defined(CONFIG_X86_MCE)
#include <asm/mce.h>
+#endif
#include "debugfs.h"
@@ -511,6 +513,7 @@ static int __init create_debugfs_nodes(void)
if (!IS_ENABLED(CONFIG_RAS_CEC_DEBUG))
return 0;
+#if defined(CONFIG_X86_MCE)
pfn = debugfs_create_file("pfn", S_IRUSR | S_IWUSR, d, &dfs_pfn, &pfn_ops);
if (!pfn) {
pr_warn("Error creating pfn debugfs node!\n");
@@ -522,6 +525,7 @@ static int __init create_debugfs_nodes(void)
pr_warn("Error creating array debugfs node!\n");
goto err;
}
+#endif
return 0;
@@ -531,6 +535,7 @@ static int __init create_debugfs_nodes(void)
return 1;
}
+#if defined(CONFIG_X86_MCE)
static int cec_notifier(struct notifier_block *nb, unsigned long val,
void *data)
{
@@ -556,28 +561,33 @@ static struct notifier_block cec_nb = {
.notifier_call = cec_notifier,
.priority = MCE_PRIO_CEC,
};
+#endif
static void __init cec_init(void)
{
if (ce_arr.disabled)
return;
+#if defined(CONFIG_X86_MCE)
ce_arr.array = (void *)get_zeroed_page(GFP_KERNEL);
if (!ce_arr.array) {
pr_err("Error allocating CE array page!\n");
return;
}
+#endif
if (create_debugfs_nodes()) {
free_page((unsigned long)ce_arr.array);
return;
}
+#if defined(CONFIG_X86_MCE)
ce_arr.id_shift = PAGE_SHIFT;
INIT_DELAYED_WORK(&cec_work, cec_work_fn);
schedule_delayed_work(&cec_work, CEC_DECAY_DEFAULT_INTERVAL);
mce_register_decode_chain(&cec_nb);
+#endif
pr_info("Correctable Errors collector initialized.\n");
}
--
2.17.1
Powered by blists - more mailing lists