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.j...@huawei.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


Reply via email to