aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
Commit message (Collapse)AuthorAge
...
| * | WorkStruct: make allyesconfigDavid Howells2006-11-22
| | | | | | | | | | | | | | | | | | Fix up for make allyesconfig. Signed-Off-By: David Howells <dhowells@redhat.com>
| * | WorkStruct: Pass the work_struct pointer instead of context dataDavid Howells2006-11-22
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass the work_struct pointer to the work function rather than context data. The work function can use container_of() to work out the data. For the cases where the container of the work_struct may go away the moment the pending bit is cleared, it is made possible to defer the release of the structure by deferring the clearing of the pending bit. To make this work, an extra flag is introduced into the management side of the work_struct. This governs auto-release of the structure upon execution. Ordinarily, the work queue executor would release the work_struct for further scheduling or deallocation by clearing the pending bit prior to jumping to the work function. This means that, unless the driver makes some guarantee itself that the work_struct won't go away, the work function may not access anything else in the work_struct or its container lest they be deallocated.. This is a problem if the auxiliary data is taken away (as done by the last patch). However, if the pending bit is *not* cleared before jumping to the work function, then the work function *may* access the work_struct and its container with no problems. But then the work function must itself release the work_struct by calling work_release(). In most cases, automatic release is fine, so this is the default. Special initiators exist for the non-auto-release case (ending in _NAR). Signed-Off-By: David Howells <dhowells@redhat.com>
| * lkkbd: Remove my old snail-mail addressJan-Benedict Glaw2006-11-17
| | | | | | | | | | | | | | | | I moved to a different town and my old snail-mail address is invalid now. Also, there's no need at all to have any address like that in the sources, so remove it completely. Signed-off-by: Jan-Benedict Glaw <jbglaw@lug-owl.de>
* | Input: add to kernel-api docbookRandy Dunlap2006-11-24
| | | | | | | | | | | | | | | | Add input subsystem to kernel-api docbook. Enhance some function and parameter comments. Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: add driver for keyboard on AAED-2000 development board (ARM)Nicolas Bellido2006-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | The keyboard is connected via GPIOs to the processor, and scanned using a column sample register. The hardware provides no debouncing mechanism, so the state of the keys is read KBDSCAN_STABLE_COUNT times before being reported to the input layer. The status of the keys needs to be polled because there is no interrupt hooked to the lines. A workqueue is used for this. Signed-off-by: Nicolas Bellido Y Ortega <ml@acolin.be> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: handle serio_register_driver() errorsAkinobu Mita2006-11-23
| | | | | | | | | | Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: serio - make serio_register_driver() return errorsDmitry Torokhov2006-11-23
| | | | | | | | | | | | | | | | | | | | | | | | Perform actual driver registration right in serio_register_driver() instead of offloading it to kseriod and return proper error code to callers if driver registration fails. Note that driver <-> port matching is still done by kseriod to speed up boot process since probing for PS/2 mice and keyboards is pretty slow. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: serio - remove serio_unregister_port_delayed()Dmitry Torokhov2006-11-17
| | | | | | | | | | | | | | Now that i8042 reserves IRQs early there are no more users of this function and it should be removed. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: add Philips UCB1400 touchscreen driverNicolas Pitre2006-11-17
| | | | | | | | | | Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: i8042 - fix shutdown issue on some boxes with active MUXesDmitry Torokhov2006-11-17
| | | | | | | | | | | | | | | | | | | | | | MUX error handling has a workaround for KBCs that get confused which port data came from and signal MUXERR while data is actually good. Unfortunately this workaround hurts with KBCs that signal timeouts as 0xfc (spec says that only 0xfd, 0xfe and 0xff are alowed with MUXERR) since it causes endless attempts to rescan i8042 serio ports. The solution is to treat 0xfc as timeout (0xfe). Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: mousedev - remap BTN_FORWARD from BTN_LEFT to BTN_MIDDLEMarton Nemeth2006-11-17
| | | | | | | | | | | | | | | | | | | | | | In mousedev the BTN_LEFT and BTN_FORWARD were mapped to mouse button 0, causing that the user space program cannot distinguish between them through /dev/input/mice. All mice have BTN_LEFT, but not all have BTN_MIDDLE (e.g. Clevo D410J laptop). Mapping BTN_FORWARD to mouse button 2 makes the BTN_FORWARD button useful on this laptop. Signed-off-by: Marton Nemeth <nm127@freemail.hu> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: psmouse - fix attribute access on 64-bit systemsSergey Vlasov2006-11-09
| | | | | | | | | | | | | | | | psmouse_show_int_attr() and psmouse_set_int_attr() were accessing unsigned int fields as unsigned long, which gave garbage on x86_64. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: mice - handle errors when registering input devicesDmitry Torokhov2006-11-05
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: joysticks - handle errors when registering input devicesDmitry Torokhov2006-11-05
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: touchscreens - handle errors when registering input devicesDmitry Torokhov2006-11-05
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: keyboards - handle errors when registering input devicesDmitry Torokhov2006-11-05
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6Dmitry Torokhov2006-11-04
|\|
| * sh: Cleanup board header directories.Paul Mundt2006-10-19
| | | | | | | | | | | | | | | | Now with the ide.h mess sorted out, most of these boards don't need their own directory. Move the headers out, and update the driver paths. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2006-10-17
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] switch to new pci_get_bus_and_slot API [ARM] Update mach-types [ARM] Fix Zaurii keyboard/touchscreen drivers [ARM] Fix fallout from IRQ regs changes [ARM] 3890/1: [Jornada7xx] Addition of MCU commands into jornada720.h [ARM] 3889/1: [Jornada7xx] Addition of correct SDRAM params into cpu-sa1110.c [ARM] 3888/1: add pxa27x SSP FSRT register bit definition
| | * [ARM] Fix Zaurii keyboard/touchscreen driversRussell King2006-10-15
| | | | | | | | | | | | | | | | | | | | | | | | The Zaurii drivers were partially fixed up for the IRQ register changes, but unfortunately missed some bits, resulting in build errors. Fix these. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | Merge git://git.kernel.org/pub/scm/linux/kernel/git/dtor/inputLinus Torvalds2006-10-17
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: fm801-gp - handle errors from pci_enable_device() Input: gameport core - handle errors returned by device_bind_driver() Input: serio core - handle errors returned by device_bind_driver() Lockdep: fix compile error in drivers/input/serio/serio.c Input: serio - add lockdep annotations Lockdep: add lockdep_set_class_and_subclass() and lockdep_set_subclass() Input: atkbd - supress "too many keys" error message Input: i8042 - supress ACK/NAKs when blinking during panic Input: add missing exports to fix modular build
| * | | [PATCH] hp drivers/input stuff: C99 initializers, NULL noise removal, __user ↵Al Viro2006-10-15
| | |/ | |/| | | | | | | | | | | | | | | | annotations Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] Use linux/io.h instead of asm/io.hMatthew Wilcox2006-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | In preparation for moving check_signature, change these users from asm/io.h to linux/io.h Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | Input: logips2pp - handle sysfs errorsJeff Garzik2006-11-02
| | | | | | | | | | | | | | | Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: trackpoint - handle sysfs errorsJeff Garzik2006-11-02
| | | | | | | | | | | | | | | | | | | | | Also use kzalloc instead of kcalloc since we are allocating single object. Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: ads7846 - handle errors from sysfsDmitry Torokhov2006-11-02
| | | | | | | | | | | | | | | | | | | | | Add sysfs error handling and switch to using attribute groups to simplify it. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: i8042 - remove unneeded call to i8042_interrupt()Dmitry Torokhov2006-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove call to i8042_interrupt() from i8042_aux_write(). According to Vojtech it may cause problems with older controllers if it is called right after real interrupt. Also it is not needed anymore since we register IRQs early and not waiting for serio ports to be opened. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: lifebook - learn about hard tabsAndrew Morton2006-11-02
| | | | | | | | | | | | | | | Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: lifebook - add Hitachi Flora-IE 55mi tablet DMI signatureGreg Chandler2006-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | This adds another DMI detected touchscreen. It is exactly the same driver as the existing ones, but this allows it to be detected on the Hitachi Flora-IE 55mi tablet. The original Midori drivers are "abeo antiquus". This should allow new life for these machines. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: gameport - rearrange gameport_bus initializationDmitry Torokhov2006-11-02
| | | | | | | | | | | | | | | | | | | | | Initialize gameport_bus structure at compile time instead of at runtime in gameport_init(). Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: serio - rearrange serio_bus initializationMarton Nemeth2006-11-02
| | | | | | | | | | | | | | | | | | | | | | | | Initialize serio_bus structure at compile time instead of at runtime in serio_init(). Signed-off-by: Marton Nemeth <nm127@freemail.hu> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: lightning - return proper error codes from l4_init()Akinobu Mita2006-11-02
| | | | | | | | | | | | | | | Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: add comments to input_{allocate|free}_device()Dmitry Torokhov2006-11-02
| |/ |/| | | | | | | | | | | Hopefully this will stop people from using input_free_device() incorrectly. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: fm801-gp - handle errors from pci_enable_device()Jeff Garzik2006-10-12
| | | | | | | | | | Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: gameport core - handle errors returned by device_bind_driver()Dmitry Torokhov2006-10-12
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: serio core - handle errors returned by device_bind_driver()Dmitry Torokhov2006-10-12
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: serio - add lockdep annotationsJiri Kosina2006-10-11
| | | | | | | | | | | | Signed-off-by: Jiri Kosina <jikos@jikos.cz> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: atkbd - supress "too many keys" error messageDmitry Torokhov2006-10-11
| | | | | | | | | | | | | | | | | | Many users seems to be annoyed by this warning so kill the message and implement a counter exported as a sysfs attribute so we still know what is going on. Make atkbd use attribute groups while we are at it. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: i8042 - supress ACK/NAKs when blinking during panicDmitry Torokhov2006-10-11
|/ | | | | | This allows using SysRq and not fill logs with complaints from atkbd. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* [PATCH] m68k/HP300: Enable HIL configuration optionsGeert Uytterhoeven2006-10-09
| | | | | | | | Enable HIL configuration options on HP300 Signed-off-by: Kars de Jong <jongk@linux-m68k.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Build fixes for struct pt_regs removalMatthew Wilcox2006-10-06
| | | | Signed-off-by: Matthew Wilcox <matthew@wil.cx>
* IRQ: Maintain regs pointer globally rather than passing to IRQ handlersDavid Howells2006-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: David Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
* more misc typo fixesMatt LaPlante2006-10-03
| | | | Signed-off-by: Adrian Bunk <bunk@stusta.de>
* Fix several typos in drivers/Matt LaPlante2006-10-03
| | | | Signed-off-by: Adrian Bunk <bunk@stusta.de>
* Merge branch 'for-linus' of ↵Linus Torvalds2006-10-02
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: (35 commits) Input: wistron - add support for Acer TravelMate 2424NWXCi Input: wistron - fix setting up special buttons Input: add KEY_BLUETOOTH and KEY_WLAN definitions Input: add new BUS_VIRTUAL bus type Input: add driver for stowaway serial keyboards Input: make input_register_handler() return error codes Input: remove cruft that was needed for transition to sysfs Input: fix input module refcounting Input: constify input core Input: libps2 - rearrange exports Input: atkbd - support Microsoft Natural Elite Pro keyboards Input: i8042 - disable MUX mode on Toshiba Equium A110 Input: i8042 - get rid of polling timer Input: send key up events at disconnect Input: constify psmouse driver Input: i8042 - add Amoi to the MUX blacklist Input: logips2pp - add sugnature 56 (Cordless MouseMan Wheel), cleanup Input: add driver for Touchwin serial touchscreens Input: add driver for Touchright serial touchscreens Input: add driver for Penmount serial touchscreens ...
| * Input: wistron - add support for Acer TravelMate 2424NWXCiAshutosh Naik2006-10-01
| | | | | | | | | | | | | | | | The key mappings are the same as the older Acer TravelMate 240. Signed-off-by: Ashutosh Naik <ashutosh.naik@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: wistron - fix setting up special buttonsReiner Herrmann2006-10-01
| | | | | | | | | | | | | | | | | | If either wifi or bluetooth button has been detected, the code would break off the loop. But there are laptops that have both types of buttons, so the loop has to continue checking. Signed-off-by: Reiner Herrmann <reiner@reiner-h.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: add driver for stowaway serial keyboardsMarek Vasut2006-09-19
| | | | | | | | | | | | | | | | | | Add support for stowaway and stowaway compatible (eg. dicota inutPDA) serial keyboards. Reported to work on palm zire71 and palm tungsten T3. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6Dmitry Torokhov2006-09-19
| |\
| * | Input: make input_register_handler() return error codesDmitry Torokhov2006-09-14
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>