From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wan Zongshun Subject: [PATCH v2] Implement i8042 detect by BIOS FADT i8042 flag Date: Wed, 2 Dec 2015 14:07:18 -0500 Message-ID: <1449083238-13179-1-git-send-email-Vincent.Wan@amd.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from mail-bl2on0071.outbound.protection.outlook.com ([65.55.169.71]:41760 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756697AbbLBLoT (ORCPT ); Wed, 2 Dec 2015 06:44:19 -0500 Sender: linux-input-owner@vger.kernel.org List-Id: linux-input@vger.kernel.org To: dmitry.torokhov@gmail.coom, bp@alien8.de, linux-input@vger.kernel.org Cc: linux-kernel@vger.kernel.org, mcuos.com@gmail.com, Wan Zongshun 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 --- 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 +#include #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 /* -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757863AbbLBLoV (ORCPT ); Wed, 2 Dec 2015 06:44:21 -0500 Received: from mail-bl2on0071.outbound.protection.outlook.com ([65.55.169.71]:41760 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756697AbbLBLoT (ORCPT ); Wed, 2 Dec 2015 06:44:19 -0500 Authentication-Results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=amd.com; alien8.de; dkim=none (message not signed) header.d=none;alien8.de; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0NYQAIU-08-DR3-02 X-M-MSG: From: Wan Zongshun To: , , CC: , , Wan Zongshun Subject: [PATCH v2] Implement i8042 detect by BIOS FADT i8042 flag Date: Wed, 2 Dec 2015 14:07:18 -0500 Message-ID: <1449083238-13179-1-git-send-email-Vincent.Wan@amd.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.222;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(189002)(199003)(19580405001)(5003600100002)(19580395003)(36756003)(5003940100001)(229853001)(48376002)(87936001)(586003)(5008740100001)(11100500001)(1220700001)(1096002)(86362001)(50466002)(2201001)(50986999)(53416004)(47776003)(189998001)(101416001)(105586002)(77096005)(97736004)(106466001)(50226001)(5001770100001)(92566002)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR12MB0713;H:atltwp02.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0713;2:/2QrAEezRM9lI0ucBaeB7wNkTH7mqtQZ6GADcHgLt4Zu64ftKKKhQR0cJrD4bDKCdwb4F9Ufv8ySPXaoxB60FWhS+071XjhNqyKT1vGDDgWrRrJsluXfUxOcXr8SDASdbgpnPFqzRQkB4+nWXGB3Gw==;3:PM5x6tUcO5WDt0hgRuWgM43uZNS0OE66kChRSr53GG60YiihrxIyS1twYwdJS+R5zkBddru8NUTM5rs5qjUTa9duAZkglq2FVtF9bJvCXqVTgVaqB6ZZNdjfw1z6CqiR15FQltiw0CGFLitvytn1sZmwjCl1sOnrbh6awd7dO0XkUDp3xLFCohRIPMvBBd6W69RpHj2SREAMvVAFT+DjtthlPaxw316OC6yGUCME95k=;25:4UfIJ9s9MW+IhBWUN6PAgsRyXI4gWcgne/hCrwO2dsMLvjx1hrprBKY45BDVaVUVSupCHCBOnpocbN9LmFsL+RCwvtwg/q36dqTexiw0V6fDi2Q1gXXUZNgvNIa6Ev9iYWUMZLO3vxzvcfcFJFfoo7Rr+ErHlBliAYcyUmXHjbTQmwEygn6FaG5IOoMsc6JOXOPWr/TGsSWhZgA4ccVyJrN5JCElvwUV2JakNZte338zDcghjYmBFjCqx4qVQDSEUAvEUkc1pO27wmkgMy0x7w== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0713; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0713;20:PwFt76yJeNnPj4c1qti86IhK8LideeYlThVOO71xTNoeY/P/RfP3b7ymH0UH8gX9Nz69Pg1sDJNLNKFmx/uVKGwQ0cfcjiEx1wIfJq5UzDIEjmwi2WiRaePNv6P2dgaHezfHUm64/yMj5jBZKptjLBZiweyDcTBRvDZSq+0hCBHfg75Oi9PqI8igpa//6K7iqAtep1C2I288A2VtObpQ6tH3H9mC5+ENmMLcEmC3uopMkmrAi1RUua2MTjugj5eRTLhkvN1J2LKrR/ToU3wh00nu8StSlZLXUJ0vRhAbMpiJ/g9BchyL5vq/5K3+gqJBUBqwxL/M1JZvH/0yfW3hvw00IObjAjK/3bRYvcPEcyrFVEtwWYTJKAju92JOc+5lVL5ugGc+Q6fIZgFWKmiQJQXwV4nmq9XpeGnHY1DEsduqCtfNq2nj2ZP0Dgu5RBl8D92b5XKV7n3od1T9p72U7ulSps6/jEgd/xtA95r7r1mh7CTkQu6UUgyRmAckBONb;4:VhUItqbd4lmZi1RGmsj5lggU7GHHPAqUd8FxwORmie9tX4QJDsNCmkMZabQ+KgC5TmJYJJu9grKX1lNjn/z5rydo1A5u6ntkxdqcGB2MzadmOH9JjgFwxZNxjaVTyzmlkTDtX+Wgcr8EvwJoQ6PJrt3okCjymUBh53doMsp9nJ9a7O8aSEQTJzigxvucdk/GZeRBk0nPgjbM+RaL63bp32C/6SPASA3V/kohSLEkvvxOZDFyhKWR9PdrfjY7UwGIXy3mIoVefl3Qybd1gtyAvYSWrqGzI3GGGGmJzUWvqzyjCOQuVP82VA+WErrb+LePg2sS8hfwgRO0hCIMrkWT/BaXSISAdhBNcBtE2BGuf7OQZeNIZQg8OW2nESyJFZPKUXLyrQL0Hgn482rahw12H5CQZ7wwesPifGX/27Nsgqg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(3002001)(10201501046);SRVR:CY1PR12MB0713;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0713; X-Forefront-PRVS: 077884B8B5 X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0713;23:B3hocR3X5zlE54DDH85cctpbYPYZcDR0snX5AS0lrgDG593ljahGhggUhWxxSfG27rnBgS2OPQyhTu6eaZjwflPSKTrDNPdjWmGp5Xb7xbIB59UmekmsIc6zSFnYeVB8sYRrb/ONo5CokrDHAwtW0M9RRKxCseqXkR50+8zL98rcMRn4yJ4zPpydIHMn6NcUodgFuzb/KtJb5zK4JAsXDDVyGxOhB4L4znGwyi+aurISDy8gSBzIhUBAEaYgof679Xi/V4XJJW3jviqM6SxCvx0pVXsg12JyC9IpxFWTiar58ORdpp5zBr9ZqjdWBK4xgBQ5QLoEGRM5KDkfHaizv8MhLEI9+izD/6bzlkN+tNpz+z8QnyYjiG2gHyUJrjodu14Np34bCSvg+uqi/kCsfvefMZJn5jglns/b9dYHxJ9VpadV6BN3H8bYquYSRQgS4evLGG7mppLxmjA0UgoYybrt7PSZ4rP/mxO3MQ7PmQH1H1LKYSao6b302GZ0Pq7qgc+KdSkXoqILBH8uPGXGOCGAK3pREd0z32tSTDFZMjj074Qw+tphNmnA4bMgmRVoEVBP9BPszbtqJch04pc1Bms4SOiFSQIKMRPGvuaJb8nerqxksuachYmYAvJTbyhJlovfsrHXvJHJ/gGw2OJlHEcfbctagcGZjOhPUOW9Ad0k5xaV02ts+Yqv8YLU75ZqvcRGYOxRXeg+Poe+A60J0k8Hy4C0TY0Sr+7YBgG52NB06ZjCPNZFlFDZTgBy5P20EerogBNlUA2uo5OVJls5ZLZjZrZXzpp5ouGYmwf4nrhFVQA2sVhPZ6PPvTpn7jJVUCPovvLgj3HkwReOYVrxgr6xWE6RcINS9kSBuO71E7PfSoo4id6thM0UtnFc0ZGVDYaN6weCAnLHhH5M+ngsP2opl7j2HsvTPN8jWemXAqCgwM/iKrbDpoNhmSCPYWGH X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0713;5:ggNzv/9w9Y5RNCSbq1CoNu51KjPRuEHAc4TwGj1uDn3XKxi00SoqiIMOBBEcDx3159GOpGQySjvKYWHfWPHahLueAOS1qpr+IIfCp/CxuoMYUkTyzGW87KPC09KlTDm2QH6p0o6kZrOBSlTGDzYA7A==;24:qQYfSkl9SjR6P50msQlYKlIK+SN+aP/EOsVPsJf77kEA+Y1xjLjohFZF1tiqO/kPvl6SdxWo+xmCvh3LTxX72vSRGjToYz3V2usEjFBW9UY=;20:/Qb/9gcLPeKqAwkhrYm5wlc6Fi7wBibNLjylLewwwvnjXJOjV1Wy1NjpK47Wem8xu5TK6R8NmF45psqPrGxotqm23XWhUnlJgGQY+d6qWPmHI0RBjUn0aWNwNN3xTgud2Dt+LLdpsR++tzbdmc83u8UHvSnk96XOQT03Z4oTzeDi/4YQ2j9qjVnTi+QzPB5jCAnnv8O33X/ZneA/lhS+1f0ow2vxUX4Z5Igd9eyeXpx1JdQ2eavxohrBo5qBHmeI SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2015 11:28:11.3443 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.222];Helo=[atltwp02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0713 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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 +#include #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 /* -- 1.9.1