aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
Commit message (Collapse)AuthorAgeFilesLines
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/dtor/inputLinus Torvalds2006-01-108-136/+4
|\
| * Input: remove obsolete maple input driversPaul Mundt2006-01-105-123/+0
| | | | | | | | | | | | | | | | These haven't worked in some time, and we've dropped support for the bus from the SH tree until someone shows some interest in maintaining it. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: prepare for f_ops constnessArjan van de Ven2006-01-101-1/+1
| | | | | | | | | | | | | | | | Avoid doing assignments to a live ->fops so it can be marked as 'const'. Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: wistron - do not crash if BIOS does not support interfaceMiloslav Trmac2006-01-101-3/+3
| | | | | | | | | | | | | | | | | | offset can never be < 0 because it has type size_t. The driver currently oopses on insmod if BIOS does not support the interface, instead of refusing to load. Signed-off-by: Miloslav Trmac <mitr@volny.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: grip_mp - kill commented out codeDmitry Torokhov2006-01-101-9/+0
| | | | | | | | | | | | Kill leftovers of dynalloc conversion. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | [PATCH] TTY layer buffering revampAlan Cox2006-01-101-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The API and code have been through various bits of initial review by serial driver people but they definitely need to live somewhere for a while so the unconverted drivers can get knocked into shape, existing drivers that have been updated can be better tuned and bugs whacked out. This replaces the tty flip buffers with kmalloc objects in rings. In the normal situation for an IRQ driven serial port at typical speeds the behaviour is pretty much the same, two buffers end up allocated and the kernel cycles between them as before. When there are delays or at high speed we now behave far better as the buffer pool can grow a bit rather than lose characters. This also means that we can operate at higher speeds reliably. For drivers that receive characters in blocks (DMA based, USB and especially virtualisation) the layer allows a lot of driver specific code that works around the tty layer with private secondary queues to be removed. The IBM folks need this sort of layer, the smart serial port people do, the virtualisers do (because a virtualised tty typically operates at infinite speed rather than emulating 9600 baud). Finally many drivers had invalid and unsafe attempts to avoid buffer overflows by directly invoking tty methods extracted out of the innards of work queue structs. These are no longer needed and all go away. That fixes various random hangs with serial ports on overflow. The other change in here is to optimise the receive_room path that is used by some callers. It turns out that only one ldisc uses receive room except asa constant and it updates it far far less than the value is read. We thus make it a variable not a function call. I expect the code to contain bugs due to the size alone but I'll be watching and squashing them and feeding out new patches as it goes. Because the buffers now dynamically expand you should only run out of buffering when the kernel runs out of memory for real. That means a lot of the horrible hacks high performance drivers used to do just aren't needed any more. Description: tty_insert_flip_char is an old API and continues to work as before, as does tty_flip_buffer_push() [this is why many drivers dont need modification]. It does now also return the number of chars inserted There are also tty_buffer_request_room(tty, len) which asks for a buffer block of the length requested and returns the space found. This improves efficiency with hardware that knows how much to transfer. and tty_insert_flip_string_flags(tty, str, flags, len) to insert a string of characters and flags For a smart interface the usual code is len = tty_request_buffer_room(tty, amount_hardware_says); tty_insert_flip_string(tty, buffer_from_card, len); More description! At the moment tty buffers are attached directly to the tty. This is causing a lot of the problems related to tty layer locking, also problems at high speed and also with bursty data (such as occurs in virtualised environments) I'm working on ripping out the flip buffers and replacing them with a pool of dynamically allocated buffers. This allows both for old style "byte I/O" devices and also helps virtualisation and smart devices where large blocks of data suddenely materialise and need storing. So far so good. Lots of drivers reference tty->flip.*. Several of them also call directly and unsafely into function pointers it provides. This will all break. Most drivers can use tty_insert_flip_char which can be kept as an API but others need more. At the moment I've added the following interfaces, if people think more will be needed now is a good time to say int tty_buffer_request_room(tty, size) Try and ensure at least size bytes are available, returns actual room (may be zero). At the moment it just uses the flipbuf space but that will change. Repeated calls without characters being added are not cumulative. (ie if you call it with 1, 1, 1, and then 4 you'll have four characters of space. The other functions will also try and grow buffers in future but this will be a more efficient way when you know block sizes. int tty_insert_flip_char(tty, ch, flag) As before insert a character if there is room. Now returns 1 for success, 0 for failure. int tty_insert_flip_string(tty, str, len) Insert a block of non error characters. Returns the number inserted. int tty_prepare_flip_string(tty, strptr, len) Adjust the buffer to allow len characters to be added. Returns a buffer pointer in strptr and the length available. This allows for hardware that needs to use functions like insl or mencpy_fromio. Signed-off-by: Alan Cox <alan@redhat.com> Cc: Paul Fulghum <paulkf@microgate.com> Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Serge Hallyn <serue@us.ibm.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: John Hawkes <hawkes@sgi.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge Linus' tree.Russell King2006-01-093-25/+17
|\ \
| * | [PATCH] IRQ type flagsRussell King2006-01-082-17/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some ARM platforms have the ability to program the interrupt controller to detect various interrupt edges and/or levels. For some platforms, this is critical to setup correctly, particularly those which the setting is dependent on the device. Currently, ARM drivers do (eg) the following: err = request_irq(irq, ...); set_irq_type(irq, IRQT_RISING); However, if the interrupt has previously been programmed to be level sensitive (for whatever reason) then this will cause an interrupt storm. Hence, if we combine set_irq_type() with request_irq(), we can then safely set the type prior to unmasking the interrupt. The unfortunate problem is that in order to support this, these flags need to be visible outside of the ARM architecture - drivers such as smc91x need these flags and they're cross-architecture. Finally, the SA_TRIGGER_* flag passed to request_irq() should reflect the property that the device would like. The IRQ controller code should do its best to select the most appropriate supported mode. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] small hp_sdc_rtc cleanup: use no_llseekMarcelo Tosatti2006-01-081-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use no_llseek function. Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com> Cc: "Brian S. Julin" <bri@calyx.com> Acked-by: Vojtech Pavlik <vojtech@suse.cz> Cc: Dmitry Torokhov <dtor_core@ameritech.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [ARM] Remove asm/irq.h includes from ARM driversRussell King2006-01-091-1/+0
|/ / | | | | | | | | | | | | Many ARM drivers do not need to include asm/irq.h - remove this unnecessary include from some ARM drivers. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/dtor/inputLinus Torvalds2006-01-0717-544/+853
|\ \ | |/
| * Input: i8042 - add OQO Zepto to noloop dmi table.Ben Collins2006-01-051-0/+8
| | | | | | | | | | Signed-off-by: Ben Collins <bcollins@ubuntu.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: atkbd - don't lose keymap settings when reconnecting keyboardDmitry Torokhov2006-01-051-1/+1
| | | | | | | | | | | | | | | | Call serio_reconnect() instead of serio_rescan() when detecting that a new keyboard was plugged in. This should help KVM uses losing custom keymap settings when switching between boxes. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6Dmitry Torokhov2006-01-057-24/+61
| |\
| * | Input: wistron - convert to the new platform device interfaceDmitry Torokhov2005-12-281-46/+68
| | | | | | | | | | | | | | | | | | | | | | | | Do not use platform_device_register_simple() as it is going away, implement ->probe() and ->remove() functions so manual binding and unbinding would work. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: maceps2 - convert to the new platform device interfaceDmitry Torokhov2005-12-281-16/+52
| | | | | | | | | | | | | | | | | | | | | | | | Do not use platform_device_register_simple() as it is going away, implement ->probe() and ->remove() functions so manual binding and unbinding will work with this driver. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: q40kbd - convert to the new platform device interfaceDmitry Torokhov2005-12-281-32/+57
| | | | | | | | | | | | | | | | | | | | | | | | Do not use platform_device_register_simple() as it is going away, implement ->probe() and ->remove() functions so manual binding and unbinding will work with this driver. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: ct82c710 - convert to the new platform device interfaceDmitry Torokhov2005-12-281-26/+63
| | | | | | | | | | | | | | | | | | | | | | | | Do not use platform_device_register_simple() as it is going away, implement ->probe() and ->remove() functions so manual binding and unbinding will work with this driver. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: i8042 - convert to the new platform device interfaceDmitry Torokhov2005-12-281-49/+67
| | | | | | | | | | | | | | | | | | | | | | | | Do not use platform_device_register_simple() as it is going away, implement ->probe() and ->remove() functions so manual binding and unbinding will work with this driver. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: logips2pp - add signature of MouseMan Wheel Mouse (87)Dmitry Torokhov2005-12-211-0/+1
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: sparcspkr - register with driver core as a platfrom deviceDmitry Torokhov2005-12-211-57/+105
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: m68kspkr - register with driver core as a platfrom deviceDmitry Torokhov2005-12-211-17/+85
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: pcspkr - register with driver core as a platfrom deviceDmitry Torokhov2005-12-211-6/+80
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: lifebook - add DMI signature of Fujitsu Lifebook B142Daniele Gozzi2005-12-211-0/+7
| | | | | | | | | | | | | | | | | | | | | This DMI data was found in Fujitsu LifeBook B142 (Product S/N FPC01003B, italian keyboard); re: bugzilla #5335 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: add help entry for FM801 gameport driver to KconfigDmitry Torokhov2005-12-211-0/+7
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: i8042 - disable MUX mode for Sharp MM20Dmitry Torokhov2005-12-211-0/+7
| | | | | | | | | | | | | | | | | | | | | Add yet another entry to the ever-growing list of boxes with non-working MUX implementation. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: psmouse - don't leave mouse asleepDmitry Torokhov2005-12-211-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It looks like quite a few mice out there treat PSMOUSE_RESET_DIS as a powerdown request and turn off the light rendering the mouse unusable. Vojtech recommended to switch from PSMOUSE_RESET_DIS to full reset, however we don't want to do that everywhere as full reset is pretty slow. Instead we only use it before probing for "generic" protocols, such as IntelliMouse and Explorer, to make sure that the mouse will be woken up if it went to sleep as a result of PSMOUSE_RESET_DIS issued earlier. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: ALPS - add signature for HP ze1115Larry Finger2005-12-211-0/+1
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Manual merge with Linus (conflict in drivers/input/misc/wistron_bnts.c)Dmitry Torokhov2005-12-202-2/+2
| |\ \
| * | | Input: wistron - add Acer TravelMate 240 to DMI tableAshutosh Naik2005-12-111-0/+19
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Ashutosh Naik <ashutosh.naik@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | | Input: logips2pp - add new signature (85)Jasper Spaans2005-12-111-0/+1
| | | | | | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | | Input: mousedev - make module parameters visible in sysfsDmitry Torokhov2005-12-111-5/+5
| | | | | | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | | Input: evdev - consolidate compat and regular codeDmitry Torokhov2005-12-111-280/+213
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compat and normal code mirror each other and are hard to maintain. When EV_SW was added compat_ioctl case was missed. Here is my attempt at consolidating the code. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | [ARM] Move asm/hardware/clock.h to linux/clk.hRussell King2006-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needs to be visible to other architectures using the AMBA bus and peripherals. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | | Merge with Linus' kernel.Russell King2006-01-074-21/+58
|\ \ \ \
| * | | | [PATCH] s390: cleanup KconfigMartin Schwidefsky2006-01-061-1/+1
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sanitize some s390 Kconfig options. We have ARCH_S390, ARCH_S390X, ARCH_S390_31, 64BIT, S390_SUPPORT and COMPAT. Replace these 6 options by S390, 64BIT and COMPAT. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6Linus Torvalds2006-01-042-19/+57
| |\ \ \ | | | | | | | | | | | | | | | Trivial manual merge fixup for usb_find_interface clashes.
| | * | | [PATCH] Input: add modalias supportRusty Russell2006-01-041-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here's the patch for modalias support for input classes. It uses comma-separated numbers, and doesn't describe all the potential keys (no module currently cares, and that would make the strings huge). The changes to input.h are to move the definitions needed by file2alias outside __KERNEL__. I chose not to move those definitions to mod_devicetable.h, because there are so many that it might break compile of something else in the kernel. The rest is fairly straightforward. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> CC: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * | | [PATCH] driver core: replace "hotplug" by "uevent"Kay Sievers2006-01-042-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Leave the overloaded "hotplug" word to susbsystems which are handling real devices. The driver core does not "plug" anything, it just exports the state to userspace and generates events. Signed-off-by: Kay Sievers <kay.sievers@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * | | [PATCH] remove CONFIG_KOBJECT_UEVENT optionKay Sievers2006-01-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes zero sense to have hotplug, but not the netlink events enabled today. Remove this option and merge the kobject_uevent.h header into the kobject.h header file. Signed-off-by: Kay Sievers <kay.sievers@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | | [PATCH] USB: remove .owner field from struct usb_driverGreg Kroah-Hartman2006-01-041-1/+0
| |/ / / | | | | | | | | | | | | | | | | | | | | It is no longer needed, so let's remove it, saving a bit of memory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | | | [ARM] Move AMBA include files to include/linux/amba/Russell King2006-01-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the ARM AMBA bus is used on MIPS as well as ARM, we need to make the bus available for other architectures to use. Move the AMBA include files from include/asm-arm/hardware/ to include/linux/amba/ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | | [ARM] Remove clk_use()/clk_unuse()Russell King2006-01-031-8/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | It seems that clk_use() and clk_unuse() are additional complexity which isn't required anymore. Remove them from the clock framework to avoid the additional confusion which they cause, and update all ARM machine types except for OMAP. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | [PATCH] Input: warrior - fix HAT0Y axis setupDmitry Torokhov2005-12-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a typo introduced by conversion to dynamic input_dev allocation. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [SERMOUSE]: Sun mice speak 5-byte protocol too.David S. Miller2005-12-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Noticed by Christophe Zimmerman, this explains the slow mouse movement with 2.6.x kernels. And checking the 2.4.x drivers/sbus/char/sunmouse.c driver shows we always used a 5-byte protocol with Sun mice in the past. I have no idea how the 3-byte thing got into the 2.6.x driver, but it's surely wrong. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | [SPARC]: introduce a SPARC Kconfig symbolAdrian Bunk2005-12-222-2/+2
| |/ |/| | | | | | | | | | | | | | | | | Introduce a Kconfig symbol SPARC that is defined on both the sparc and sparc64 architectures. This symbol makes some dependencies more readable. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* | [PATCH] drivers/input/misc/wistron_btns.c NULL noise removalAl Viro2005-12-151-1/+1
| | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] Input: ALPS - correctly report button presses on Fujitsu Siemens S6010Vojtech Pavlik2005-12-141-1/+1
|/ | | | | | | | Without this patch Forward and Backward buttons on the touchpad do not generate any events. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Input: make serio and gameport more swsusp friendlyDmitry Torokhov2005-11-202-6/+18
| | | | | | | | | kseriod and kgameportd used to process all pending events before checking for freeze condition. This may cause swsusp to time out while stopping tasks when resuming. Switch to process events one by one to check freeze status more often. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: handle failures in input_register_device()Dmitry Torokhov2005-11-201-27/+36
| | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>