summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2010-10-18Input: ad7877 - implement specified chip select behaviorMichael Hennerich1-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>
2010-10-18Input: hp680_ts_input - use cancel_delayed_work_sync()Tejun Heo1-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>
2010-10-18Input: mousedev - correct lockdep annotationHitoshi Mitake1-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>
2010-10-18Input: ads7846 - switch to using threaded IRQJason Wang1-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>
2010-10-13Input: serio - support multiple child devices per single parentDmitry Eremin-Solenikov2-45/+83
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>
2010-10-13Input: synaptics - simplify pass-through port handlingDmitry Torokhov2-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>
2010-10-13Input: add ROHM BU21013 touch panel controller supportNaveen Kumar Gaddipati3-0/+661
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>
2010-10-13Input: omap4-keypad - wake-up on events & long pressesMike Turquette1-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>
2010-10-13Input: omap4-keypad - fix interrupt line configurationAbraham Arce1-1/+1
Select correct interrupt line behaviour. Signed-off-by: Abraham Arce <x0066660@ti.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-10-13Input: omap4-keypad - SYSCONFIG register configurationAbraham Arce1-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>
2010-10-13Input: omap4-keypad - use platform device helpersAbraham Arce1-5/+35
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>
2010-10-13Input: add support for Nomadik SKE keypad controllerSundar Iyer3-0/+419
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>
2010-10-13Input: twl4030_keypad - fix error handling pathDmitry Torokhov1-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>
2010-10-13Input: return -ENOMEM in select drivers when memory allocation failsDavidlohr Bueso4-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>
2010-10-13Input: emu10k1 - do not leave device enabled when probe failsDmitry Torokhov1-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>
2010-10-13Input: hil_kbd - add missing MODULE_DEVICE_TABLE()Dzianis Kahanovich1-0/+2
Signed-off-by: Dzianis Kahanovich <mahatma@eu.by> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-30Input: sysrq - add locking to sysrq_filter()Dmitry Torokhov1-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>
2010-09-30Input: i8042 - use unsigned char for 0x90Christoph Fritz1-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>
2010-09-30Input: fm801-gp - add missing call to pci_disable_device()Dmitry Torokhov2-6/+7
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-30Input: emu10k1-gp - add missing calls to pci_disable_device()Rahul Ruikar1-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>
2010-09-30Input: hanwang - add support for Art Master HD 5012 tabletXing Wei1-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>
2010-09-16Input: hid-input - allow mapping unknown usagesDmitry Torokhov1-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>
2010-09-16Input: ati_remote2 - switch to using new keycode interfaceDmitry Torokhov1-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>
2010-09-14Input: serio - do not include linux/freezer.hDmitry Torokhov1-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>
2010-09-12Input: hanwang - make compatible with xf86-input-wacom driverXing Wei1-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>
2010-09-12Input: wacom - disable Bamboo touchpad when pen is being usedChris Bagwell1-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>
2010-09-12Input: wacom - add support for Bamboo PenChris Bagwell1-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>
2010-09-12Input: wacom - move Bamboo Touch irq to its own functionChris Bagwell1-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>
2010-09-12Input: wacom - request tablet data for Bamboo PensChris Bagwell1-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>
2010-09-10Input: hid-input - switch to using new keycode interfaceDmitry Torokhov1-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>
2010-09-10Input: media/IR - switch to using new keycode interfaceDmitry Torokhov1-131/+262
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>
2010-09-10Input: sparse-keymap - switch to using new keycode interfaceDmitry Torokhov1-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>
2010-09-10Input: add support for large scancodesMauro Carvalho Chehab3-75/+248
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>
2010-09-06Input: cy8ctmg110 - add fuzz to ABS_X and ABS_Y to remove jitterJames Ketrenos1-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>
2010-09-05Input: wacom - add a quirk for low resolution Bamboo devicesHenrik Rydberg2-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>
2010-09-05Input: wacom - add support for the Bamboo Touch trackpadHenrik Rydberg2-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>
2010-09-05Input: wacom - collect device quirks into single functionHenrik Rydberg4-8/+24
Collect device-specific code into a single function, and use quirks to flag specific behavior instead. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-05Input: wacom - parse the Bamboo device familyPing Cheng2-9/+37
The Bamboo devices have multiple interfaces which need to be setup separately. Use the HID parsing mechanism to achieve that. Signed-off-by: Ping Cheng <pinglinux@gmail.com> Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-05Input: wacom - add fuzz parameters to featuresHenrik Rydberg3-4/+15
The signal-to-noise ratio varies between devices, but currently all devices are treated the same way. Add fuzz parameters to the feature struct, allowing for tailored treatment of devices. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-05Merge branch 'mrst-touchscreen' into nextDmitry Torokhov9-879/+700
Conflicts: drivers/input/touchscreen/Makefile
2010-09-05Input: add support for PowerOn button on the AB8500 MFDSundar R Iyer4-0/+188
Add the PowerOn (PonKey) button support to detect power on/off events. Acked-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Sundar R Iyer <sundar.iyer@stericsson.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-05Input: fix a few typosDmitry Torokhov1-3/+3
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-05Input: wm97xx-core - add retries to wm97xx_read_aux_adcEric Millbrandt1-2/+13
Add logic to wm97xx_read_aux_adc() to retry reading the adc if the sample failed. This could occur if the previous sample was still in the return register or the sample timed-out. Also avoid a pathologic failure mode by disabling the digitizer and returning -EBUSY after 5 retries. Signed-off-by: Eric Millbrandt <emillbrandt@dekaresearch.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-05Input: wm97xx-core - simplify error path in wm97xx_probe()Axel Lin1-2/+1
Use platform_device_del() instead of platform_device_unregister() in error handling path. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Acked-by: Mark Brown <broonie@opensoruce.wolfsonmicro.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-05Input: stmpe-ts - return -ENOMEM when memory allocation failsAxel Lin1-3/+7
Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-03Input: stmpe-ts - remove input_free_device() in stmpe_ts_remove()Axel Lin1-1/+0
It is forbidden to call input_free_device() after input_unregister_device(). Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-03Input: tsc2007 - fix a redundant assignment for pdataAxel Lin1-1/+1
Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-03Input: tps6507x-ts - properly unregister input device on removalAxel Lin1-1/+1
Once device is registered we should call input_unregister_device() instead of input_free_device(). Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-03Input: tps6507x-ts - add missing call to platform_set_drvdata()Axel Lin1-0/+1
We call platform_get_drvdata() in tps6507x_ts_remove(), thus we should call platform_set_drvdata() in tps6507x_ts_probe(). Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-03Input: s3c2410_ts - fix s3c2410ts_probe error pathAxel Lin1-1/+1
Use input_free_device() to free devices that have not been registered. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>