android_kernel_xiaomi_sm8450/drivers/input/serio
Dmitry Torokhov d79e141c1c Input: i8042 - Trust firmware a bit more when probing on X86
The error message "Can't read CTR while initializing i8042" appears on
Cherry Trail-based devices at each boot time:

  i8042: PNP: No PS/2 controller found. Probing ports directly.
  i8042: Can't read CTR while initializing i8042
  i8042: probe of i8042 failed with error -5

This happens because we historically do not trust firmware on X86 and,
while noting that PNP does not show keyboard or mouse devices, we still
charge ahead and try to probe the controller. Let's relax this a bit and if
results of PNP probe agree with the results of platform
initialization/quirks conclude that there is, in fact, no i8042.

While at it, let's avoid using x86_platform.i8042_detect() and instead
abort execution early if platform indicates that it can not possibly have
i8042 (x86_platform.legacy.i8042 equals X86_LEGACY_I8042_PLATFORM_ABSENT).

Reported-and-tested-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Acked-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Cc: linux-input@vger.kernel.org
Link: http://lkml.kernel.org/r/1481317061-31486-3-git-send-email-dmitry.torokhov@gmail.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-12-19 11:34:15 +01:00
..
altera_ps2.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
ambakmi.c Input: ambakmi - fix system PM by converting to modern callbacks 2015-07-16 10:36:08 -07:00
ams_delta_serio.c Input: ams_delta_serio - fix spelling mistake: "paritiy" -> "parity" 2016-06-23 10:43:59 -07:00
apbps2.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
arc_ps2.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
at32psif.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
ct82c710.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
gscps2.c Input: gscps2 - drop pci_ids dependency 2015-04-06 09:38:08 -07:00
hil_mlc.c Input: HIL - do not call tasklet_disable right before tasklet_kill 2012-11-25 00:10:13 -08:00
hp_sdc_mlc.c Input: serio HIL MLC - don't deref null, don't leak and return proper error 2010-11-20 13:38:18 -08:00
hp_sdc.c Input: hp_sdc - use del_timer_sync() in exit path 2014-03-23 17:25:40 -07:00
hyperv-keyboard.c Drivers: hv: vmbus: fix the building warning with hyperv-keyboard 2015-12-21 13:07:56 -08:00
i8042-io.h Input: i8042 - skip selftest on ASUS laptops 2016-10-11 16:58:25 -07:00
i8042-ip22io.h Input: i8042 - skip selftest on ASUS laptops 2016-10-11 16:58:25 -07:00
i8042-jazzio.h Input: make i8042_platform_init return 'real' error code 2005-09-04 01:41:38 -05:00
i8042-ppcio.h Input: i8042 - skip selftest on ASUS laptops 2016-10-11 16:58:25 -07:00
i8042-snirm.h Input: i8042 - add SNI RM support 2008-03-14 11:54:06 -04:00
i8042-sparcio.h Input: i8042 - skip selftest on ASUS laptops 2016-10-11 16:58:25 -07:00
i8042-unicore32io.h Input: i8042 - skip selftest on ASUS laptops 2016-10-11 16:58:25 -07:00
i8042-x86ia64io.h Input: i8042 - Trust firmware a bit more when probing on X86 2016-12-19 11:34:15 +01:00
i8042.c Input: i8042 - fix typo from i8042_aux_close to i8042_port_close 2016-11-22 18:04:37 -08:00
i8042.h Input: i8042 - add unmask_kbd_data option 2015-07-16 10:30:55 -07:00
Kconfig Input: add userio module 2015-10-27 18:55:31 -07:00
libps2.c Input: i8042 - break load dependency between atkbd/psmouse and i8042 2016-07-27 14:20:09 -07:00
maceps2.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
Makefile Input: add userio module 2015-10-27 18:55:31 -07:00
olpc_apsp.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
parkbd.c Input: parkbd - clear unused function pointers 2015-11-17 10:00:16 -08:00
pcips2.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
ps2mult.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
q40kbd.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
rpckbd.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
sa1111ps2.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
serio_raw.c Input: initialize device counter variables with -1 2014-12-03 15:27:17 -08:00
serio.c Input: serio - drop warnings in case of EPROBE_DEFER from serio_find_driver() 2016-01-27 15:56:24 -08:00
serport.c Input: serio - add hangup support 2016-09-21 07:57:11 -07:00
sun4i-ps2.c Input: serio - add support for Alwinner A10/A20 PS/2 controller 2015-01-26 23:10:13 -08:00
userio.c Input: add userio module 2015-10-27 18:55:31 -07:00
xilinx_ps2.c input: serio: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00