summaryrefslogtreecommitdiffstats
path: root/drivers/input
AgeCommit message (Collapse)AuthorFilesLines
2007-07-21x86_64: use the global PIT lockThomas Gleixner1-3/+8
Replace the pcspkr private PIT lock by the global PIT lock to serialize the PIT access all over the place. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20Merge branch 'for-linus' of ↵Linus Torvalds10-113/+545
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: appletouch - improve powersaving for Geyser3 devices Input: lifebook - fix an oops on Panasonic CF-18 Input: document intended meaning of KEY_SWITCHVIDEOMODE Input: switch to using seq_list_xxx helpers Input: i8042 - give more trust to PNP data on i386 Input: add driver for Fujitsu serial touchscreens Input: ads7846 - re-check pendown status before reporting events Input: ads7846 - introduce sample settling delay Input: xpad - add support for leds on xbox 360 pad
2007-07-20Input: appletouch - improve powersaving for Geyser3 devicesSoeren Sonnenburg1-37/+74
The appletouch geyser3 devices found in the Intel Macs (and possibly some later PPC ones?) send a constant stream of packets after the first touch. This results in the kernel waking up around once every couple of milliseconds to process them, making it almost impossible to spend any significant amount of time in C3 state on a dynamic HZ kernel. Sending the mode initialization code makes the device shut up until it's touched again. This patch does so after receiving 10 packets with no interesting content. Signed-off-by: Soeren Sonnenburg <kernel@nn7.de> Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-20Input: lifebook - fix an oops on Panasonic CF-18Dmitry Torokhov1-1/+1
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-19some kmalloc/memset ->kzalloc (tree wide)Yoann Padioleau3-12/+6
Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc). Here is a short excerpt of the semantic patch performing this transformation: @@ type T2; expression x; identifier f,fld; expression E; expression E1,E2; expression e1,e2,e3,y; statement S; @@ x = - kmalloc + kzalloc (E1,E2) ... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\) - memset((T2)x,0,E1); @@ expression E1,E2,E3; @@ - kzalloc(E1 * E2,E3) + kcalloc(E1,E2,E3) [akpm@linux-foundation.org: get kcalloc args the right way around] Signed-off-by: Yoann Padioleau <padator@wanadoo.fr> Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Acked-by: Russell King <rmk@arm.linux.org.uk> Cc: Bryan Wu <bryan.wu@analog.com> Acked-by: Jiri Slaby <jirislaby@gmail.com> Cc: Dave Airlie <airlied@linux.ie> Acked-by: Roland Dreier <rolandd@cisco.com> Cc: Jiri Kosina <jkosina@suse.cz> Acked-by: Dmitry Torokhov <dtor@mail.ru> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org> Acked-by: Pierre Ossman <drzeus-list@drzeus.cx> Cc: Jeff Garzik <jeff@garzik.org> Cc: "David S. Miller" <davem@davemloft.net> Acked-by: Greg KH <greg@kroah.com> Cc: James Bottomley <James.Bottomley@steeleye.com> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-18Input: switch to using seq_list_xxx helpersPavel Emelianov1-25/+4
This is essentially just a renaming of the existing functions as copies of seq_list_start() and seq_list_next() already existed in the input.c. Signed-off-by: Pavel Emelianov <xemul@openvz.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-18Input: i8042 - give more trust to PNP data on i386Dmitry Torokhov1-7/+29
On some boxes that don't have PS/2 mice connected at startup BIOS completely disables AUX port and attempts to access it result in hosed keyboard. Historically we do not trust ACPI/PNP data on i386 and try to poke AUX port even if we did not find an active PNP node for it. However in cases when BIOS writers got KBD port properly described we can assume that they did the right thing for AUX port as well. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-18Input: add driver for Fujitsu serial touchscreensDmitry Torokhov3-0/+203
These serial touchscreens are found on some Fujitsu lifebook P-series laptops, and the B6210. Using this requires a new version of inputattach and doing: inputattach -fjt /dev/ttyS0 Big thanks to Stephen Hemminger for testing it and making it work on his B6210 laptop. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-18Input: ads7846 - re-check pendown status before reporting eventsSemih Hazar1-0/+15
Pendown status from the PENIRQ pin is currently read only at the beginning of a sample set. If the pen is lifted just after sampling has began then sampled values become wrong. This patch adds an optional platform penirq_recheck_delay attribute. If non-zero, samples are only reported to the input subsystem if PENIRQ is still active that long after the samples taken. Signed-off-by: Semih Hazar <semih.hazar@indefia.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-18Input: ads7846 - introduce sample settling delaySemih Hazar1-1/+64
The ads7846 driver has support for filtering, but when the chip gets deselected between samples this causes noise. This patch adds support for an optional settling delay time, so that two consecutive samples will be taken with the specified delay time apart. This ensures that the chip won't be deselected, so the noise won't appear. Filtering can still be done, but will have less work to do since each time a new sample is taken the same delay applies. Signed-off-by: Semih Hazar <semih.hazar@indefia.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-18Input: xpad - add support for leds on xbox 360 padJan Kratochvil2-42/+155
Export LEDs on Xbox360 pad via led subsystem as a single device in /sys/class/leds/xpad[0-9]+. Xbox360 pad has four leds, which form a circle. Unfortunately the leds can't be controlled independently and can only display a predefined set of patterns (for example one is turned on wile others are off or a rotating pattern - 1-2-3-4). To activate a pattern one needs to send a specific command to the device (see http://www.free60.org/wiki/Gamepad). Led subsystem allows us to set brightness, but there is nothing like brightness on this device. So brightness is actually interpreted as the command (only values between 0 and 14 are accepted). Signed-off-by: Jan Kratochvil <honza@jikos.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
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-11sysfs: 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>