Automated testing with LKP shows IMR self test code running and printing
error messages on QEMU hardware lacking IMR support.

Update IMR self-test code to run only when IMR hardware should be present.
Tested on Quark X1000 and QEMU.

Signed-off-by: Bryan O'Donoghue <pure.lo...@nexus-software.ie>
---
 arch/x86/platform/intel-quark/imr_selftest.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/arch/x86/platform/intel-quark/imr_selftest.c 
b/arch/x86/platform/intel-quark/imr_selftest.c
index c9a0838..5e6c055 100644
--- a/arch/x86/platform/intel-quark/imr_selftest.c
+++ b/arch/x86/platform/intel-quark/imr_selftest.c
@@ -11,6 +11,7 @@
  */
 
 #include <asm-generic/sections.h>
+#include <asm/cpu_device_id.h>
 #include <asm/imr.h>
 #include <linux/init.h>
 #include <linux/mm.h>
@@ -101,6 +102,13 @@ static void __init imr_self_test(void)
        }
 }
 
+static const struct x86_cpu_id imr_ids[] __initconst = {
+       { X86_VENDOR_INTEL, 5, 9 },     /* Intel Quark SoC X1000. */
+       {}
+};
+MODULE_DEVICE_TABLE(x86cpu, imr_ids);
+
+
 /**
  * imr_self_test_init - entry point for IMR driver.
  *
@@ -108,7 +116,8 @@ static void __init imr_self_test(void)
  */
 static int __init imr_self_test_init(void)
 {
-       imr_self_test();
+       if (x86_match_cpu(imr_ids))
+               imr_self_test();
        return 0;
 }
 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to