summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFeng Tang <feng.tang@intel.com>2010-07-07 13:02:16 -0700
committerH. Peter Anvin <hpa@linux.intel.com>2010-07-07 17:05:07 -0700
commit5cdfa1c3bbabb809ef3134f741a63e13373a8cad (patch)
tree1f118ddcbc40f9040aa6f5d1f6bbf6049b694c52
parentc9d46f63f8e89fd70f97b83fdc4e5d2e37d92aeb (diff)
input: i8042 - add runtime check in x86's i8042_platform_init
Then it will first check x86_platforms's i8042 detection result, then go on with normal probe. Signed-off-by: Feng Tang <feng.tang@intel.com> LKML-Reference: <4c34dd482753bb8f1@agluck-desktop.sc.intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com> Acked-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
-rw-r--r--drivers/input/serio/i8042-x86ia64io.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
index 6168469ad1a6..81003c4739f4 100644
--- a/drivers/input/serio/i8042-x86ia64io.h
+++ b/drivers/input/serio/i8042-x86ia64io.h
@@ -7,6 +7,10 @@
* the Free Software Foundation.
*/
+#ifdef CONFIG_X86
+#include <asm/x86_init.h>
+#endif
+
/*
* Names.
*/
@@ -840,6 +844,12 @@ static int __init i8042_platform_init(void)
{
int retval;
+#ifdef CONFIG_X86
+ /* Just return if pre-detection shows no i8042 controller exist */
+ if (!x86_platform.i8042_detect())
+ return -ENODEV;
+#endif
+
/*
* On ix86 platforms touching the i8042 data register region can do really
* bad things. Because of this the region is always reserved on ix86 boxes.