aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
Commit message (Collapse)AuthorAge
* some kmalloc/memset ->kzalloc (tree wide)Yoann Padioleau2007-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Freezer: make kernel threads nonfreezable by defaultRafael J. Wysocki2007-07-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* sysfs: kill unnecessary attribute->ownerTejun Heo2007-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Input: tsdev - fix broken usec-to-millisecs conversionAndrew Morton2007-07-10
| | | | | | | 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>
* Input: pxa27x_keyboard - fix compile errorMike Rapoport2007-07-10
| | | | | | Signed-off-by: Mike Rapoport <mike@compulab.co.il> Acked-by: Rodolfo Giometti <giometti@linux.it> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: serio_raw - shut up errorneous warningAndrew Morton2007-07-10
| | | | | | | | 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>
* Input: atkbd - change mapping for e032 from KEY_WWW to KEY_HOMEPAGEHans de Goede2007-07-10
| | | | | | | | | | 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>
* Input: usbtouchscreen - add support for IRTOUCHSYSTEMS touchscreensOndrej Zary2007-07-10
| | | | | | | | | | | | | | | | | | | | 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>
* Input: xpad - fix report for dpad and inverted Y and RY axes on xbox 360Dmitry Torokhov2007-07-10
| | | | | | | | | 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>
* Input: xpad - make xpad_play_effect() staticAdrian Bunk2007-07-10
| | | | | | | 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>
* Input: xpad - fix check for succesful usb_buffer_allocJan Kratochvil2007-07-10
| | | | | Signed-off-by: Jan Kratochvil <honza@jikos.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: grip-mp - use ARRAY_SIZEAndi Drebes2007-07-10
| | | | | Signed-off-by: Andi Drebes <lists-receive@programmierforen.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: wacom - add support for the new Bamboo tabletsPing Cheng2007-07-10
| | | | | Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: add gpio-mouse driverHans-Christian Egtvedt2007-07-10
| | | | | | | | | | | | 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>
* Input: convert from class devices to standard devicesDmitry Torokhov2007-07-10
| | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: wistron - add support for querying/changing keymapDmitry Torokhov2007-07-10
| | | | | | | Implement getkeycode and setkeycode methods for the device so EVIOCGKEYCODE and EVIOCSKEYCODE ioctls will work. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: wistron - convert to use input-polldevDmitry Torokhov2007-07-10
| | | | | | | Switch to using input-polldev skeleton instead of implementing polling loop by itself. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: wistron - add LED supportEric Piel2007-07-10
| | | | | | | | | | | | | | 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>
* Input: wriston - reduce polling frequencyEric Piel2007-07-10
| | | | | | | | | | | 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>
* Input: aiptek - update driver versionRene van Paassen2007-07-10
| | | | | | | 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>
* Input: aiptek - rework the function key codeRene van Paassen2007-07-10
| | | | | | | | | | | 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>
* Input: aiptek - tolerate newlines in sysfs filesRene van Paassen2007-07-10
| | | | | | | 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>
* Input: aiptek - correct the tool switching codeRene van Paassen2007-07-10
| | | | | | | | 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>
* Input: aiptek - use only absolute misc reportsRene van Paassen2007-07-10
| | | | | | | | 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>
* Input: aiptek - put sensible warnings in probeRene van Paassen2007-07-10
| | | | | | | 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>
* Input: aiptek - use set_bit instead of bitwise orRene van Paassen2007-07-10
| | | | | | | | | 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>
* Input: aiptek - fix relative mode parsingMark Vytlacil2007-07-10
| | | | | | | | 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>
* Input: aiptek - fixed mouse button definesRene van Paassen2007-07-10
| | | | | | | 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>
* Input: aiptek - correct the proximity and validity checksRene van Paassen2007-07-10
| | | | | | | | 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>
* Input: aiptek - correct documentation on reportsRene van Paassen2007-07-10
| | | | | | | | 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>
* Input: aiptek - use array to list all buttonsDmitry Torokhov2007-07-10
| | | | | | | | 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>
* Input: aiptek - kill aiptek_convert_from_2s_complement()Dmitry Torokhov2007-07-10
| | | | | | | | 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>
* Input: aiptek - use maps in attributesDmitry Torokhov2007-07-10
| | | | | | | | | | | 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>
* Input: aiptek - do not check for NULL in attribute methodsDmitry Torokhov2007-07-10
| | | | | | | | | | 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>
* Input: aiptek - use attribute groupDmitry Torokhov2007-07-10
| | | | | | | | | 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>
* Input: aiptek - remove vendor and product attributes from sysfsDmitry Torokhov2007-07-10
| | | | | | | 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>
* Input: aiptek - do not try to export associated event deviceDmitry Torokhov2007-07-10
| | | | | | | | | | | | 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>
* Input: psmouse - add support for Cortron PS/2 TrackballsAristeu Rozanski2007-07-10
| | | | | | | | | | | | | | 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>
* Input: xpad - add Xbox360 gamepad rumble supportJan Kratochvil2007-07-10
| | | | | | | 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>
* Input: xpad - add support for Xbox 360 gamepadJan Kratochvil2007-07-10
| | | | | | | | | | | | | | | | 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>
* Merge branch 'for-linus' of ↵Linus Torvalds2007-07-05
|\ | | | | | | | | | | | | | | | | | | | | | | 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
| * Input: serio - take drv_mutex in serio_cleanup()Dmitry Torokhov2007-06-29
| | | | | | | | | | | | | | | | | | | | | | 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>
| * Input: atkbd - use printk_ratelimit for spurious ACK messagesQi Yong2007-06-28
| | | | | | | | | | Signed-off-by: Qi Yong <qiyong@mail.fc-cn.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: atkbd - throttle LED switchingDmitry Torokhov2007-06-28
| | | | | | | | | | | | | | | | | | | | | | 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>
| * Input: i8042 - add HP Pavilion ZT1000 to the MUX blacklistDmitry Torokhov2007-06-28
| | | | | | | | | | | | | | | | | | | | 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>
* | x86_64: Quieten Atari keyboard warnings in KconfigAndi Kleen2007-06-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge branch 'for-linus' of ↵Linus Torvalds2007-06-13
|\| | | | | | | | | | | | | | | | | | | 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
| * Input: move input-polldev to drivers/inputDmitry Torokhov2007-06-13
| | | | | | | | | | | | | | | | | | 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>
| * Input: i8042 - add ULI EV4873 to noloop listDmitry Torokhov2007-06-12
| | | | | | | | | | | | | | | | 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>
| * Input: i8042 - add ASUS P65UP5 to the noloop listDmitry Torokhov2007-06-12
| | | | | | | | | | | | | | | | 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>