aboutsummaryrefslogtreecommitdiff
path: root/drivers/input
AgeCommit message (Collapse)AuthorFilesLines
2006-12-01Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6Linus Torvalds1-3/+3
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (103 commits) usbcore: remove unused argument in autosuspend USB: keep count of unsuspended children USB hub: simplify remote-wakeup handling USB: struct usb_device: change flag to bitflag OHCI: make autostop conditional on CONFIG_PM USB: Add autosuspend support to the hub driver EHCI: Fix root-hub and port suspend/resume problems USB: create a new thread for every USB device found during the probe sequence USB: add driver for the USB debug devices USB: added dynamic major number for USB endpoints USB: pegasus error path not resetting task's state USB: endianness fix for asix.c USB: build the appledisplay driver USB serial: replace kmalloc+memset with kzalloc USB: hid-core: canonical defines for Apple USB device IDs USB: idmouse cleanup USB: make drivers/usb/core/driver.c:usb_device_match() static USB: lh7a40x_udc remove double declaration USB: pxa2xx_udc recognizes ixp425 rev b0 chip usbtouchscreen: add support for DMC TSC-10/25 devices ...
2006-12-01Driver core: change misc class_devices to be real devicesGreg Kroah-Hartman1-1/+1
This also ment that some of the misc drivers had to also be fixed up as they were assuming the device was a class_device. Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-12-01usb: iforce-usb free urb cleanupMariusz Kozlowski1-3/+3
- usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-11-24Input: add to kernel-api docbookRandy Dunlap2-3/+3
Add input subsystem to kernel-api docbook. Enhance some function and parameter comments. Signed-off-by: Randy Dunlap <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-24Input: add driver for keyboard on AAED-2000 development board (ARM)Nicolas Bellido3-0/+215
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 <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-23Input: handle serio_register_driver() errorsAkinobu Mita26-53/+41
Signed-off-by: Akinobu Mita <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-23Input: serio - make serio_register_driver() return errorsDmitry Torokhov1-33/+74
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 <[email protected]>
2006-11-22WorkStruct: make allyesconfigDavid Howells3-9/+10
Fix up for make allyesconfig. Signed-Off-By: David Howells <[email protected]>
2006-11-22WorkStruct: Pass the work_struct pointer instead of context dataDavid Howells2-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 <[email protected]>
2006-11-17lkkbd: Remove my old snail-mail addressJan-Benedict Glaw1-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 <[email protected]>
2006-11-17Input: serio - remove serio_unregister_port_delayed()Dmitry Torokhov1-18/+0
Now that i8042 reserves IRQs early there are no more users of this function and it should be removed. Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-17Input: add Philips UCB1400 touchscreen driverNicolas Pitre3-0/+595
Signed-off-by: Nicolas Pitre <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-17Input: i8042 - fix shutdown issue on some boxes with active MUXesDmitry Torokhov1-7/+11
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 <[email protected]>
2006-11-17Input: mousedev - remap BTN_FORWARD from BTN_LEFT to BTN_MIDDLEMarton Nemeth1-1/+1
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 <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-09Input: psmouse - fix attribute access on 64-bit systemsSergey Vlasov1-3/+6
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 <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-05Input: mice - handle errors when registering input devicesDmitry Torokhov8-60/+154
Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-05Input: joysticks - handle errors when registering input devicesDmitry Torokhov16-59/+120
Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-05Input: touchscreens - handle errors when registering input devicesDmitry Torokhov5-44/+68
Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-05Input: keyboards - handle errors when registering input devicesDmitry Torokhov10-92/+234
Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-04Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6Dmitry Torokhov9-22/+22
2006-11-02Input: logips2pp - handle sysfs errorsJeff Garzik1-2/+9
Signed-off-by: Jeff Garzik <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-02Input: trackpoint - handle sysfs errorsJeff Garzik1-2/+10
Also use kzalloc instead of kcalloc since we are allocating single object. Signed-off-by: Jeff Garzik <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-02Input: ads7846 - handle errors from sysfsDmitry Torokhov1-34/+61
Add sysfs error handling and switch to using attribute groups to simplify it. Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-02Input: i8042 - remove unneeded call to i8042_interrupt()Dmitry Torokhov1-18/+3
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 <[email protected]>
2006-11-02Input: lifebook - learn about hard tabsAndrew Morton1-45/+43
Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-02Input: lifebook - add Hitachi Flora-IE 55mi tablet DMI signatureGreg Chandler1-0/+6
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 <[email protected]>
2006-11-02Input: gameport - rearrange gameport_bus initializationDmitry Torokhov1-10/+9
Initialize gameport_bus structure at compile time instead of at runtime in gameport_init(). Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-02Input: serio - rearrange serio_bus initializationMarton Nemeth1-11/+11
Initialize serio_bus structure at compile time instead of at runtime in serio_init(). Signed-off-by: Marton Nemeth <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-02Input: lightning - return proper error codes from l4_init()Akinobu Mita1-2/+2
Signed-off-by: Akinobu Mita <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-11-02Input: add comments to input_{allocate|free}_device()Dmitry Torokhov1-1/+24
Hopefully this will stop people from using input_free_device() incorrectly. Signed-off-by: Dmitry Torokhov <[email protected]>
2006-10-19sh: Cleanup board header directories.Paul Mundt1-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 <[email protected]>
2006-10-17Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds4-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
2006-10-17Merge git://git.kernel.org/pub/scm/linux/kernel/git/dtor/inputLinus Torvalds6-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
2006-10-15[PATCH] hp drivers/input stuff: C99 initializers, NULL noise removal, __user ↵Al Viro3-15/+15
annotations Signed-off-by: Al Viro <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-15[ARM] Fix Zaurii keyboard/touchscreen driversRussell King4-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 <[email protected]>
2006-10-12Input: fm801-gp - handle errors from pci_enable_device()Jeff Garzik1-7/+15
Signed-off-by: Jeff Garzik <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-10-12Input: gameport core - handle errors returned by device_bind_driver()Dmitry Torokhov1-2/+16
Signed-off-by: Dmitry Torokhov <[email protected]>
2006-10-12Input: serio core - handle errors returned by device_bind_driver()Dmitry Torokhov1-2/+14
Signed-off-by: Dmitry Torokhov <[email protected]>
2006-10-11[PATCH] Use linux/io.h instead of asm/io.hMatthew Wilcox1-1/+1
In preparation for moving check_signature, change these users from asm/io.h to linux/io.h Signed-off-by: Matthew Wilcox <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-11Input: serio - add lockdep annotationsJiri Kosina2-2/+7
Signed-off-by: Jiri Kosina <[email protected]> Acked-by: Peter Zijlstra <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-10-11Input: atkbd - supress "too many keys" error messageDmitry Torokhov1-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 <[email protected]>
2006-10-11Input: i8042 - supress ACK/NAKs when blinking during panicDmitry Torokhov1-2/+11
This allows using SysRq and not fill logs with complaints from atkbd. Signed-off-by: Dmitry Torokhov <[email protected]>
2006-10-09[PATCH] m68k/HP300: Enable HIL configuration optionsGeert Uytterhoeven4-5/+5
Enable HIL configuration options on HP300 Signed-off-by: Kars de Jong <[email protected]> Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-06Build fixes for struct pt_regs removalMatthew Wilcox4-20/+20
Signed-off-by: Matthew Wilcox <[email protected]>
2006-10-05IRQ: Maintain regs pointer globally rather than passing to IRQ handlersDavid Howells64-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 <[email protected]> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
2006-10-03more misc typo fixesMatt LaPlante1-1/+1
Signed-off-by: Adrian Bunk <[email protected]>
2006-10-03Fix several typos in drivers/Matt LaPlante2-3/+3
Signed-off-by: Adrian Bunk <[email protected]>
2006-10-02Merge branch 'for-linus' of ↵Linus Torvalds39-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 ...
2006-10-01Input: wistron - add support for Acer TravelMate 2424NWXCiAshutosh Naik1-1/+10
The key mappings are the same as the older Acer TravelMate 240. Signed-off-by: Ashutosh Naik <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-10-01Input: wistron - fix setting up special buttonsReiner Herrmann1-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 <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>