aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Input: elantech - discard the first 2 positions on some firmwaresÉric Piel2010-08-06
| | | | | | | | | | | According to the Dell/Ubuntu driver, what was previously observed as "jumpy cursor" corresponds to the hardware sending incorrect data for the first two reports of a one touch finger. So let's use the same workaround as in the other driver. Also, detect another firmware version with the same behaviour, as in the other driver. Signed-off-by: Éric Piel <eric.piel@tremplin-utc.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: adxl34x - do not mark device as disabled on startupMichael Hennerich2010-08-05
| | | | | | | | Do not mark device as desabled on startup - otherwise user must reset disable sysfs hook before the driver delivers any data. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: gpio_keys - add hooks to enable/disable deviceShubhrajyoti D2010-08-03
| | | | | | | | | Allow platform code to specify callbcks that will be invoked when input device is opened or closed, allowing, for example, to enable the device. Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: evdev - rearrange ioctl handlingDmitry Torokhov2010-08-02
| | | | | | | | Split ioctl handling into 3 separate sections: fixed-length ioctls, variable-length ioctls and multi-number variable length handlers. This reduces identation and makes the code a bit clearer. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: dynamically allocate ABS informationDaniel Mack2010-08-02
| | | | | | | | | | As all callers are now changed to only use the input_abs_*() access helpers, switching over to dynamically allocated ABS information is easy. This reduces size of struct input_dev from 3152 to 1640 on 64 bit architectures. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: switch to input_abs_*() access functionsDaniel Mack2010-08-02
| | | | | | | | | | | | Change all call sites in drivers/input to not access the ABS axis information directly anymore. Make them use the access helpers instead. Also use input_set_abs_params() when possible. Did some code refactoring as I was on it. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: add static inline accessors for ABS propertiesDaniel Mack2010-08-02
| | | | | | | | | In preparation for dynamically allocated ABS axis, introduce a number of static inline access helpers. This should make the transition less painful. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: adp5588-keypad - fix NULL dereference in adp5588_gpio_add()Dmitry Torokhov2010-08-02
| | | | | | | | | | | | | | | | | The kpad structure is assigned to i2c client via i2s_set_clientdata() at the end of adp5588_probe(), but in adp5588_gpio_add() we tried to access it (via dev_get_drvdata! which is not nice at all) causing an oops. Let's pass pointer to kpad directly into adp5588_gpio_add() and adp5588_gpio_remove() to avoid accessing driver data before it is set up. Also split out building of gpiomap into a separate function to clear the logic. Reported-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: cy8ctmg110 - capacitive touchscreen supportSamuli Konttila2010-07-31
| | | | | | | | | | Add support for the cy8ctmg110 capacitive touchscreen used on some embedded devices. (Some clean up by Alan Cox) Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: keyboard - also match braille-only keyboardsSamuel Thibault2010-07-31
| | | | | | | | drivers/char/keyboard.c also handles braille keys, so it should also match braille-only keyboards. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: adp5588-keys - export unused GPIO pinsXiaolong Chen2010-07-26
| | | | | | | | | | | This patch allows exporting GPIO pins not used by the keypad itself to be accessible from elsewhere. Signed-off-by: Xiaolong Chen <xiao-long.chen@motorola.com> Signed-off-by: Yuanbo Ye <yuan-bo.ye@motorola.com> Signed-off-by: Tao Hu <taohu@motorola.com> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: adxl34x - fix leak and use after freeDan Carpenter2010-07-23
| | | | | | | | | | | | These are a couple smatch issues. In the original code, if only one of the allocation fails we leak the other variable so we should goto out_free_mem. Also there was a use after free if debugging was enabled and so I moved the kfree() down a line. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: samsung-keypad - Add samsung keypad driverJoonyoung Shim2010-07-21
| | | | | | | | | | | | This patch adds support for keypad driver running on Samsung cpus. This driver is tested on GONI and Aquila board using S5PC110 cpu. [ch.naveen@samsung.com: tested on SMDK6410, SMDKC100, and SMDKV210] Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Tested-by: Naveen Krishna Ch <ch.naveen@samsung.com> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: i8042 - reset keyboard controller wehen resuming from S2RDmitry Torokhov2010-07-20
| | | | | | | | | | | Some laptops, such as Lenovo 3000 N100, require keyboard controller reset in order to have touchpad operable after suspend to RAM. Even if box does not need the reset it should be safe to do so, so instead of chasing after misbehaving boxes and grow DMI tables, let's reset the controller unconditionally. Reported-and-tested-by: Jerome Lacoste <jerome.lacoste@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: synaptics - set min/max for finger widthChris Bagwell2010-07-20
| | | | | | | | | | | | | Reporting this will allow GUI config apps to correctly scale width sensitive config values (such as palm detect) to correct range. Current user apps are detecting kernels min/max=0/0 and making an assumption that it means 0/16 or 0/15. Synaptics touchpad interface guides show 4/15 are correct values but driver forces to 0 when no fingers on touchpad. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: synaptics - only report width on hardware that supports itChris Bagwell2010-07-20
| | | | | | | | | | | | | | | | | | | Synaptics devices report fixed value of 5 for finger/palm widths on devices that do not support capability and driver further hardcodes to 5. Stop reporting this fixed value when its not supported since its not useful. This will aid applications so they can better auto-enable support for multi-touch emulation and palm detection logic using finger width only for devices that support width detection. I can find no applications that currently require existence on ABS_TOOL_WIDTH. Since only synaptics and bcm input devices currently support this tool, it seems they must handle it gracefully. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: evdev - signal that device is writable in evdev_poll()Dmitry Torokhov2010-07-16
| | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: mousedev - signal that device is writable in mousedev_poll()Julien Moutinho2010-07-16
| | | | | | | | | The Microsoft ImPS/2 mouse protocol being bidirectionnal (sic) one may have to write in /dev/input/mice; and that works better if select() does not hang. Signed-off-by: Julien Moutinho <julm+linux@savines.alpes.fr.eu.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: change input handlers to use bool when possibleDmitry Torokhov2010-07-16
| | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: document the MT event slot protocolHenrik Rydberg2010-07-16
| | | | | | | | | This patch adds documentation for the ABS_MT_SLOT event and gives examples of how to use the event slot protocol. Reviewed-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: introduce MT event slotsHenrik Rydberg2010-07-16
| | | | | | | | | | | | | | | | | | | | | With the rapidly increasing number of intelligent multi-contact and multi-user devices, the need to send digested, filtered information from a set of different sources within the same device is imminent. This patch adds the concept of slots to the MT protocol. The slots enumerate a set of identified sources, such that all MT events can be passed independently and selectively per identified source. The protocol works like this: Instead of sending a SYN_MT_REPORT event immediately after the contact data, one sends an ABS_MT_SLOT event immediately before the contact data. The input core will only emit events for slots with modified MT events. It is assumed that the same slot is used for the duration of an initiated contact. Acked-by: Ping Cheng <pingc@wacom.com> Acked-by: Chase Douglas <chase.douglas@canonical.com> Acked-by: Rafi Rubin <rafi@seas.upenn.edu> Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: usbtouchscreen - implement reset_resumeOliver Neukum2010-07-15
| | | | | | | | | | | This implements reset_resume() by splitting init into allocations of private data structures and device initializations. Device initializations are repeated upon reset_resume. Signed-off-by: Oliver Neukum <oneukum@suse.de> Tested-by: Petr Štetiar <ynezz@true.cz> Tested-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: usbtouchscreen - implement runtime power managementOliver Neukum2010-07-15
| | | | | | | | | | | | This implement USB autosuspend while the device is opened for devices that do remote wakeup with a fallback to open/close for those devices that don't. Devices that require the host to constantly poll them are never autosuspended. Signed-off-by: Oliver Neukum <oneukum@suse.de> Tested-by: Petr Štetiar <ynezz@true.cz> Tested-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: usbtouchscreen - implement basic suspend/resumeOliver Neukum2010-07-15
| | | | | | | | | This implements basic support for suspend & resume. Signed-off-by: Oliver Neukum <oneukum@suse.de> Tested-by: Petr Štetiar <ynezz@true.cz> Tested-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: Add ATMEL QT602240 touchscreen driverJoonyoung Shim2010-07-15
| | | | | | | | | The chip's full name is AT42QT602240 or ATMXT224. This is a capacitive touchscreen supporting 10-contact multitouch and using I2C interface. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Acked-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: fix signedness warning in input_set_keycode()Dmitry Torokhov2010-07-14
| | | | | | The dev->getkeycode() method expects unsigned argument. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: Add pwm beeper driverLars-Peter Clausen2010-07-14
| | | | | | | | This patch adds a simple driver which allows to use pwm based beepers (for example piezo elements) as a pcspkr-like device. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: xpad - remove mouse buttons and axes for dance padsChristoph Fritz2010-07-13
| | | | | | | | | | | | | | | Dance pads don't have any axes/sticks, only buttons for directions. For example buttons like left+right will get triggered at once, an axis can't handle this anyway. So this patch adds a module parameter named "sticks_to_null" for unknown devices. A known dance pad makes use of it by changing to a new mapping-option named DANCEPAD_MAP_CONFIG. Other tested devices may follow by adding this mapping-option too. Some buttons of xpad-devices are addressing mouse-buttons instead of gamepad-buttons. This gets fixed too. Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: atlas_btns - switch to using pr_err() and friendsDmitry Torokhov2010-07-13
| | | | | | | This ensures consistent prefixes on all messages emitted by the driver. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: atlas_btns - fix mixing acpi_status and int for return valueAxel Lin2010-07-13
| | | | | | | | To improve readability, this patch fixes mixing acpi_status and int for return value. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: atlas_btns - adds a missing owner field for atlas_acpi_driverAxel Lin2010-07-13
| | | | | | | | | | 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 <axel.lin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: twl4030-pwrbutton - replace __devinit with __initMarkus Lehtonen2010-07-09
| | | | | | | | Power button is not hot-pluggable so we can save some memory by using __init. Signed-off-by: Markus Lehtonen <markus.lehtonen@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: mcs - Add MCS touchkey driverJoonyoung Shim2010-07-04
| | | | | | | This adds support for MELPAS MCS5000/MSC5080 touch key controllers. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: release pressed keys when resuming deviceOliver Neukum2010-07-03
| | | | | | | | | 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 <oneukum@suse.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ads7846 - extend the driver for ads7845 controller supportAnatolij Gustschin2010-07-03
| | | | | | | | | | | | | | | | | | 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 <agust@denx.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ads7846 - do not allow altering platform dataDmitry Torokhov2010-07-03
| | | | | Tested-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: adxl34 - make enable/disable separate from suspend/resumeDmitry Torokhov2010-07-03
| | | | | | | | | | Suspending and resuming the device should be separate from enabling and disabling it through sysfs attribute and thus should not alter ac->disabled flag. [michael.hennerich@analog.com: various fixups] Tested-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ad7879 - report EV_KEY/BTN_TOUCH eventsMichael Hennerich2010-07-03
| | | | | | | | | | | 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 <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ad7879 - fix spi word size to 16 bitMichael Hennerich2010-07-03
| | | | | Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ad7879 - use i2c_smbus_read_i2c_block_data() to lower overheadMichael Hennerich2010-07-03
| | | | | | | | Avoid additional addressing overhead incurred by word_data transfers. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ad7879 - add open and close methodsDmitry Torokhov2010-07-03
| | | | | Tested-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ad7879 - split bus logic outMike Frysinger2010-07-03
| | | | | | | | | | 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 <vapier@gentoo.org> Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ad7879 - use threaded IRQDmitry Torokhov2010-06-30
| | | | | Tested-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge commit 'v2.6.35-rc3' into nextDmitry Torokhov2010-06-30
|\
| * Linux 2.6.35-rc3Linus Torvalds2010-06-11
| |
| * Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds2010-06-11
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: wimax/i2400m: fix missing endian correction read in fw loader net8139: fix a race at the end of NAPI pktgen: Fix accuracy of inter-packet delay. pkt_sched: gen_estimator: add a new lock net: deliver skbs on inactive slaves to exact matches ipv6: fix ICMP6_MIB_OUTERRORS r8169: fix mdio_read and update mdio_write according to hw specs gianfar: Revive the driver for eTSEC devices (disable timestamping) caif: fix a couple range checks phylib: Add support for the LXT973 phy. net: Print num_rx_queues imbalance warning only when there are allocated queues
| | * Merge branch 'wimax-2.6.35.y' of ↵David S. Miller2010-06-11
| | |\ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax
| | | * wimax/i2400m: fix missing endian correction read in fw loaderInaky Perez-Gonzalez2010-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | i2400m_fw_hdr_check() was accessing hardware field bcf_hdr->module_type (little endian 32) without converting to host byte sex. Reported-by: Данилин Михаил <mdanilin@nsg.net.ru> Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
| | * | net8139: fix a race at the end of NAPIFigo.zhang2010-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix a race at the end of NAPI complete processing, it had better do __napi_complete() first before re-enable interrupt. Signed-off-by:Figo.zhang <figo1802@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| | * | pktgen: Fix accuracy of inter-packet delay.Daniel Turull2010-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch correct a bug in the delay of pktgen. It makes sure the inter-packet interval is accurate. Signed-off-by: Daniel Turull <daniel.turull@gmail.com> Signed-off-by: Robert Olsson <robert.olsson@its.uu.se> Signed-off-by: David S. Miller <davem@davemloft.net>