aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-linus' into nextDmitry Torokhov2010-10-176-17/+34
|\
| * Input: wacom - fix pressure in Cintiq 21UX2Aristeu Rozanski2010-10-101-1/+3
| | | | | | | | | | | | | | | | | | | | Currently the pressure range in Cintiq 21UX2 is limited to half of the supported. This patch fixes the problem. Signed-off-by: Aristeu Rozanski <aris@redhat.com> Acked-by: Ping Cheng <pingc@wacom.com> CC: stable@kernel.org Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: wacom - fix runtime PM related deadlockDmitry Torokhov2010-10-041-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When runtime PM is enabled by default for input devices, X hangs in wacom open: [<ffffffff814a00ea>] mutex_lock+0x1a/0x40 [<ffffffffa02bc94b>] wacom_resume+0x3b/0x90 [wacom] [<ffffffff81327a32>] usb_resume_interface+0xd2/0x190 [<ffffffff81327b5d>] usb_resume_both+0x6d/0x110 [<ffffffff81327c24>] usb_runtime_resume+0x24/0x40 [<ffffffff8130a2cf>] __pm_runtime_resume+0x26f/0x450 [<ffffffff8130a23a>] __pm_runtime_resume+0x1da/0x450 [<ffffffff8130a53a>] pm_runtime_resume+0x2a/0x50 [<ffffffff81328176>] usb_autopm_get_interface+0x26/0x60 [<ffffffffa02bc626>] wacom_open+0x36/0x90 [wacom] wacom_open() takes wacom->lock and calls usb_autopm_get_interface(), which in turn calls wacom_resume() which tries to acquire the lock again. The fix is to call usb_autopm_get_interface() first, before we take the lock. Since we do not do usb_autopm_put_interface() until wacom_close() is called runtime PM is effectively disabled for the driver, however changing it now would risk regressions so the complete fix will have to wait till the next merge window. Reported-by: Jiri Slaby <jslaby@suse.cz> Acked-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: joydev - fix JSIOCSAXMAP ioctlKenneth Waters2010-09-211-0/+3
| | | | | | | | | | | | | | | | | | | | Fixed JSIOCSAXMAP ioctl to update absmap, the map from hardware axis to event axis in addition to abspam. This fixes a regression introduced by 999b874f. Signed-off-by: Kenneth Waters <kwwaters@gmail.com> Cc: stable@kernel.org Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: uinput - setup MT usage during device creationHenrik Rydberg2010-09-191-0/+7
| | | | | | | | | | | | | | | | | | | | | | The input devices created by uinput do not currently handle multitouch properly. All events will appear as if they came from slot zero, and the input event buffers are not adjusted. This patch creates the MT slots during setup, and sets the number of events per packet based on the MT usage. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: i8042 - fix device removal on unloadDmitry Torokhov2010-08-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | We need to call platform_device_unregister(i8042_platform_device) before calling platform_driver_unregister() because i8042_remove() resets i8042_platform_device to NULL. This leaves the platform device instance behind and prevents driver reload. Fixes https://bugzilla.kernel.org/show_bug.cgi?id=16613 Reported-by: Seryodkin Victor <vvscore@gmail.com> Cc: stable@kernel.org Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: bcm5974 - adjust major/minor to scaleHenrik Rydberg2010-08-311-4/+8
| | | | | | | | | | | | | | | | | | By visual inspection, the reported touch_major and touch_minor axes are a factor of two too small. Presumably the device actually reports the semi-major and semi-minor axes. Corrected with this patch. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: ad7877 - filter events where pressure is beyond the maximumMichael Hennerich2010-10-171-0/+7
| | | | | | | | | | | | | | | | Suppress events where pressure > pressure_max. These events come typically along with inaccurate X and Y samples. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: ad7877 - implement EV_KEY:BTN_TOUCH reportingMichael Hennerich2010-10-171-5/+12
| | | | | | | | | | | | | | | | | | Some input users such as Android or X require BTN_TOUCH events. Implement EV_KEY:BTN_TOUCH and make sure that the release event is not erroneous scheduled without a preceding valid touch. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: ad7877 - implement specified chip select behaviorMichael Hennerich2010-10-171-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the AD7877 datasheet: Each transfer operation is 16-bit. If multiple read/write operations are to be performed, CS must be taken high after the end of each read/write operation before another read/write operation can be performed by taking CS low again. Make sure CS toggles after each transfer in the message. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: hp680_ts_input - use cancel_delayed_work_sync()Tejun Heo2010-10-171-4/+2
| | | | | | | | | | | | | | | | | | | | | | Make hp680_ts_init/exit() call cancel_delayed_work_sync() instead of calling cancel_delayed_work() followed by flush_scheduled_work(). This is to prepare for the deprecation and removal of flush_scheduled_work(). Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: mousedev - correct lockdep annotationHitoshi Mitake2010-10-171-1/+1
| | | | | | | | | | | | | | | | When annotating mutex to avoid false lockdep reports we should not be using MOUSEDEV_MIX as lock subclass but rather SINGLE_DEPTH_NESTING. Signed-off-by: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: ads7846 - switch to using threaded IRQJason Wang2010-10-171-430/+456
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 9114337 introduces regulator operations in ads7846 touchscreen driver. Among these operations, some are called while holding a spinlock. On many platforms regulators reside on slow buses, such as I2C/SPI and require sleep while accessing them. The touchscreen itself is also a SPI device and currently relies on asynchronous SPI access to avoid sleeping in interrupt context. Let's switch to using threaded IRQ to be able to access SPI bus synchronously (which simplifies driver a bit); it also allows safe access to the regulators as well. This has been tested on the ti_omap3530evm board: 1) using ts_lib after normal boot 2) using ts_lib after "#echo 1/0 > /sys/bus/spi/devices/spi0.1/disable" 3) using ts_lib after "#echo mem > /sys/power/state" and "wake up" Also tested on pandora. Based on original patch by Dmitry Torokhov. Tested-by: Grazvydas Ignotas <notasas@gmail.com> Signed-off-by: Jason Wang <jason77.wang@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: serio - support multiple child devices per single parentDmitry Eremin-Solenikov2010-10-133-46/+86
| | | | | | | | | | | | | | | | | | Some (rare) serio devices need to have multiple serio children. One of the examples is PS/2 multiplexer present on several TQC STKxxx boards, which connect PS/2 keyboard and mouse to single tty port. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: synaptics - simplify pass-through port handlingDmitry Torokhov2010-10-132-6/+32
| | | | | | | | | | | | | | There was too much knowledge about internals if serio in the pass-through handling, clean it up. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: add ROHM BU21013 touch panel controller supportNaveen Kumar Gaddipati2010-10-134-0/+705
| | | | | | | | | | | | | | | | | | | | Add the ROHM BU21013 capacitive touch panel controller support with i2c interface. Acked-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Naveen Kumar Gaddipati <naveen.gaddipati@stericsson.com> Acked-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: omap4-keypad - wake-up on events & long pressesMike Turquette2010-10-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Program keyboard controller to generate a wake-up request on events and on long key presses. It will not generate wake-up requests on timeouts since driver code does not handle them. This allows keyboard to wake-up OMAP from suspend. Signed-off-by: Mike Turquette <mturquette@ti.com> Signed-off-by: Abraham Arce <x0066660@ti.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: omap4-keypad - fix interrupt line configurationAbraham Arce2010-10-131-1/+1
| | | | | | | | | | | | | | Select correct interrupt line behaviour. Signed-off-by: Abraham Arce <x0066660@ti.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: omap4-keypad - SYSCONFIG register configurationAbraham Arce2010-10-131-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove SYSCONFIG register configuration, omap hwmod framework will use internal API to modify as required. Other minor updates: - Change a variable name from DEF to VAL, this represents a value - Break line width to 80 characters Signed-off-by: Abraham Arce <x0066660@ti.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: omap4-keypad - use platform device helpersAbraham Arce2010-10-132-8/+36
| | | | | | | | | | | | | | | | | | | | Get mem and irq resources using platform helpers - platform_get_base - platform_get_irq Signed-off-by: Abraham Arce <x0066660@ti.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | ux500 - add platform data for Nomadik SKE keypad controllerSundar Iyer2010-10-135-16/+167
| | | | | | | | | | Signed-off-by: Sundar Iyer <sundar.iyer@stericsson.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: add support for Nomadik SKE keypad controllerSundar Iyer2010-10-134-0/+469
| | | | | | | | | | | | | | | | | | Add support for the keypad controller in the Scroll Key Encoder (SKE) module on the Nomadik family and the DB8500 SoC. Acked-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Sundar Iyer <sundar.iyer@stericsson.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: twl4030_keypad - fix error handling pathDmitry Torokhov2010-10-131-4/+3
| | | | | | | | | | | | | | We should not try to call free_irq() when request_irq() failed. Reported-by: G, Manjunath Kondaiah <manjugk@ti.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: return -ENOMEM in select drivers when memory allocation failsDavidlohr Bueso2010-10-134-4/+4
| | | | | | | | | | | | | | Instead of using -1 let's start using proper error codes. Signed-off-by: Davidlohr Bueso <dave@gnu.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: emu10k1 - do not leave device enabled when probe failsDmitry Torokhov2010-10-131-18/+25
| | | | | | | | | | | | | | Rework emu_probe() to make sure we leave the device disabled if probe fails for any reason. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: hil_kbd - add missing MODULE_DEVICE_TABLE()Dzianis Kahanovich2010-10-131-0/+2
| | | | | | | | | | Signed-off-by: Dzianis Kahanovich <mahatma@eu.by> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: sysrq - add locking to sysrq_filter()Dmitry Torokhov2010-09-291-3/+12
| | | | | | | | | | | | | | | | Similarly to the keyboard handler, we are called by different input devices and thus need to add spinlock if we want to maintain our state properly. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: i8042 - use unsigned char for 0x90Christoph Fritz2010-09-291-1/+1
| | | | | | | | | | | | | | Keep the file consistent and make clear that we mean 144 instead of -112. Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: fm801-gp - add missing call to pci_disable_device()Dmitry Torokhov2010-09-292-6/+7
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: emu10k1-gp - add missing calls to pci_disable_device()Rahul Ruikar2010-09-291-0/+2
| | | | | | | | | | | | | | | | | | pci_disable_device() is called for following 2 cases - error path in emu_probe() - in emu_remove() Signed-off-by: Rahul Ruikar <rahul.ruikar@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: hanwang - add support for Art Master HD 5012 tabletXing Wei2010-09-291-21/+73
| | | | | | | | | | | | | | This adds support for hanwang Art Master HD 5012 electromagnetic tablet. Signed-off-by: Xing Wei <weixing@hanwang.com.cn> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: hid-input - allow mapping unknown usagesDmitry Torokhov2010-09-151-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently HID layer only allows to remap keycodes for known usages, and responds with -EINVAL when user tries to map new usage code. This precludes us form relying on udev/keymap for establishing correct mappings and forces us to write dummy HID drivers responsible only for setting up keymaps. Let's allow remapping not only usages that have been set up as keys (usage->type == EV_KEY) but also yet-unmapped usages (usage->type == 0). Acked-by: Jarod Wilson <jarod@redhat.com> Acked-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: ati_remote2 - switch to using new keycode interfaceDmitry Torokhov2010-09-151-28/+65
| | | | | | | | | | | | | | | | | | | | | | Switch the code to use new style of getkeycode and setkeycode methods to allow retrieving and setting keycodes not only by their scancodes but also by index. Acked-by: Ville Syrjälä <syrjala@sci.fi> Tested-by: Jarod Wilson <jarod@wilsonet.com> Tested-by: Ville Syrjälä <syrjala@sci.fi> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: gameport_driver - drop private pointerDmitry Torokhov2010-09-141-2/+0
| | | | | | | | | | | | Nobody uses it anymore. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: gameport_driver - mark description as const pointerDmitry Torokhov2010-09-141-1/+1
| | | | | | | | | | | | Memory pointed to by the pointer should not change. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: serio_driver - drop private pointerDmitry Torokhov2010-09-141-1/+0
| | | | | | | | | | | | Nobody uses it anymore. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: serio_driver - mark id_table and description as constDmitry Torokhov2010-09-141-2/+2
| | | | | | | | | | | | Memory pointed to by these fields is not supposed to change. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: serio - do not include linux/freezer.hDmitry Torokhov2010-09-141-1/+0
| | | | | | | | | | | | | | Commit ea486e681188d64c6a101d8d06414aef0f9f0cd3 changed kseriod thread to become not freezable so we do not need this include anymore. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: hanwang - make compatible with xf86-input-wacom driverXing Wei2010-09-121-4/+33
| | | | | | | | | | | | | | | | Add necessary events so that Hanwang Art Master III tablet can be handled by the stock xf86-input-wacom driver. Signed-off-by: Xing Wei <weixing@hanwang.com.cn> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - disable Bamboo touchpad when pen is being usedChris Bagwell2010-09-121-1/+7
| | | | | | | | | | | | Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - add support for Bamboo PenChris Bagwell2010-09-121-0/+79
| | | | | | | | | | | | | | | | | | This adds support for Pen on Bamboo Pen and Bamboo Pen&Touch devices. Touchpad is handled by previous Bamboo Touch logic. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - move Bamboo Touch irq to its own functionChris Bagwell2010-09-121-4/+9
| | | | | | | | | | | | | | | | This is in preparation of pen support in same irq handler. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - request tablet data for Bamboo PensChris Bagwell2010-09-121-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bamboo P&T need to use second form of usb_set_report() to ask to report tablet data. With previous addition of Bamboo Touch, BTN_TOOL_TRIPLETAP is now used for both TABLETPC2FG and BAMBOO_PT types. So reduced check to match type=TABLETPC2FG. This change shows redundant check for !TABLETPC2FG in else statement. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: hid-input - switch to using new keycode interfaceDmitry Torokhov2010-09-091-33/+70
| | | | | | | | | | | | | | | | | | Switch HID code to use new style of getkeycode and setkeycode methods to allow retrieving and setting keycodes not only by their scancodes but also by index. Acked-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: media/IR - switch to using new keycode interfaceDmitry Torokhov2010-09-092-132/+263
| | | | | | | | | | | | | | | | | | Switch the code to use new style of getkeycode and setkeycode methods to allow retrieving and setting keycodes not only by their scancodes but also by index. Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: sparse-keymap - switch to using new keycode interfaceDmitry Torokhov2010-09-091-16/+65
| | | | | | | | | | | | | | | | | | Switch sparse keymap library to use new style of getkeycode and setkeycode methods to allow retrieving and setting keycodes not only by their scancodes but also by index. Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: add support for large scancodesMauro Carvalho Chehab2010-09-094-86/+292
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several devices use a high number of bits for scancodes. One important group is the Remote Controllers. Some new protocols like RC-6 define a scancode space of 64 bits. The current EVIO[CS]GKEYCODE ioctls allow replace the scancode/keycode translation tables, but it is limited to up to 32 bits for scancode. Also, if userspace wants to clean the existing table, replacing it by a new one, it needs to run a loop calling the ioctls over the entire sparse scancode space. To solve those problems, this patch extends the ioctls to allow drivers handle scancodes up to 32 bytes long (the length could be extended in the future should such need arise) and allow userspace to query and set scancode to keycode mappings not only by scancode but also by index. Compatibility code were also added to handle the old format of EVIO[CS]GKEYCODE ioctls. Folded fixes by: - Dan Carpenter: locking fixes for the original implementation - Jarod Wilson: fix crash when setting keycode and wiring up get/set handlers in original implementation. - Dmitry Torokhov: rework to consolidate old and new scancode handling, provide options to act either by index or scancode. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: cy8ctmg110 - add fuzz to ABS_X and ABS_Y to remove jitterJames Ketrenos2010-09-061-2/+2
| | | | | | | | | | | | | | | | | | Without this the jitter on the touchscreen makes it hard to use for most GUI toolkits. Signed-off-by: James Ketrenos<jketreno@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - add a quirk for low resolution Bamboo devicesHenrik Rydberg2010-09-052-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The Bamboo Touch reports a sub-screen resolution of 480x320. The signal-to-noise ratio is only about 100, so filtering is needed in order to reduce the jitter to a usable level. However, the low resolution leads to round-off errors in the EWMA filter, resulting in extremely jerky pointer motion. This patch explicitly sets a higher resolution for those devices, and tells this to the completion handler via a low-resolution quirk. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - add support for the Bamboo Touch trackpadHenrik Rydberg2010-09-052-0/+92
| | | | | | | | | | | | | | | | | | | | Add support for the Bamboo Touch trackpad, and make it work with both the Synaptics X Driver and the Multitouch X Driver. The device uses MT slots internally, so the choice of protocol is a given. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>