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 --- |