diff mbox

[v2] Implement i8042 detect by BIOS FADT i8042 flag

Message ID 1449083238-13179-1-git-send-email-Vincent.Wan@amd.com (mailing list archive)
State New, archived
Headers show

Commit Message

Vincent Wan Dec. 2, 2015, 7:07 p.m. UTC
Detecting x86 platform supporting i8042 or not, we should resort
to BIOS's FADT i8042 flag per ACPI spec.

Currently, Windows is conforming to this spec, and request this
flag to detect i8042 supporting.

Signed-off-by: Wan Zongshun <Vincent.Wan@amd.com>
---
 drivers/input/serio/i8042-x86ia64io.h | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Borislav Petkov Dec. 2, 2015, 11:45 a.m. UTC | #1
On Wed, Dec 02, 2015 at 02:07:18PM -0500, Wan Zongshun wrote:
> Detecting x86 platform supporting i8042 or not, we should resort
> to BIOS's FADT i8042 flag per ACPI spec.
> 
> Currently, Windows is conforming to this spec, and request this
> flag to detect i8042 supporting.
> 
> Signed-off-by: Wan Zongshun <Vincent.Wan@amd.com>
> ---
>  drivers/input/serio/i8042-x86ia64io.h | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
> index c115565..73686bd 100644
> --- a/drivers/input/serio/i8042-x86ia64io.h
> +++ b/drivers/input/serio/i8042-x86ia64io.h
> @@ -9,6 +9,7 @@
>  
>  #ifdef CONFIG_X86
>  #include <asm/x86_init.h>
> +#include <linux/acpi.h>
>  #endif
>  
>  /*
> @@ -1047,6 +1048,9 @@ static int __init i8042_platform_init(void)
>  	/* Just return if pre-detection shows no i8042 controller exist */
>  	if (!x86_platform.i8042_detect())
>  		return -ENODEV;
> +
> +	if (!(acpi_gbl_FADT.boot_flags & ACPI_FADT_8042))
> +		return -ENODEV;
>  #endif

Acked-by: Borislav Petkov <bp@suse.de>

with the small remark that whoever commits it, could add the URL of the
microsoft document to the commit message for further reference.

Thanks.
diff mbox

Patch

diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
index c115565..73686bd 100644
--- a/drivers/input/serio/i8042-x86ia64io.h
+++ b/drivers/input/serio/i8042-x86ia64io.h
@@ -9,6 +9,7 @@ 
 
 #ifdef CONFIG_X86
 #include <asm/x86_init.h>
+#include <linux/acpi.h>
 #endif
 
 /*
@@ -1047,6 +1048,9 @@  static int __init i8042_platform_init(void)
 	/* Just return if pre-detection shows no i8042 controller exist */
 	if (!x86_platform.i8042_detect())
 		return -ENODEV;
+
+	if (!(acpi_gbl_FADT.boot_flags & ACPI_FADT_8042))
+		return -ENODEV;
 #endif
 
 /*