aboutsummaryrefslogtreecommitdiff
path: root/drivers/input
AgeCommit message (Collapse)AuthorFilesLines
2010-07-13Input: atlas_btns - adds a missing owner field for atlas_acpi_driverAxel Lin1-0/+1
The owner field provides the link between drivers and modules in sysfs. After setting the owner field, we can see which module provides which driver and vice versa by looking at /sys/bus/acpi/drivers/Atlas ACPI/module and /sys/module/atlas_btns/drivers/acpi:Atlas ACPI Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-07-08Input: twl4030-pwrbutton - replace __devinit with __initMarkus Lehtonen1-6/+6
Power button is not hot-pluggable so we can save some memory by using __init. Signed-off-by: Markus Lehtonen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-07-09powerpc: Add i8042 keyboard and mouse irq parsingMartyn Welch1-0/+5
Currently the irqs for the i8042, which historically provides keyboard and mouse (aux) support, is hardwired in the driver rather than parsing the dts. This patch modifies the powerpc legacy IO code to attempt to parse the device tree for this information, failing back to the hardcoded values if it fails. Signed-off-by: Martyn Welch <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-07-07input: i8042 - add runtime check in x86's i8042_platform_initFeng Tang1-0/+10
Then it will first check x86_platforms's i8042 detection result, then go on with normal probe. Signed-off-by: Feng Tang <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Tony Luck <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2010-07-07Revert "Input: fixup X86_MRST selects"Feng Tang2-2/+2
This reverts commit 0b28bac5aef7bd1ab213723df031e61db9ff151a. After adding x86_platform's detection for i8042 controller, we don't need the force dependency on !X86_MRST any more Cc: Randy Dunlap <[email protected]> Signed-off-by: Feng Tang <[email protected]> LKML-Reference: <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2010-07-07Revert "Input: do not force selecting i8042 on Moorestown"Feng Tang2-2/+2
This reverts commit 685afae02557a178185a4be36f58332976e79f63. After adding x86_platform's detection for i8042 controller, we don't need the force dependency on !X86_MRST any more Cc: Jacob Pan <[email protected]> Signed-off-by: Feng Tang <[email protected]> LKML-Reference: <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2010-07-04Input: mcs - Add MCS touchkey driverJoonyoung Shim4-3/+255
This adds support for MELPAS MCS5000/MSC5080 touch key controllers. Signed-off-by: Joonyoung Shim <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-07-03Input: release pressed keys when resuming deviceOliver Neukum1-10/+29
As the kernel has no way to know whether a key was released while the system was asleep, keys need to be reported released as the system is resumed, lest autorepeat set in. Signed-off-by: Oliver Neukum <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-07-03Input: ads7846 - extend the driver for ads7845 controller supportAnatolij Gustschin1-37/+135
ADS7845 is a controller for 5-wire touch screens and somewhat different from 7846. It requires three serial communications to accomplish one complete conversion. Unlike 7846 it doesn't allow Z1-/Z2- position measurement. The patch extends the ads7846 driver to also support ads7845. The packet struct is extended to contain needed command and conversion buffers. ads7846_rx() and ads7846_rx_val() now differentiate between 7845 and 7846 case. ads7846_probe() is modified to setup ads7845 specific command and conversion messages and to switch ads7845 into power-down mode, since this is needed to be prepared to respond to pendown interrupts. Signed-off-by: Anatolij Gustschin <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-07-03Input: ads7846 - do not allow altering platform dataDmitry Torokhov1-16/+19
Tested-by: Anatolij Gustschin <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-07-03Input: adxl34 - make enable/disable separate from suspend/resumeDmitry Torokhov4-48/+70
Suspending and resuming the device should be separate from enabling and disabling it through sysfs attribute and thus should not alter ac->disabled flag. [[email protected]: various fixups] Tested-by: Michael Hennerich <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-07-03Input: ad7879 - report EV_KEY/BTN_TOUCH eventsMichael Hennerich1-3/+13
Some input events users such as Android 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. Avoid duplicated BTN_TOUCH events, even though input core filters them. Signed-off-by: Michael Hennerich <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-07-03Input: ad7879 - fix spi word size to 16 bitMichael Hennerich1-0/+8
Signed-off-by: Michael Hennerich <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-07-03Input: ad7879 - use i2c_smbus_read_i2c_block_data() to lower overheadMichael Hennerich1-1/+4
Avoid additional addressing overhead incurred by word_data transfers. Signed-off-by: Michael Hennerich <[email protected]> Signed-off-by: Mike Frysinger <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-07-03Input: ad7879 - add open and close methodsDmitry Torokhov4-39/+86
Tested-by: Michael Hennerich <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-07-03Input: ad7879 - split bus logic outMike Frysinger6-415/+484
The ad7879 driver is using the old bus method of only supporting one at a time (I2C or SPI). So refactor it like the other input drivers that support multiple busses simultaneously. Signed-off-by: Mike Frysinger <[email protected]> Signed-off-by: Michael Hennerich <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-30Input: ad7879 - use threaded IRQDmitry Torokhov1-27/+9
Tested-by: Michael Hennerich <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-30Merge commit 'v2.6.35-rc3' into nextDmitry Torokhov14-22/+4
2010-06-28sparc/of: Move of_device fields into struct pdev_archdataGrant Likely1-4/+4
This patch moves SPARC architecture specific data members out of struct of_device and into the pdev_archdata structure. The reason for this change is to unify the struct of_device definition amongst all the architectures. It also remvoes the .sysdata, .slot, .portid and .clock_freq properties because they aren't actually used by anything. A subsequent patch will replace struct of_device entirely with struct platform_device and the of_platform support code will share common routines with the platform bus (but the bus instances themselves can remain separate). This patch also adds 'struct resources *resource' and num_resources to match the fields defined in struct platform_device. After this change, 'struct platform_device' can be used as a drop-in replacement for 'struct of_platform'. This change is in preparation for merging the of_platform_bus_type with the platform_bus_type. Signed-off-by: Grant Likely <[email protected]> Acked-by: David S. Miller <[email protected]> Cc: Stephen Rothwell <[email protected]>
2010-06-28Input: lm8323 - fix error handling in lm8323_probe()Dan Carpenter1-5/+7
We reuse the "i" variable later on so if we goto fail3 or fail4 then "i" will be set to the wrong thing and cause a crash. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-28Input: gpio-keys - add gpiolib debounce supportGrazvydas Ignotas1-5/+14
gpiolib now has debounce support added in .35, so let's make use of it. This allows to use hardware GPIO debouncing on some platforms like OMAP. In case gpiolib debounce setup fails for some GPIO, the driver will fall back to timer based debouncing, which is what it used before. Signed-off-by: Grazvydas Ignotas <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-28Input: usbtouchscreen - add support for ET&T TC4UM touchscreen controllerPetr Štetiar2-11/+14
This patch adds support for the ET&T TC4UM 4-wire USB touchscreen controller and tries to reuse the bits for TC5UH controller in kernel already. Data interface is same. Tested-by: Roger Pueyo Centelles <[email protected]> Signed-off-by: Petr Štetiar <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-28Input: ads7846 - allow specifying irq trigger type in platform dataAnatolij Gustschin1-1/+4
On some platforms, for example with GPIO interrupts on mpc5121, it is not possible to configure falling edge interrupts. Specifying irq trigger type in platform data structure allows using ads7846 driver on such platforms. Signed-off-by: Anatolij Gustschin <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-28Input: wacom - add support for DTU2231 and DTU1631Ping Cheng2-0/+45
Add support for the two new devices: DTU2231 and DTU1631. Signed-off-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-28Input: wistron_btns - fix a memory leak in wb_module_init error pathAxel Lin1-1/+3
select_keymap() calls copy_keymap() to allocate a memory for keymap. This patch adds a missing kfree(keymap) in wb_module_init error path. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-25Input: adxl34x - add support for ADXL346 orientation sensingMichael Hennerich1-4/+58
Signed-off-by: Michael Hennerich <[email protected]> Signed-off-by: Mike Frysinger <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-25Input: add driver for ADXL345/346 Digital AccelerometersMichael Hennerich6-0/+1218
This is a driver for the ADXL345/346 Three-Axis Digital Accelerometers. Signed-off-by: Michael Hennerich <[email protected]> Signed-off-by: Chris Verges <[email protected]> Signed-off-by: Luotao Fu <[email protected]> Signed-off-by: Barry Song <[email protected]> Signed-off-by: Mike Frysinger <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-24Input: adp5588-keys - support GPI events for ADP5588 devicesXiaolong CHEN1-7/+127
A column or row configured as a GPI can be programmed to be part of the key event table and therefore also capable of generating a key event interrupt. A key event interrupt caused by a GPI follows the same process flow as a key event interrupt caused by a key press. GPIs configured as part of the key event table allow single key switches and other GPI interrupts to be monitored. As part of the event table, GPIs are represented by the decimal value 97 (0x61 or 1100001) through the decimal value 114 (0x72 or 1110010). See table below for GPI event number assignments for rows and columns. GPI Event Number Assignments for Rows Row0 Row1 Row2 Row3 Row4 Row5 Row6 Row7 97 98 99 100 101 102 103 104 GPI Event Number Assignments for Cols Col0 Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8 Col9 105 106 107 108 109 110 111 112 113 114 Signed-off-by: Xiaolong Chen <[email protected]> Signed-off-by: Yuanbo Ye <[email protected]> Signed-off-by: Tao Hu <[email protected]> Acked-by: Michael Hennerich <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-23Input: evdev - never leave the client buffer empty after writeHenrik Rydberg1-3/+7
When the client buffer is very small and wraps around a lot, it may well be that a write increases the head such that head == tail. If this happens between the point where a poll is triggered and the actual data is being read, there will be no data to read. This is confusing to applications, which might end up closing the file. This patch solves the problem by making sure the client buffer is never empty after writing to it. Signed-off-by: Henrik Rydberg <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-23Input: bcm5974 - set the average number of events per MT event packetHenrik Rydberg1-0/+2
The MT devices produce a lot of data. Tell the underlying input device approximately how many events will be sent per synchronization, to allow for better buffering. The number is a template based on continuously reporting details for each finger on a single hand. Signed-off-by: Henrik Rydberg <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-23Input: evdev - use driver hint to compute size of event bufferHenrik Rydberg1-2/+7
Some devices, in particular MT devices, produce a lot of data. This may lead to overflowing of the event queues in evdev driver, which by default are fairly small. Let the drivers hint the average number of events per packet generated by the device, and use that information when computing the buffer size evdev should use for the device. Signed-off-by: Henrik Rydberg <[email protected]> Acked-by: Chase Douglas <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-23Input: evdev - convert to dynamic event bufferHenrik Rydberg1-5/+17
Allocate the event buffer dynamically, and prepare to compute the buffer size in a separate function. This patch defines the size computation to be identical to the current code, and does not contain any logical changes. Signed-off-by: Henrik Rydberg <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-23Input: tps6507x-ts - remove unneeded NULL testJiri Slaby1-3/+0
Stanse found that tsc is dereferenced earlier than checked for being NULL in tps6507x_ts_remove. Remove the test because there is no way for tsc to be NULL there. Signed-off-by: Jiri Slaby <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-22Input: wacom - fix serial number handling on Cintiq 21UX2Ping Cheng1-4/+5
Cintiq 21UX2 added 8 more bits for the tool serial number and more buttons for the expresskey. We did not enable them properly in the last patch. Signed-off-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-22Input: fixup X86_MRST selectsRandy Dunlap2-2/+2
Some of the recent X86_MRST additions make some "select"s conditional on X86_MRST but missed some related kconfig symbols, causing: drivers/built-in.o: In function `ps2_end_command': (.text+0x257ab2): undefined reference to `i8042_check_port_owner' drivers/built-in.o: In function `ps2_end_command': (.text+0x257ae1): undefined reference to `i8042_unlock_chip' drivers/built-in.o: In function `ps2_begin_command': (.text+0x257b40): undefined reference to `i8042_check_port_owner' drivers/built-in.o: In function `ps2_begin_command': (.text+0x257b6f): undefined reference to `i8042_lock_chip' when SERIO_I8042=m, SERIO_LIBPS2=y, KEYBOARD_ATKBD=y. We need to make i8042 dependant upon !X86_MRST and allow deselecting atkbd on Moorestown even when !CONFIG_EMBEDDED. Signed-off-by: Randy Dunlap <[email protected]> Cc: Jacob Pan <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-22Merge commit 'v2.6.35-rc3' into for-linusDmitry Torokhov14-22/+4
2010-06-16Merge branch 'master' into for-nextJiri Kosina34-146/+822
2010-06-16fix typos concerning "initiali[zs]e"Uwe Kleine-König1-1/+1
Signed-off-by: Uwe Kleine-König <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2010-06-10Input: matrix_keypad - add support for clustered irqLuotao Fu1-28/+80
This one adds support of a combined irq source for the whole matrix keypad. This can be useful if all rows and columns of the keypad are e.g. connected to a GPIO expander, which only has one interrupt line for all events on every single GPIO. Signed-off-by: Luotao Fu <[email protected]> Acked-by: Eric Miao <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-08hp_sdc_rtc: fix broken ioctl conversionArnd Bergmann1-1/+1
Commit 55929332c92 "drivers: Push down BKL into various drivers" introduced a regression in hp_sdc_rtc, caused by a missing change of the .unlocked_ioctl pointer to the newly introduced function. Fixes: drivers/input/misc/hp_sdc_rtc.c:681: warning: initialization from incompatible pointer type drivers/input/misc/hp_sdc_rtc.c:665: warning: ‘hp_sdc_rtc_unlocked_ioctl’ defined but not used Reported-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]> Acked-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Frederic Weisbecker <[email protected]>
2010-06-08Input: bcm5974 - turn wellspring mode off if failed to start trafficLuo Jinghua1-7/+14
If we fail to submit URBs we should take touchpad out of wellsping mode. Signed-off-by: Luo Jinghua <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-08Input: usbtouchscreen - reduce number fo be16_to_cpu conversionsDmitry Torokhov1-16/+18
Let's perform be16_to_cpu() conversions once for each received packet, and then use cached values. Makes code a little bit easier to follow. Tested-by: Ondrej Zary <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-08Input: ad7877 - fix spi word size to 16 bitOskar Schirmer1-0/+7
With no word size given in the users platform data, a generic spi host controller driver will assume a default word size of eight bit. This causes transmission to be performed bytewise, which will fail on little endian machines for sure. Failure on big endian depends on usage of slave select to mark word boundaries. Anyway, ad7877 is specified to work with 16 bit per word, so unconditionally set the word size accordingly. Flag an error where 16 bit per word is not available. Signed-off-by: Oskar Schirmer <[email protected]> Signed-off-by: Daniel Glöckner <[email protected]> Signed-off-by: Oliver Schneidewind <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-05Input: pcf8574_keypad - fix off by one in pcf8574_kp_irq_handler()Dan Carpenter1-1/+1
If nextstate == ARRAY_SIZE(lp->btncode), then we read one past the end of the array on the next line. This fixes a smatch warning: drivers/input/misc/pcf8574_keypad.c +74 pcf8574_kp_irq_handler(8) error: buffer overflow 'lp->btncode' 17 <= 17 Signed-off-by: Dan Carpenter <[email protected]> Acked-by: Jean Delvare <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-04Merge branch 'for-linus' of ↵Linus Torvalds7-26/+67
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: wacom - add Cintiq 21UX2 and Intuos4 WL Input: ads7846 - fix compiler warning in ads7846_probe() Input: tps6507x-ts - a couple work queue cleanups Input: s3c2410_ts - tone down logging Input: s3c2410_ts - fix build error due to ADC Kconfig rename
2010-06-04Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds1-1/+2
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (23 commits) sh: Make intc messages consistent via pr_fmt. sh: make sure static declaration on ms7724se sh: make sure static declaration on mach-migor sh: make sure static declaration on mach-ecovec24 sh: make sure static declaration on mach-ap325rxa clocksource: sh_cmt: compute mult and shift before registration clocksource: sh_tmu: compute mult and shift before registration sh: PIO disabling for x3proto and urquell. sh: mach-sdk7786: conditionally disable PIO support. sh: support for platforms without PIO. usb: r8a66597-hcd pio to mmio accessor conversion. usb: gadget: r8a66597-udc pio to mmio accessor conversion. usb: gadget: m66592-udc pio to mmio accessor conversion. sh: add romImage MMCIF boot for sh7724 and Ecovec V2 sh: add boot code to MMCIF driver header sh: prepare MMCIF driver header file sh: allow romImage data between head.S and the zero page sh: Add support MMCIF for ecovec sh: remove duplicated #include input: serio: disable i8042 for non-cayman sh platforms. ...
2010-06-04Input: i8042 - remove SPRUCE supportChristoph Egger1-75/+0
CONFIG_SPRUCE was removed from kernel around 2.6.26; let's remove the last remaining piece. Signed-off-by: Christoph Egger <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-04Input: wacom - add Cintiq 21UX2 and Intuos4 WLPing Cheng3-15/+60
Signed-off-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-03i2c: Remove all i2c_set_clientdata(client, NULL) in driversWolfram Sang12-20/+1
I2C drivers can use the clientdata-pointer to point to private data. As I2C devices are not really unregistered, but merely detached from their driver, it used to be the drivers obligation to clear this pointer during remove() or a failed probe(). As a couple of drivers forgot to do this, it was agreed that it was cleaner if the i2c-core does this clearance when appropriate, as there is no guarantee for the lifetime of the clientdata-pointer after remove() anyhow. This feature was added to the core with commit e4a7b9b04de15f6b63da5ccdd373ffa3057a3681 to fix the faulty drivers. As there is no need anymore to clear the clientdata-pointer, remove all current occurrences in the drivers to simplify the code and prevent confusion. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Mark Brown <[email protected]> Acked-by: Greg Kroah-Hartman <[email protected]> Acked-by: Richard Purdie <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2010-06-02Input: ads7846 - fix compiler warning in ads7846_probe()Dmitry Torokhov1-1/+1
This patch fixes the follwing warning introduced by commit 067fb2f648543894ce775082c5636f4c32b99e4f ("Input: ads7846 - return error on regulator_get() failure"): drivers/input/touchscreen/ads7846.c: In function 'ads7846_probe': drivers/input/touchscreen/ads7846.c:1167: warning: format '%ld' expects type 'long int', but argument 4 has type 'int' Signed-off-by: Dmitry Torokhov <[email protected]>