summaryrefslogtreecommitdiffstats
path: root/drivers/input
Commit message (Collapse)AuthorAgeFilesLines
* WorkStruct: make allyesconfigDavid Howells2006-11-223-9/+10
| | | | | | 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-222-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-171-5/+0
| | | | | | | | 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>
* sh: Cleanup board header directories.Paul Mundt2006-10-191-1/+1
| | | | | | | | 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-174-5/+5
|\ | | | | | | | | | | | | | | | | | | | | * 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-154-5/+5
| | | | | | | | | | | | | | | | 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-176-28/+104
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * | Input: fm801-gp - handle errors from pci_enable_device()Jeff Garzik2006-10-121-7/+15
| | | | | | | | | | | | | | | 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-121-2/+16
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: serio core - handle errors returned by device_bind_driver()Dmitry Torokhov2006-10-121-2/+14
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: serio - add lockdep annotationsJiri Kosina2006-10-112-2/+7
| | | | | | | | | | | | | | | | | | 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-111-13/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-111-2/+11
| | | | | | | | | | | | | | | | | | This allows using SysRq and not fill logs with complaints from atkbd. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | [PATCH] hp drivers/input stuff: C99 initializers, NULL noise removal, __user ↵Al Viro2006-10-153-15/+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-111-1/+1
|/ | | | | | | | | 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>
* [PATCH] m68k/HP300: Enable HIL configuration optionsGeert Uytterhoeven2006-10-094-5/+5
| | | | | | | | 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-064-20/+20
| | | | Signed-off-by: Matthew Wilcox <matthew@wil.cx>
* IRQ: Maintain regs pointer globally rather than passing to IRQ handlersDavid Howells2006-10-0564-239/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-031-1/+1
| | | | Signed-off-by: Adrian Bunk <bunk@stusta.de>
* Fix several typos in drivers/Matt LaPlante2006-10-032-3/+3
| | | | Signed-off-by: Adrian Bunk <bunk@stusta.de>
* Merge branch 'for-linus' of ↵Linus Torvalds2006-10-0239-789/+2716
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-011-1/+10
| | | | | | | | | | | | | | | | 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-011-5/+2
| | | | | | | | | | | | | | | | | | 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-193-0/+199
| | | | | | | | | | | | | | | | | | 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-195-78/+103
| |\
| * | Input: make input_register_handler() return error codesDmitry Torokhov2006-09-147-20/+29
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: remove cruft that was needed for transition to sysfsDmitry Torokhov2006-09-141-10/+0
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: fix input module refcountingDmitry Torokhov2006-09-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Now that input_free_device is basically an alias for input_put_device we need to acquire a reference to input module right when we allocate device because input_dev_release releases reference to input module unconditionally. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: constify input coreDmitry Torokhov2006-09-147-23/+27
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: libps2 - rearrange exportsDmitry Torokhov2006-09-141-11/+9
| | | | | | | | | | | | | | | | | | The new way is to mark function as exported right after its definition. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: atkbd - support Microsoft Natural Elite Pro keyboardsDmitry Torokhov2006-09-142-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Microsoft Natural Elite Pro keyboard produces unisual response to the GET ID command - single byte 0xaa (normally keyboards produce 2-byte response). Fail GET ID command so atkbd gets a change to do alternate probe. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: i8042 - disable MUX mode on Toshiba Equium A110Dmitry Torokhov2006-09-141-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | When keyboard controller is in active multiplexing mode ALPS touchpad may get detected twice. Since the box does not have external PS/2 ports simply disabling MUX mode is safe solution. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: i8042 - get rid of polling timerDmitry Torokhov2006-09-102-362/+388
| | | | | | | | | | | | | | | | | | | | | | | | Remove polling timer that was used to detect keybord/mice hotplug and register both IRQs right away instead of waiting for a driver to attach to a port. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: send key up events at disconnectDmitry Torokhov2006-09-101-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | Emit key up events for all pressed keys/buttons when disconnecting an input device. Cures "stuck" enter key effect when unloading keyboard module. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: constify psmouse driverHelge Deller2006-09-106-32/+40
| | | | | | | | | | | | | | | Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: i8042 - add Amoi to the MUX blacklistCjacker Huang2006-08-081-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | ALPS touchpad on Amoi laptops (Amoi is a vendor in China) is not detected when keyboard controller is in MUX mode, add to blacklist. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: logips2pp - add sugnature 56 (Cordless MouseMan Wheel), cleanupHelge Deller2006-08-081-11/+12
| | | | | | | | | | | | | | | Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: add driver for Touchwin serial touchscreensRick Koch2006-08-053-0/+216
| | | | | | | | | | | | | | | Signed-off-by: Rick Koch <n1gp@hotmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: add driver for Touchright serial touchscreensRick Koch2006-08-053-0/+209
| | | | | | | | | | | | | | | Signed-off-by: Rick Koch <n1gp@hotmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: add driver for Penmount serial touchscreensRick Koch2006-08-053-0/+198
| | | | | | | | | | | | | | | Signed-off-by: Rick Koch <n1gp@hotmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: elo - add support for non-pressure-sensitive touchscreensShaun Jackman2006-08-051-17/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use the touch status bit rather than the pressure bits to distinguish a BTN_TOUCH event. Non-pressure-sensitive touchscreens always report full pressure - Report ABS_PRESSURE information only if the touchscreen supports it Signed-off-by: Shaun Jackman <sjackman@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: elo - fix checksum calculationShaun Jackman2006-08-051-26/+29
| | | | | | | | | | | | | | | | | | | | | | | | Fix 10-byte protocol checksum calculation and do not discard packet early unless it is missing lead in byte. Signed-off-by: Shaun Jackman <sjackman@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: elo - handle input_register_device() failuresDmitry Torokhov2006-08-051-6/+12
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: uinput - switch to the new FF interfaceAnssi Hannula2006-07-191-16/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | The userspace interface of the force feedback part is changed and documentation in uinput.h is updated accordingly. MODULE_VERSION is also incremented to reflect the revision. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: iforce - switch to the new FF interfaceAnssi Hannula2006-07-194-238/+147
| | | | | | | | | | | | | | | Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: unified force feedback support for memoryless devicesAnssi Hannula2006-07-193-0/+531
| | | | | | | | | | | | | | | | | | | | | | | | Consolidate core implementing memoryless devices in one module; added support for gain and envelopes and periodic => rumble conversion. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: implement new force feedback interfaceAnssi Hannula2006-07-194-18/+389
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement a new force feedback interface, in which all non-driver-specific operations are separated to a common module. This includes handling effect type validations, locking, etc. The effects are now file descriptor specific instead of the previous strange half-process half-fd specific behaviour. The effect memory of devices is not emptied if the root user opens and closes the device while another user is using effects. This is a minor change and most likely no force feedback aware programs are affected by this negatively. Otherwise the userspace interface is left unaltered. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: move fixp-arith.h to drivers/inputAnssi Hannula2006-07-191-0/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move fixp-arith.h from drivers/usb/input to drivers/input, as the part of force feedback support that requires trigonometric functions is being moved there. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: rename input.ko into input-core.koDmitry Torokhov2006-07-191-1/+3
| | | | | | | | | | | | | | | | | | | | | This will allow building input core module from several files which is needed for the reworked force feedback support. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | [PATCH] update legacy io handling for pmacOlaf Hering2006-10-011-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ppc can boot one single binary on prep, chrp and pmac boards. ppc64 can boot one single binary on pseries and G5 boards. pmac has no legacy io, probing for PC style legacy hardware (or accessing the legacy io area regulary) may lead to a hard crash: * add check for parport_pc, exit on pmac. 32bit chrp has no ->check_legacy_ioport, the probe is always called. 64bit chrp has check_legacy_ioport, check for a "parallel" node * add check for isapnp, only PReP boards may have real ISA slots. 32bit PReP will have no ->check_legacy_ioport, the probe is always called. * update code in i8042_platform_init. Run ->check_legacy_ioport first, always call request_region. No functional change. Remove whitespace before i8042_reset init. Signed-off-by: Olaf Hering <olaf@aepfle.de> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Adam Belay <ambx1@neo.rr.com> Cc: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>