summaryrefslogtreecommitdiff
path: root/drivers/input
AgeCommit message (Collapse)AuthorFilesLines
2007-07-17Freezer: make kernel threads nonfreezable by defaultRafael J. Wysocki3-0/+3
Currently, the freezer treats all tasks as freezable, except for the kernel threads that explicitly set the PF_NOFREEZE flag for themselves. This approach is problematic, since it requires every kernel thread to either set PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn't care for the freezing of tasks at all. It seems better to only require the kernel threads that want to or need to be frozen to use some freezer-related code and to remove any freezer-related code from the other (nonfreezable) kernel threads, which is done in this patch. The patch causes all kernel threads to be nonfreezable by default (ie. to have PF_NOFREEZE set by default) and introduces the set_freezable() function that should be called by the freezable kernel threads in order to unset PF_NOFREEZE. It also makes all of the currently freezable kernel threads call set_freezable(), so it shouldn't cause any (intentional) change of behaviour to appear. Additionally, it updates documentation to describe the freezing of tasks more accurately. [akpm@linux-foundation.org: build fixes] Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Nigel Cunningham <nigel@nigel.suspend2.net> Cc: Pavel Machek <pavel@ucw.cz> Cc: Oleg Nesterov <oleg@tv-sign.ru> Cc: Gautham R Shenoy <ego@in.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-12sysfs: kill unnecessary attribute->ownerTejun Heo1-1/+0
sysfs is now completely out of driver/module lifetime game. After deletion, a sysfs node doesn't access anything outside sysfs proper, so there's no reason to hold onto the attribute owners. Note that often the wrong modules were accounted for as owners leading to accessing removed modules. This patch kills now unnecessary attribute->owner. Note that with this change, userland holding a sysfs node does not prevent the backing module from being unloaded. For more info regarding lifetime rule cleanup, please read the following message. http://article.gmane.org/gmane.linux.kernel/510293 (tweaked by Greg to not delete the field just yet, to make it easier to merge things properly.) Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Cornelia Huck <cornelia.huck@de.ibm.com> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-10Input: tsdev - fix broken usec-to-millisecs conversionAndrew Morton1-1/+1
Noted by Fengwei Yin <yfw.kernel@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: pxa27x_keyboard - fix compile errorMike Rapoport1-1/+1
Signed-off-by: Mike Rapoport <mike@compulab.co.il> Acked-by: Rodolfo Giometti <giometti@linux.it> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: serio_raw - shut up errorneous warningAndrew Morton1-1/+1
drivers/input/serio/serio_raw.c: In function 'serio_raw_read': drivers/input/serio/serio_raw.c:163: warning: 'c' may be used uninitialized in this function Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: atkbd - change mapping for e032 from KEY_WWW to KEY_HOMEPAGEHans de Goede1-2/+2
WWW/Homepage key on Microsoft-compatible keyboards generates KEY_WWW when connected via PS/2 port but KEY_HOMEPAGE when connected via USB. This patch changes mapping in atkbd to match one in HID driver. Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl> Acked-by: Vojtech Pavlik <vojtech@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: usbtouchscreen - add support for IRTOUCHSYSTEMS touchscreensOndrej Zary2-0/+39
This patch adds support for IRTOUCHSYSTEMS (or UNITOP) infrared touchscreens. The touchscreen sends data in 8-byte packets. BYTE 0 - unknown meaning, seen only one value: 0x54 BYTE 1 - unknown meaning, 3 lowest bits indicate touch state values seen: 0x81, 0x82 or 0x83 bit 0 = set if the screen is touched and was not touched before (touch bit 1 = set if the screen is touched and was touched (dragging) bit 2 = set if the touch was ended (release) BYTES 2 and 3 - X position, high-order-byte first, range = 0 to 0x0FFF BYTES 4 and 5 - Y position, high-order-byte first, range = 0 to 0x0FFF BYTE 6 - unknown meaning, seen only one value: 0xFF BYTE 7 - unknown meaning, seen only one value: 0x00 Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: xpad - fix report for dpad and inverted Y and RY axes on xbox 360Dmitry Torokhov1-20/+20
Make the driver report Y/RY up as positive value and down as negative. Also make DPAD mapping the same as classic xpad. Reported-by: Brian Magnuson <bdmagnuson@gmail.com> Tested-by: Jan Kratochvil <honza@jikos.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: xpad - make xpad_play_effect() staticAdrian Bunk1-1/+2
xpad_play_effect() does not need to be global. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: xpad - fix check for succesful usb_buffer_allocJan Kratochvil1-1/+1
Signed-off-by: Jan Kratochvil <honza@jikos.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: grip-mp - use ARRAY_SIZEAndi Drebes1-2/+2
Signed-off-by: Andi Drebes <lists-receive@programmierforen.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: wacom - add support for the new Bamboo tabletsPing Cheng4-9/+53
Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: add gpio-mouse driverHans-Christian Egtvedt3-0/+213
Adds support for simulating a mouse using GPIO lines. The driver needs an appropriate platform device to be created by architecture code. The driver has been tested on AT32AP7000 microprocessor using the ATSTK1000 development board. Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: convert from class devices to standard devicesDmitry Torokhov5-299/+335
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: wistron - add support for querying/changing keymapDmitry Torokhov1-34/+87
Implement getkeycode and setkeycode methods for the device so EVIOCGKEYCODE and EVIOCSKEYCODE ioctls will work. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: wistron - convert to use input-polldevDmitry Torokhov2-99/+102
Switch to using input-polldev skeleton instead of implementing polling loop by itself. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: wistron - add LED supportEric Piel2-2/+91
Add support to wistron_btns for leds that come with the multimedia keys. Mail and wifi leds are supported, on laptops which have them. Depending on the laptop, wifi subsystem may control just the led, or both the led and the wifi card. Wifi led interface is activated only for the former type of laptops, as the latter type is already managed. Leds are controled by the interface in /sys/class/leds. Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: wriston - reduce polling frequencyEric Piel1-4/+14
Reduces the polling frequency from 10 Hz to 2 Hz, which should be less a burden for laptops wrt energy saving. As it is multimedia keys, 500ms (maximum) of latency should be still fine for the user. In order to keep fluent the feeling when the user is pressing several keys in a raw (such as changing the volume), the frequency is increased for a short duration after a key is pressed. Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - update driver versionRene van Paassen1-2/+2
Update credits and version number to 2.3 Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - rework the function key codeRene van Paassen1-51/+46
Function keys (also called macro keys) code corrected. Using a lastMacro variable to keep track of key currently pressed. This ensures proper resetting when dragging the pen in the drawing area or to another key. Also suppress sending pressure reports when over the macro key area. Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - tolerate newlines in sysfs filesRene van Paassen1-1/+4
Now echo "some value" > /sys/......./somefile is also acceptable. Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - correct the tool switching codeRene van Paassen1-42/+52
Now the old tool is remembered, and reset when a new tool is selected via the sysfs files. Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - use only absolute misc reportsRene van Paassen1-1/+4
To get an on - off reporting for proximity, absolute misc reports are used. The mixture of absolute and relative reports is awkward Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - put sensible warnings in probeRene van Paassen1-6/+22
Added warnings to the points where the tablet probe may fail Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - use set_bit instead of bitwise orRene van Paassen1-8/+20
Have to use set_bit since some bit values are over 32, and bitwise or won't work on these. To be safe for the future too, use set_bit for all input dev capabilities Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - fix relative mode parsingMark Vytlacil1-5/+7
Corrections to relative mode, was looking at wrong byte Signed-off-by: Mark Vytlacil <mrv@wi.rr.com> Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - fixed mouse button definesRene van Paassen1-3/+3
Mouse button defines tested the wrong bits, now fixed Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - correct the proximity and validity checksRene van Paassen1-8/+8
Calculation of proximity bit and of data valid bits were reversed for stylus reports. Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - correct documentation on reportsRene van Paassen1-2/+2
Small fix that corrects the documentation on the report byte format produced by the mouse Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - use array to list all buttonsDmitry Torokhov1-17/+12
When setting up input device use an array to list all the buttons instead of setting every bit separately. Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - kill aiptek_convert_from_2s_complement()Dmitry Torokhov1-22/+2
There is no reason to do that, just tell the compiler that we are dealing with signed values in buffer, that's it. Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - use maps in attributesDmitry Torokhov1-224/+138
Use maps to convert for strings to internal constants and vice versa in aiptek's sysfs attribute methods instead of open-coding it. This results in smaller code that is also easier to maintain. [Rene: fix a typo - stylys instead of stylus] Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - do not check for NULL in attribute methodsDmitry Torokhov1-101/+0
It makes no sense to check for NULL in attribute methods - we do usb_set_intfdata before creating attributes and once attributes have been removed we are guaranteed to not be called. Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - use attribute groupDmitry Torokhov1-69/+40
Use attribute group to simplify error handling and reduce code. [Rene: add missing NULL to properly terminate aiptek_attributes] Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - remove vendor and product attributes from sysfsDmitry Torokhov1-73/+0
They are already exported by input core; there is no need to do it twice. Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: aiptek - do not try to export associated event deviceDmitry Torokhov1-42/+0
Do not try to export via sysfs associated event device - it does not work when evdev is a module that is loaded after aiptek; also it pokes too deply into input core internals. Userspace should rely on udev to set up permanent device name for the tablet. Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: psmouse - add support for Cortron PS/2 TrackballsAristeu Rozanski2-0/+30
Cortron PS/2 Trackballs (700-0001A) report the 4th button using the 4th bit of the first packet (yes, it breaks the standard PS/2 protocol). This patch adds an extra protocol to generate BTN_SIDE based on the 4th bit. There's no way to detect those trackballs using any kind of special sequence, thus the protocol must be activated explicitely by writing into 'protocol' sysfs attribute: echo -n "cortps" > /sys/devices/platform/i8042/serio1/protocol Signed-off-by: Aristeu Rozanski <arozansk@redhat.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: xpad - add Xbox360 gamepad rumble supportJan Kratochvil2-4/+128
Implementation is using force feedback support for memoryless devices. Signed-off-by: Jan Kratochvil <honza@jikos.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10Input: xpad - add support for Xbox 360 gamepadJan Kratochvil1-34/+117
Xbox 360 gamepad is slightly different then the previous model so it has its own version of process_packet method. Detection of this new device relies on USB_DEVICE_INTERFACE_PROTOCOL macro. This device got vendor specific subclass so it can't be matched with USB_INTERFACE_INFO and we need only one interface protocol from four availaible. It means USB_DEVICE can't be used either. Added xpad360_btn structure with additional buttons for x360 gamepad. Added xtype into xpad_device structure to distinguish between different types of xbox devices. Signed-off-by: Jan Kratochvil <honza@jikos.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-06Merge branch 'for-linus' of ↵Linus Torvalds3-17/+43
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: document some of keycodes Input: add a new EV_SW SW_RADIO event, for radio switches on laptops Input: serio - take drv_mutex in serio_cleanup() Input: atkbd - use printk_ratelimit for spurious ACK messages Input: atkbd - throttle LED switching Input: i8042 - add HP Pavilion ZT1000 to the MUX blacklist
2007-06-29Input: serio - take drv_mutex in serio_cleanup()Dmitry Torokhov1-0/+2
We need to take serio->drv_mutex in serio_cleanup() to prevent the function from being called while driver is in the middle of attaching to a serio port. Such situation can happen with i8042 and atkbd drivers if user rapidly presses Ctrl-Alt-Del during system startup, and leads to kernel oops. Reported-by: Dave Young <hidave.darkstar@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-28Input: atkbd - use printk_ratelimit for spurious ACK messagesQi Yong1-3/+4
Signed-off-by: Qi Yong <qiyong@mail.fc-cn.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-28Input: atkbd - throttle LED switchingDmitry Torokhov1-14/+26
On some boxes keyboard controllers are too slow to withstand continuous flow of requests to turn keyboard LEDs on and off and start losing some keypresses or even all of them. Delay executing of LED switching request if we had another one within 50 ms thus easing load on the controller. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-28Input: i8042 - add HP Pavilion ZT1000 to the MUX blacklistDmitry Torokhov1-0/+11
This should get rid of "atkbd.c: Suprious NAK on isa0060/serio0" messages caused by broken MUX implementation. The box does not have external PS/2 ports and, according to documentation, automatically disables touchpad when an external mouse is plugged into a port replicator, so MUX mode would not work anyway. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-21x86_64: Quieten Atari keyboard warnings in KconfigAndi Kleen1-0/+3
Not directly related to x86, but I got tired of seeing these warnings on every kconfig update when building on a non m68k box: drivers/input/keyboard/Kconfig:170:warning: 'select' used by config symbol 'KEYBOARD_ATARI' refers to undefined symbol 'ATARI_KBD_CORE' drivers/input/mouse/Kconfig:182:warning: 'select' used by config symbol 'MOUSE_ATARI' refers to undefined symbol 'ATARI_KBD_CORE' I moved the definition of ATARI_KBD_CORE into drivers/input/keyboard/Kconfig so it's always seen by Kconfig. Cc: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-14Merge branch 'for-linus' of ↵Linus Torvalds7-34/+54
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: move input-polldev to drivers/input Input: i8042 - add ULI EV4873 to noloop list Input: i8042 - add ASUS P65UP5 to the noloop list Input: usbtouchscreen - fix fallout caused by move from drivers/usb
2007-06-13Input: move input-polldev to drivers/inputDmitry Torokhov5-12/+14
To work around deficiences in Kconfig that allows to "select" a symbol without automatically selecting all dependencies for that symbol move input-polldev from drivers/input/misc to drivers/input thus removing extra dependency on CONFIG_INPUT_MISC. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-12Input: i8042 - add ULI EV4873 to noloop listDmitry Torokhov1-0/+9
The box does not implement AUX LOOP command properly and so we can't test for AUX IRQ delivery so blacklist it via DMI and assume that AUX port is present. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-12Input: i8042 - add ASUS P65UP5 to the noloop listDmitry Torokhov1-0/+9
This board does not raise AUX IRQ in response to AUX LOOP command which interferes with our test for proper AUX IRQ wiring. Put it in the blacklist and assume mouse is present. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-12Input: usbtouchscreen - fix fallout caused by move from drivers/usbOndrej Zary1-22/+22
During the move from drivers/usb/input into drivers/input/touchscreen Kconfig variables were shuffled a bit to use a new namespace (CONFIG_TOUCHSCREEN) while usbtouchscreen was still using old ones. Also noticed by Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>