summaryrefslogtreecommitdiffstats
path: root/drivers/input/serio
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-next' into for-linusJiri Kosina2010-03-081-1/+1
|\ | | | | | | | | | | | | | | | | Conflicts: Documentation/filesystems/proc.txt arch/arm/mach-u300/include/mach/debug-macro.S drivers/net/qlge/qlge_ethtool.c drivers/net/qlge/qlge_main.c drivers/net/typhoon.c
| * Fix spelling of 'platform' in log messagesStefan Weil2010-02-051-1/+1
| | | | | | | | | | | | | | Replace platfrom -> platform. Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | Merge branch 'next' into for-linusDmitry Torokhov2010-02-283-79/+60
|\ \
| * | Input: xilinx_ps2 - use resource_sizeTobias Klauser2010-01-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use the resource_size inline function instead of manually calculating the resource size. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Acked-by: John Linn <john.linn@xilinx.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Merge commit 'v2.6.33-rc5' into nextDmitry Torokhov2010-01-212-9/+9
| |\|
| * | Input: make PCI device ids constantMárton Németh2010-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The id_table field of the struct pci_driver is constant in <linux/pci.h> so it makes sense to mark initialization data also constant. Signed-off-by: Márton Németh <nm127@freemail.hu> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: xilinx_ps2 - make Open Firmware device ids constantMárton Németh2010-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The match_table field of the struct of_device_id is constant in <linux/of_platform.h> so it makes sense to mark xps2_of_match also constant. Signed-off-by: Márton Németh <nm127@freemail.hu> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: serio - use pr_xxx() and dev_xxx() helpersDmitry Torokhov2010-01-061-42/+35
| | | | | | | | | | | | | | | | | | | | | | | | pr_xxx() and dev_xxx() helpers ensure that all messages emitted by the module have consistent prefixes, so let's use them. Also fix some formatting issues. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: serio - use list_first_entry() helperDmitry Torokhov2010-01-061-20/+11
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: serio - let device core tell us if device was registeredDmitry Torokhov2010-01-061-6/+2
| | | | | | | | | | | | | | | | | | No need to keep track of it by ourselves. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: serio - use device core to create 'id' attribute groupDmitry Torokhov2010-01-061-8/+9
| | | | | | | | | | | | | | | | | | | | | Instead of creating 'id' sysfs attribute group by ourselves rely on device core to do that for us. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: i8042 - fix KBC jam during hibernateAlan Jenkins2010-02-181-0/+8
| |/ |/| | | | | | | | | | | | | | | | | | | | | 633aae2 "Input: i8042 - switch to using dev_pm_ops" removed handling for PMSG_THAW, since we do not need to do anything during freeze and thus it was thougt that thaw is not needed as well. However, there is a period when interrupts are kept off, and if key happens to be pressed during that time KBC becomes jammed. To avoid the jam we simply need to poll KBC once during thaw. Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: i8042 - add Dritek quirk for Acer Aspire 5610.Elliott Sales de Andrade2010-01-111-0/+7
| | | | | | | | | | Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: serio - do not mark kseriod freezable anymoreDmitry Torokhov2009-12-241-9/+2
|/ | | | | | | | | | | | We used to make kseriod freezable to prevent unnecessary attempts at resuming keyboard and mouse before taking hibernation image when suspend and hibernation were sharing PM operations. Now that they are separated and we don't risk resuming during 'thaw' we don't need to freeze kseriod anymore. This will allow us to start resetting mouse and keyboard a bit earlier, before rest of the userspace comes back up. Acked-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: altera_ps2 - fix test of unsigned in altera_ps2_probe()Roel Kluin2009-12-151-3/+5
| | | | | | | ps2if->irq is unsigned so the test does not work. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge commit 'linus' into nextDmitry Torokhov2009-12-152-2/+2
|\
| * Merge branch 'for-linus' of ↵Linus Torvalds2009-12-094-77/+275
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (51 commits) Input: appletouch - give up maintainership Input: dm355evm_kbd - switch to using sparse keymap library Input: wistron_btns - switch to using sparse keymap library Input: add generic support for sparse keymaps Input: fix memory leak in force feedback core Input: wistron - remove identification strings from DMI table Input: psmouse - remove identification strings from DMI tables Input: atkbd - remove identification strings from DMI table Input: i8042 - remove identification strings from DMI tables DMI: allow omitting ident strings in DMI tables Input: psmouse - do not carry DMI data around Input: matrix-keypad - switch to using dev_pm_ops Input: keyboard - fix lack of locking when traversing handler->h_list Input: gpio_keys - scan gpio state at probe and resume time Input: keyboard - add locking around event handling Input: usbtouchscreen - add support for ET&T TC5UH touchscreen controller Input: xpad - add two new Xbox 360 devices Input: polled device - do not start polling if interval is zero Input: polled device - schedule first poll immediately Input: add S3C24XX touchscreen driver ...
| * \ Merge branch 'for-next' into for-linusJiri Kosina2009-12-072-2/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | Conflicts: kernel/irq/chip.c
| | * | tree-wide: fix assorted typos all over the placeAndré Goddard Rosa2009-12-042-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That is "success", "unknown", "through", "performance", "[re|un]mapping" , "access", "default", "reasonable", "[con]currently", "temperature" , "channel", "[un]used", "application", "example","hierarchy", "therefore" , "[over|under]flow", "contiguous", "threshold", "enough" and others. Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | | | Input: at32psif - do not sleep in atomic contextDmitry Torokhov2009-12-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can't use msleep() while holding a spinlock, moreower serio's write() method is supposed to be useable from inettrupt context. Let's do what i8042 does and poll the status register every 50 us (with udelay). Reported-by: Marjan Fojkar <marjan@pajkc.eu> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: i8042 - add Gigabyte M1022M to the noloop listDmitry Torokhov2009-12-151-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gigabyte netbook model M1022M requires i8042.noloop, otherwise AUX port will not detected and the touchpad will not work. Unfortunately chassis type in DMI set to "Other" and thus generic laptop entry does not fire on it. Reported-by: Darryl Bond <dbond@nrggos.com.au> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: i8042 - allow installing platform filters for incoming dataMatthew Garrett2009-12-111-3/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some hardware (such as Dell laptops) signal a variety of events through the i8042 controller, even if these don't map to keyboard events. Add support for drivers to filter the i8042 event stream in order to respond to these events and (if appropriate) block them from entering the input stream. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: i8042 - fix locking in interrupt routineDmitry Torokhov2009-12-111-8/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to protect not only i8042 status and data register from concurrent access from IRQ 1 and 12 but the rest of the shared state as well, so let's move release of i8042_lock in i8042_interrupt() a little bit further down. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: sa1111ps2 - annotate probe() and remove() methodsDmitry Torokhov2009-12-111-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also fix annotation of ps2_test() - it can'be __init since it is called from __devinit code. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: ambakmi - annotate probe() and remove() methodsDmitry Torokhov2009-12-111-4/+4
| | | | | | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: gscps2 - fix probe() and remove() annotationsDmitry Torokhov2009-12-111-3/+3
| | | | | | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: altera_ps2 - add annotations to probe and remove methodsDmitry Torokhov2009-12-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Mark altera_ps2_probe() as __devinit and altera_ps2_remove() as __devexit so that they can be discarded when not needed. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: hil-mlc - use del_timer_sync() when unloading the driverDmitry Torokhov2009-12-111-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | del_timer() does not wait for the timer to finish running before returning and therefore is technically not safe. Also make sure to enable tasklet before kicking timer that will schedule it. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: serio - set owner in driver structuresDmitry Torokhov2009-12-113-0/+3
| |_|/ |/| | | | | | | | | | | | | | | | | Setting up owner field ensures that driver core creates symlink from the driver to a module implementing this driver. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: i8042 - remove identification strings from DMI tablesDmitry Torokhov2009-12-041-77/+66
| | | | | | | | | | | | | | | | | | | | | | | | The driver does not reference identification strings in DMI tables and since these strings are no longer required by DMI core we can safely remove them and save some memory. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Merge commit 'v2.6.32' into nextDmitry Torokhov2009-12-021-0/+21
|\| |
| * | Input: i8042 - add Dell Vostro 1320, 1520 and 1720 to the reset listAnisse Astier2009-12-021-0/+21
| |/ | | | | | | | | | | | | | | | | These laptops often leave i8042 in a wierd state resulting in non- operational touchpad and keyboard. Signed-off-by: Anisse Astier <anisse@astier.eu> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge commit 'v2.6.32-rc6' into nextDmitry Torokhov2009-11-052-8/+40
|\|
| * Input: i8042 - try to get stable CTR value when initializingDmitry Torokhov2009-11-021-7/+28
| | | | | | | | | | | | | | | | | | | | If user presses keys while i8042 is being initialized there is a chance that keyboard data will be mistaken for results of Read Control Register command causing futher troubles. Work around this issue by reading CTR several times and stop when we get matching results. Reported-and-tested-by: Dave Young <hidave.darkstar@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Merge commit 'v2.6.32-rc5' into for-linusDmitry Torokhov2009-11-023-0/+3
| |\
| * | Input: i8042 - add Sony Vaio VGN-FZ240E to the nomux listDmitry Torokhov2009-10-181-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On this model, when KBD is in active multiplexing mode, acknowledgements to reset and get ID commands issued on KBD port sometimes are delivered to AUX3 port (touchpad) which messes up device detection. Legacy KBC mode works fine and since there are no external PS/2 ports on this laptop and no support for docking station we can safely disable active MUX mode. Tested-by: Carlos R. Mafra <crmafra2@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: i8042 - make pnp_data_busted variable boolean instead of intDmitry Torokhov2009-10-121-1/+1
| | | | | | | | | | | | | | | | | | | | | This small snippet escaped last round of int -> bool conversion. Reported-by: Joe Perches <joe@perches.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: add driver for Altera PS/2 controllerThomas Chou2009-10-123-0/+209
| |/ |/| | | | | | | | | | | | | | | This patch adds a new SERIO driver to support the Altera University Program PS/2 controller. [dtor@mail.ru: assorted cleanups] Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | headers: remove sched.h from interrupt.hAlexey Dobriyan2009-10-113-0/+3
|/ | | | | | | | After m68k's task_thread_info() doesn't refer to current, it's possible to remove sched.h from interrupt.h and not break m68k! Many thanks to Heiko Carstens for allowing this. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
* Input: i8042 - print debug data when testing AUX IRQ deliveryDmitry Torokhov2009-10-081-0/+3
| | | | | | | Sometimes it is not clear why IRQ delivery test failed so let's add some debug printks so we know the exact reason. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: libps2 - fix dependancy on i8042Dmitry Torokhov2009-10-051-6/+7
| | | | | | | | libps2 can not be built in if i8042 is a module, all other combinations are allowed. Reported-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: libps2 - additional locking for i8042 portsDmitry Torokhov2009-09-172-4/+65
| | | | | | | | | | | | | | | | | The serio ports on i8042 are not completely isolated; while we provide enough locking to ensure proper serialization when accessing control and data registers AUX and KBD ports can still have an effect on each other on PS/2 protocol level. The most prominent effect is that issuing a command for the device connected to one port may cause abort of the command currently executing by the device connected to another port. Since i8042 nor serio subsystem are not aware of the details of the PS/2 protocol (length of the commands and their replies and so on) the locking should be done on libps2 level by adding special handling when we see that we are dealing with serio port on i8042. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge branch 'next' into for-linusDmitry Torokhov2009-09-138-138/+221
|\
| * Input: i8042 - use platform_driver_probeDmitry Torokhov2009-09-101-23/+22
| | | | | | | | | | | | | | | | i8042 is not hot-pluggable and we create the device when we register the driver, so let's save some memory by using platform_device_probe and using __init instead of __devinit. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: i8042 - use boolean type where it makes senseDmitry Torokhov2009-09-102-70/+71
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: i8042 - try disabling and re-enabling AUX port at closeDmitry Torokhov2009-09-101-1/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | Ever since we switched from having a polling timer to registering IRQ handlers for both keyboard and AUX ports at the driver registration time, on certain boxes probing for a mouse results in keyboard stopping working. The only real difference between old and new way is that before we disabled ports after unsuccessful probe whereas now we leave them as is. Try to emulate the old behavior by disabling and immediately re-enabling AUX and KBD ports when corresponding serio port is being closed. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: i8042 - bypass AUX IRQ delivery test on laptopsDmitry Torokhov2009-09-102-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems that many laptops do not fully implement AUX LOOP command in their keyboard controllers, causing issues with touchpad detection. We know however that almost every laptop/portable uses a PS/2 pointing device and, even if user disables it in favor of an external mouse, the system will not use IRQ 12 for anything else. Therefore we may bypass AUX IRQ delivery test when running on a laptop and assume that it is routed properly. Just to be safe we require the box to have good PNP data in order to bypass the test. [Jin Dongming <jin.dongming@np.css.fujitsu.com>: fix crash caused by missing terminator in the DMI table] Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Merge commit 'v2.6.31-rc8' into nextDmitry Torokhov2009-08-272-1/+9
| |\
| | * Merge branch 'for-linus' of ↵Linus Torvalds2009-08-071-0/+8
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: matrix_keypad - make matrix keymap size dynamic Input: wistron_btns - support Prestigio Wifi RF kill button Input: i8042 - add Asus G1S to noloop exception list
| | * | parisc: hp_sdc_mlc.c - check return value of down_trylock()Helge Deller2009-08-021-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Helge Deller <deller@gmx.de>