i8042.c (7ebdfaa52d15b947503f76474477f92854796d96) i8042.c (148e9a711e034e06310a8c36b64957934ebe30f2)
1/*
2 * i8042 keyboard and mouse controller driver for Linux
3 *
4 * Copyright (c) 1999-2004 Vojtech Pavlik
5 */
6
7/*
8 * This program is free software; you can redistribute it and/or modify it

--- 53 unchanged lines hidden (view full) ---

62static bool i8042_noloop;
63module_param_named(noloop, i8042_noloop, bool, 0);
64MODULE_PARM_DESC(noloop, "Disable the AUX Loopback command while probing for the AUX port");
65
66static bool i8042_notimeout;
67module_param_named(notimeout, i8042_notimeout, bool, 0);
68MODULE_PARM_DESC(notimeout, "Ignore timeouts signalled by i8042");
69
1/*
2 * i8042 keyboard and mouse controller driver for Linux
3 *
4 * Copyright (c) 1999-2004 Vojtech Pavlik
5 */
6
7/*
8 * This program is free software; you can redistribute it and/or modify it

--- 53 unchanged lines hidden (view full) ---

62static bool i8042_noloop;
63module_param_named(noloop, i8042_noloop, bool, 0);
64MODULE_PARM_DESC(noloop, "Disable the AUX Loopback command while probing for the AUX port");
65
66static bool i8042_notimeout;
67module_param_named(notimeout, i8042_notimeout, bool, 0);
68MODULE_PARM_DESC(notimeout, "Ignore timeouts signalled by i8042");
69
70static bool i8042_kbdreset;
71module_param_named(kbdreset, i8042_kbdreset, bool, 0);
72MODULE_PARM_DESC(kbdreset, "Reset device connected to KBD port");
73
70#ifdef CONFIG_X86
71static bool i8042_dritek;
72module_param_named(dritek, i8042_dritek, bool, 0);
73MODULE_PARM_DESC(dritek, "Force enable the Dritek keyboard extension");
74#endif
75
76#ifdef CONFIG_PNP
77static bool i8042_nopnp;

--- 707 unchanged lines hidden (view full) ---

785 pr_warn("Failed to disable AUX port, but continuing anyway... Is this a SiS?\n");
786 pr_warn("If AUX port is really absent please use the 'i8042.noaux' option\n");
787 }
788
789 if (i8042_toggle_aux(true))
790 return -1;
791
792/*
74#ifdef CONFIG_X86
75static bool i8042_dritek;
76module_param_named(dritek, i8042_dritek, bool, 0);
77MODULE_PARM_DESC(dritek, "Force enable the Dritek keyboard extension");
78#endif
79
80#ifdef CONFIG_PNP
81static bool i8042_nopnp;

--- 707 unchanged lines hidden (view full) ---

789 pr_warn("Failed to disable AUX port, but continuing anyway... Is this a SiS?\n");
790 pr_warn("If AUX port is really absent please use the 'i8042.noaux' option\n");
791 }
792
793 if (i8042_toggle_aux(true))
794 return -1;
795
796/*
797 * Reset keyboard (needed on some laptops to successfully detect
798 * touchpad, e.g., some Gigabyte laptop models with Elantech
799 * touchpads).
800 */
801 if (i8042_kbdreset) {
802 pr_warn("Attempting to reset device connected to KBD port\n");
803 i8042_kbd_write(NULL, (unsigned char) 0xff);
804 }
805
806/*
793 * Test AUX IRQ delivery to make sure BIOS did not grab the IRQ and
794 * used it for a PCI card or somethig else.
795 */
796
797 if (i8042_noloop || i8042_bypass_aux_irq_test || aux_loop_broken) {
798/*
799 * Without LOOP command we can't test AUX IRQ delivery. Assume the port
800 * is working and hope we are right.

--- 657 unchanged lines hidden (view full) ---

1458 i8042_platform_device = NULL;
1459
1460 return 0;
1461}
1462
1463static struct platform_driver i8042_driver = {
1464 .driver = {
1465 .name = "i8042",
807 * Test AUX IRQ delivery to make sure BIOS did not grab the IRQ and
808 * used it for a PCI card or somethig else.
809 */
810
811 if (i8042_noloop || i8042_bypass_aux_irq_test || aux_loop_broken) {
812/*
813 * Without LOOP command we can't test AUX IRQ delivery. Assume the port
814 * is working and hope we are right.

--- 657 unchanged lines hidden (view full) ---

1472 i8042_platform_device = NULL;
1473
1474 return 0;
1475}
1476
1477static struct platform_driver i8042_driver = {
1478 .driver = {
1479 .name = "i8042",
1480 .owner = THIS_MODULE,
1466#ifdef CONFIG_PM
1467 .pm = &i8042_pm_ops,
1468#endif
1469 },
1470 .remove = i8042_remove,
1471 .shutdown = i8042_shutdown,
1472};
1473

--- 41 unchanged lines hidden ---
1481#ifdef CONFIG_PM
1482 .pm = &i8042_pm_ops,
1483#endif
1484 },
1485 .remove = i8042_remove,
1486 .shutdown = i8042_shutdown,
1487};
1488

--- 41 unchanged lines hidden ---