- 08 9月, 2011 1 次提交
-
-
由 Eduard Hasenleithner 提交于
This commit enables control of the LEDs and OLED displays found on the Wacom Intuos4 M, L, and XL. For this purpose, a new "wacom_led" attribute group is added to the sysfs entry of the USB device. This "wacom_led" group only shows up when the correct device (M, L, or XL) is detected. The attributes are described in Documentation/ABI/testing/sysfs-wacom Signed-off-by: NEduard Hasenleithner <eduard@hasenleithner.at> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 27 8月, 2011 2 次提交
-
-
由 Dmitry Torokhov 提交于
This will ensure that the device delivers input events only when there are users. Tested-by: NThierry Reding <thierry.reding@avionic-design.de> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
Instead of using hard IRQ and workqueue solution switch to using threaded interrupt handler to simplify the code and locking rules. Tested-by: NThierry Reding <thierry.reding@avionic-design.de> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 24 8月, 2011 11 次提交
-
-
由 Wanlong Gao 提交于
Change the placement of __init and __exit annotations to be consistent with the rest of the drivers. Signed-off-by: NWanlong Gao <gaowanlong@cn.fujitsu.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
Synaptics image sensor touchpads track up to 5 fingers, but only report 2. They use a special "TYPE=2" (AGM-CONTACT) packet type that reports the number of tracked fingers and which finger is reported in the SGM and AGM packets. With this new packet type, it is possible to tell userspace when 4 or 5 fingers are touching. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
"4-finger scroll" is a gesture supported by some applications and operating systems. "Resting thumb" is when a clickpad user rests a finger (e.g., a thumb), in a "click zone" (typically the bottom of the touchpad) in anticipation of click+move=select gestures. Thus, "4-finger scroll + resting thumb" is a 5-finger gesture. To allow userspace to detect this gesture, we send BTN_TOOL_QUINTTAP. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
Synaptics image sensor touchpads track 5 fingers, but only report 2. This patch attempts to deal with some idiosyncrasies of these touchpads: * When there are 3 or more fingers, only two are reported. * The touchpad tracks the 5 fingers in slot[0] through slot[4]. * It always reports the lowest and highest valid slots in SGM and AGM packets, respectively. * The number of fingers is only reported in the SGM packet. However, the number of fingers can change either before or after an AGM packet. * Thus, if an SGM reports a different number of fingers than the last SGM, it is impossible to tell whether the intervening AGM corresponds to the old number of fingers or the new number of fingers. * For example, when going from 2->3 fingers, it is not possible to tell whether tell AGM contains slot[1] (old 2nd finger) or slot[2] (new 3rd finger). * When fingers are added one at at time, from 1->2->3, it is possible to track which slots are contained in the SGM and AGM packets: 1 finger: SGM = slot[0], no AGM 2 fingers: SGM = slot[0], AGM = slot[1] 3 fingers: SGM = slot[0], AGM = slot[2] * It is also possible to track which slot is contained in the SGM when 1 of 2 fingers is removed. This is because the touchpad sends a special (0,0,0) AGM packet whenever all fingers are removed except slot[0]: Last AGM == (0,0,0): SGM contains slot[1] Else: SGM contains slot[0] * However, once there are 3 fingers, if exactly 1 finger is removed, it is impossible to tell which 2 slots are contained in SGM and AGM. The (SGM,AGM) could be (0,1), (0,2), or (1,2). There is no way to know. * Similarly, if two fingers are simultaneously removed (3->1), then it is only possible to know if SGM still contains slot[0]. * Since it is not possible to reliably track which slot is being reported, we invalidate the tracking_id every time the number of fingers changes until this ambiguity is resolved when: a) All fingers are removed. b) 4 or 5 fingers are touched, generates an AGM-CONTACT packet. c) All fingers are removed except slot[0]. In this special case, the ambiguity is resolved since by the (0,0,0) AGM packet. Behavior of the driver: When 2 or more fingers are present on the touchpad, the kernel reports up to two MT-B slots containing the position data for two of the fingers reported by the touchpad. If the identity of a finger cannot be tracked when the number-of-fingers changes, the corresponding MT-B slot will be invalidated (track_id set to -1), and a new track_id will be assigned in a subsequent input event report. The driver always reports the total number of fingers using one of the EV_KEY/BTN_TOOL_*TAP events. This could differ from the number of valid MT-B slots for two reasons: a) There are more than 2 fingers on the pad. b) During ambiguous number-of-fingers transitions, the correct track_id for one or both of the slots cannot be determined, so the slots are invalidated. Thus, this is a hybrid singletouch/MT-B scheme. Userspace can detect this behavior by noting that the driver supports more EV_KEY/BTN_TOOL_*TAP events than its maximum EV_ABS/ABS_MT_SLOT. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
A Synaptics image sensor tracks 5 fingers, but can only report 2. The algorithm for choosing which 2 fingers to report and in which packet: Touchpad maintains 5 slots, numbered 0 to 4 Initially all slots are empty As new fingers are detected, assign them to the lowest available slots The touchpad always reports: SGM: lowest numbered non-empty slot AGM: highest numbered non-empty slot, if there is one In addition, these touchpads have a special AGM packet type which reports the number of fingers currently being tracked, and which finger is in each of the two slots. Unfortunately, these "TYPE=2" packets are only used when more than 3 fingers are being tracked. When less than 4 fingers are present, the 'w' value must be used to track how many fingers are present, and knowing which fingers are being reported is much more difficult, if not impossible. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
Synaptics makes (at least) two kinds of touchpad sensors: * Older pads use a profile sensor that could only infer the location of individual fingers based on the projection of their profiles onto row and column sensors. * Newer pads use an image sensor that can track true finger position using a two-dimensional sensor grid. Both sensor types support an "Advanced Gesture Mode": When multiple fingers are detected, the touchpad sends alternating "Advanced Gesture Mode" (AGM) and "Simple Gesture Mode" (SGM) packets. The AGM packets have w=2, and contain reduced resolution finger data The SGM packets have w={0,1} and contain full resolution finger data Profile sensors try to report the "upper" (larger y value) finger in the SGM packet, and the lower (smaller y value) in the AGM packet. However, due to the nature of the profile sensor, they easily get confused when fingers cross, and can start reporting the x-coordinate of one with the y-coordinate of the other. Thus, for profile sensors, "semi-mt" was created, which reports a "bounding box" created by pairing min and max coordinates of the two pairs of reported fingers. Image sensors can report the actual coordinates of two of the fingers present. This patch detects if the touchpad is an image sensor and reports finger data using the MT-B protocol. NOTE: This patch only adds partial support for 2-finger gestures. The proper interpretation of the slot contents when more than two fingers are present is left to later patches. Also, handling of 'number of fingers' transitions is incomplete. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
When a Synaptics touchpad is in "AGM" mode, and multiple fingers are detected, the touchpad sends alternating "Advanced Gesture Mode" (AGM) and "Simple Gesture Mode" (SGM) packets. The AGM packets have w=2, and contain reduced resolution finger data. The SGM packets have w={0,1} and contain full resolution finger data. Refactor the parsing of agm packets to its own function, and rename the synaptics_data.mt field to .agm to indicate that it contains the contents of the last agm packet. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
Synaptics touchpads report increasing y from bottom to top. This is inverted from normal userspace "top of screen is 0" coordinates. Thus, the kernel driver reports inverted y coordinates to userspace. This patch refactors this inversion. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
Since touchscreen driver does not handle any events to be sent to the device we can close serio port first and then unregister the input device. Tested-by: NPing Cheng <pingc@wacom.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
Implement open() and close() methods for the input device so that we do not start the device unless there are users listening to the events. Acked-by: NChris Bagwell <chris@cnpbagwell.com> Tested-by: NPing Cheng <pingc@wacom.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 23 8月, 2011 4 次提交
-
-
由 Michael Hennerich 提交于
The interrupt status registers should be read in row to avoid invalid data. Alter "read" method for both bus options to allow reading several registers in a row and make sure we read interrupt status registers properly. Read sequence saves 50% of bus transactions compared to single register reads. So use it also for the result registers, which are also located in a row. Also update copyright notice. Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
spi_write() requires use of DMA-safe (cacheline aligned) buffers. Also use the same buffers when reading data since to avoid extra locking and potential memory allocation in spi_write_then_read(). Acked-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Michael Hennerich 提交于
Allow driver to be used on Big Endian boxes. Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Michael Hennerich 提交于
Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 22 8月, 2011 2 次提交
-
-
由 Axel Lin 提交于
ep93xx_keypad.c uses interfaces from linux/module.h, so it should include that file. This patch fixes build errors. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Axel Lin 提交于
tnetv107x-ts.c uses interfaces from linux/module.h, so it should include that file. This patch fixes build errors. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 21 8月, 2011 1 次提交
-
-
由 Jiejing Zhang 提交于
The original license statement was confusing since it was unclear if the license was pure GPLv2 or GPLv2+ and did not match the license of the driver max11801_ts was derived from. The license is GPLv2+. Signed-off-by: NJiejing Zhang <jiejing.zhang@freescale.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 17 8月, 2011 2 次提交
-
-
由 Yufeng Shen 提交于
Atmel mxt1386 touch controller has the touch pressure information so let's report it to the user space. [dtor@mail.ru: added ABS_RESSURE reporting for ST emulation.] Signed-off-by: NYufeng Shen <miletus@chromium.org> Acked-by: NWanlong Gao <gaowanlong@cn.fujitsu.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Andrew Drake 提交于
New MacBook Pro devices reporting product name MacBookPro8,2 come with newer/higher resolution touchpads than others with the same product name with USB ID 05ac:0252. This patch adds support for these devices. Signed-off-by: NAndrew Drake <adrake@adrake.org> Reviewed-by: NWanlong Gao <gaowanlong@cn.fujitsu.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 16 8月, 2011 3 次提交
-
-
由 Ping Cheng 提交于
Signed-off-by: NPing Cheng <pingc@wacom.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Ping Cheng 提交于
Use WAC_MSG_RETRIES define instead of a numeric constant. Signed-off-by: NPing Cheng <pingc@wacom.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Gerard Braad 提交于
Signed-off-by: NGerard Braad <me@gbraad.nl> Reviewed-by: NChris Bagwell <chris@cnpbagwell.com> Signed-off-by: NPing Cheng <pingc@wacom.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 12 8月, 2011 2 次提交
-
-
由 Axel Lin 提交于
If kzalloc for kbc fails, then we have NULL pointer dereference while calling input_free_device(kbc->idev) in the error handling. So it is safer to always use the original name, input_dev. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Axel Lin 提交于
input_free_device() should be used if input_register_device() was not called yet or if it failed. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 09 8月, 2011 4 次提交
-
-
由 Eric Andersson 提交于
Signed-off-by: NAlbert Zhang <xu.zhang@bosch-sensortec.com> Signed-off-by: NEric Andersson <eric.andersson@unixphere.com> Acked-by: NJonathan Cameron <jic23@cam.ac.uk> Reviewed-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
To allow open/ioctl(EVIOCGABS)/close use pattern for polled devices read the device in context of open() call instead of offloading the first read to a workqueue. This will ensure that once call to open() returns device would have cached reasonably recent axis values that can be retrieved via appropriate ioctl. Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Joshua V. Dillon 提交于
Added USB device IDs for MacBookAir4,2 trackpad. Device constants were copied from the MacBookAir3,2 constants. The 4,2 device specification is reportedly unchanged from the 3,2 predecessor and seems to work well. Signed-off-by: NJoshua V Dillon <jvdillon@gmail.com> Signed-off-by: NChase Douglas <chase.douglas@canonical.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Axel Lin 提交于
The module device table for of_device_id should use "of" type. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 05 8月, 2011 1 次提交
-
-
由 Deepak Saxena 提交于
The analog joystick driver is written for x86 systems. This patch updates it to use the PIT_TICK_RATE value instead of CLOCK_TICK_RATE as they are equivalent on x86 and we want to deprecate the latter. Signed-off-by: NDeepak Saxena <dsaxena@linaro.org> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 03 8月, 2011 2 次提交
-
-
由 Amy Maloche 提交于
Add support for pm8xx based vibrator to facilitate haptics. This module uses the ff-memless framework. Signed-off-by: NAmy Maloche <amaloche@codeaurora.org> Signed-off-by: NAnirudh Ghayal <aghayal@codeaurora.org> Reviewed-by: NWanlong Gao <gaowanlong@cn.fujitsu.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Michael Hennerich 提交于
Input close or device disable should not interact with the exported gpiolib functionality. However that's the case. __ad7879_disable() clears the entire AD7879_REG_CTRL2, while it should just power down the ADC and its reference. Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 02 8月, 2011 1 次提交
-
-
由 Michal Simek 提交于
Add missing header. Error log: CC drivers/input/serio/xilinx_ps2.o drivers/input/serio/xilinx_ps2.c: In function 'xps2_of_probe': drivers/input/serio/xilinx_ps2.c:249: error: implicit declaration of function 'of_address_to_resource' Signed-off-by: NMichal Simek <monstr@monstr.eu> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 01 8月, 2011 1 次提交
-
-
由 Shawn Guo 提交于
It adds device tree probe support for mma8450 driver. Signed-off-by: NShawn Guo <shawn.guo@linaro.org> Acked-by: NEric Miao <eric.miao@linaro.org> Acked-by: NGrant Likely <grant.likely@secretlab.ca> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 31 7月, 2011 3 次提交
-
-
由 Tobias Klauser 提交于
Return -ENOMEM if kzalloc fails in gpio_keys_get_devtree_pdata(). Signed-off-by: NTobias Klauser <tklauser@distanz.ch> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Axel Lin 提交于
Add missing device_remove_file() for dev_attr_time in lm8323_remove(). Also calling device_remove_file() in lm8323_probe() error path to remove sysfs attribute file. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Rakesh Iyer 提交于
Fix a constant definition and computation of polling time. [dtor@mail.ru: switched to using DIV_ROUND_UP as was suggested by Thierry Reding <thierry.reding@avionic-design.de>] Signed-off-by: NRakesh Iyer <riyer@nvidia.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-