- 05 10月, 2012 1 次提交
-
-
由 Jason Gerecke 提交于
The Cintiq 24HD touch cannot use wacom_set_phy_from_res to determine the physical size of the touch sensor since the pen and touch are on separate USB devices. The physical size is, however, provided in the HID descriptor, just scaled to a unit we don't use. This patch introduces the function wacom_fix_phy_from_hid to let us make use of the unit and exponent data provided by HID to set the [xy]_phy variables to an appropriate value. This function relies on a trimmed-down version of hidinput_calc_abs_res from the hid-input.c. Signed-off-by: NJason Gerecke <killertofu@gmail.com> Tested-by: NPing Cheng <pingc@wacom.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 04 10月, 2012 2 次提交
-
-
由 Jason Gerecke 提交于
The ability to set the proximity flag should apply to any device that has both pen and touch input. Rather than listing classes of devices known to meet this criteria, simply filter on the quirk defining all such devices. Signed-off-by: NJason Gerecke <killertofu@gmail.com> Tested-by: NPing Cheng <pingc@wacom.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Jason Gerecke 提交于
This changes how the touch packets for Intuos5 and 3rd-gen Bamboo are interpreted, so that proper values for the MAJOR and MINOR axes are reported. Instead of using the amplitude field (data[6]), we use the size field (data[5]) and do some calculation to transform it from a scaled-down area into axis lengths. Note that even though we assume a circular contact, both MAJOR and MINOR are reported since the resolution of the X and Y axes differ. Signed-off-by: NJason Gerecke <killertofu@gmail.com> Reviewed-by: NChris Bagwell <chris@cnpbagwell.com> Acked-by: NPing Cheng <pingc@wacom.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 20 9月, 2012 15 次提交
-
-
由 Henrik Rydberg 提交于
Use of the in-kernel tracking code to convert the driver to MT-B. With ten fingers on the pad, the in-kernel tracking adds approximately 25 us to the maximum irqsoff latency. Under normal workloads, however, the tracking has no measurable effect. Tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
The logical scale is used to produce special finger width values to userspace, but has become an unnecessary restriction for everything else. Also, the bcm5974 trackpads are very accurate and work well without hysteresis. This patch simplifies the driver and device data by removing the logical scale, and by moving the special synaptics code out of the main path. Also add the orientation range, needed in a subsequent patch, to the device configuration. Tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
Rename touch properties to match established nomenclature, and define the maximum number of fingers. Tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
The early generations with this trackpad used the separate mouse interface to produce button events. With the introduction of the button pads, this information was moved to the trackpad interface, leaving the mouse interface unused. The driver is still setting up both interfaces, which has not caused any problems - until now. It turns out that without the CONFIG_USB_EHCI_TT_NEWSCHED option, the driver may return an ENOSPC upon bt_urb submission, resulting in a failure to open the device. This happens everytime on the MacBookPro Retina (and likely on other mid-2012 models), but earlier MacBook models seem to work fine. This patch skips the bt_urb setup for TYPE2 devices, which arguably should have been done in the first place. Tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
Some drivers like to report ABS_PRESSURE in a special way. Allow this when ABS_MT_PRESSURE is not defined. Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
Some devices use an internal key for tracking which cannot be directly mapped to slots. This patch provides a key-to-slot mapping, which can be used by drivers of such devices. Reviewed-and-tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
With the INPUT_MT_TRACK flag set, the function input_mt_assign_slots() can be used to match a new set of contacts against the currently used slots. The algorithm used is based on Lagrange relaxation, and performs very well in practice; slower than mtdev for a few corner cases, but faster in most commonly occuring cases. Tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
Most MT drivers perform the same actions on frame synchronization. Some actions, like dropping unseen contacts, are also unnecessarily complex. Collect common frame synchronization tasks in a new function, input_mt_sync_frame(). Depending on the flags set, it drops unseen contacts and performs pointer emulation. With init flags and frame synchronization in place, most MT drivers can be simplified. First out are the bcm5974 and hid-multitouch drivers, following this patch. Reviewed-and-tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Tested-by: NPing Cheng <pingc@wacom.com> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
Preparing to move more repeated code into the mt core, add a flags argument to the input_mt_slots_init() function. Reviewed-and-tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Tested-by: NPing Cheng <pingc@wacom.com> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
By sending a full frame of events at the same time, the irqsoff latency at heavy load is brought down from 200 us to 100 us. Cc: Daniel Kurtz <djkurtz@chromium.org> Tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Tested-by: NPing Cheng <pingc@wacom.com> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
On heavy event loads, such as a multitouch driver, the irqsoff latency can be as high as 250 us. By accumulating a frame worth of data before passing it on, the latency can be dramatically reduced. As a side effect, the special EV_SYN handling can be removed, since the frame is now atomic. This patch adds the events() handler callback and uses it if it exists. The latency is improved by 50 us even without the callback. Cc: Daniel Kurtz <djkurtz@chromium.org> Tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Tested-by: NPing Cheng <pingc@wacom.com> Tested-by: NSedat Dilek <sedat.dilek@gmail.com> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
Preparing to split event filtering and event passing, move the autorepeat function to the point where the event is actually passed. Tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Tested-by: NPing Cheng <pingc@wacom.com> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
For some EV_KEY types, sending a larger-than-one value causes the input state to oscillate. This patch makes sure this cannot happen, clearing up the autorepeat bypass logic in the process. Tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Tested-by: NPing Cheng <pingc@wacom.com> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
The events-per-packet estimate has so far been used by MT devices only. This patch adjusts the packet buffer size to also accomodate the KEY and MSC events. Keyboards normally send one or two keys at a time. MT devices normally send a number of button keys along with the MT information. The buffer size chosen here covers those cases, and matches the default buffer size in evdev. Since the input estimate is now preferred, remove the special input-mt estimate. Reviewed-and-tested-by: NPing Cheng <pingc@wacom.com> Tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
Move all MT-related things to a separate place. This saves some bytes for non-mt input devices, and prepares for new MT features. Reviewed-and-tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Tested-by: NPing Cheng <pingc@wacom.com> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
- 13 9月, 2012 2 次提交
-
-
由 Andy Shevchenko 提交于
Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
pdata->nbuttons should be updated by the dt code. Signed-off-by: NAlexandre Pereira da Silva <aletes.xgr@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 05 9月, 2012 3 次提交
-
-
由 Josh 提交于
Fixed spacing error on if statements and fixed tab error. Signed-off-by: NJosh <joshua.taylor0@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Stephen Warren 提交于
Move the Tegra KBC platform data header out of arch/arm/mach-tegra, as a pre-requisite of single zImage. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Jason Gerecke 提交于
Adds support for the EMR digitizer on the Cintiq 24HD touch. The EMR digitizer should work identically to that found on the Cintiq 24HD. The touch digitizer is a separate USB device similar to how we split apart some other devices. Signed-off-by: NJason Gerecke <killertofu@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 01 9月, 2012 1 次提交
-
-
由 Sachin Kamat 提交于
Fixes the following warning: WARNING: struct dev_pm_ops should normally be const Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 22 8月, 2012 16 次提交
-
-
由 Tobias Klauser 提交于
Use of_get_child_count() instead of custom implementation. Signed-off-by: NTobias Klauser <tklauser@distanz.ch> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Tobias Klauser 提交于
Instead of having to define the match table to NULL if CONFIG_OF isn't set, use the of_match_ptr() macro which will do this for us. Signed-off-by: NTobias Klauser <tklauser@distanz.ch> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Reformat the code to keep it within 80 columns. Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
Switch to using __u32/__s32 instead of ordinary 'int' in structures forming userspace API. Also internally make request_id unsigned int. Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
If uinput_request_submit() fails after new request ID was allocated we need to mark that request ID as free, otherwise it will always stay occupied and we may run out of available IDs. Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
Consider two threads calling read() on the same uinput-fd, both non-blocking. Assume there is data-available so both will simultaneously pass: udev->head == udev->tail Then the first thread goes to sleep and the second one pops the message from the queue. Now assume udev->head == udev->tail. If the first thread wakes up it will call wait_event_*() and sleep in the waitq. This effectively turns the non-blocking FD into a blocking one. We fix this by attempting to fetch events from the queue first and only if we fail to retrieve any events we either return -EAGAIN (in case of non-blocing read) or wait until there are more events. This also fixes incorrect return code (we were returning 0 instead of -EAGAIN for non-blocking reads) when an event is "stolen" by another thread. Blocking reads will now continue to wait instead of returning 0 in this scenario. Count of 0 continues to be a special case, as per spec: we will check for device existence and whether there are events in the queue, but no events will be actually retrieved. Reported-by: NDavid Herrmann <dh.herrmann@googlemail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 David Herrmann 提交于
Let's check whether the user-supplied buffer is actually big enough and return -EINVAL if it is not. This differs from current behavior, which caused 0 to be returned and actually does not make any sense, as broken application will simply repeat the read getting into endless loop. Note that we treat 0 as a special case, according to the standard: "Before any action described below is taken, and if nbyte is zero, the read() function may detect and return errors as described below. In the absence of errors, or if error detection is not performed, the read() function shall return zero and have no other results." Signed-off-by: NDavid Herrmann <dh.herrmann@googlemail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
When fetching events form device's buffer in uinput_read() we need to take input device's event_lock to avoid racing with new event delivery. Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
MATCH_BIT() is ugly and stupid, we have much nicer bitmap_subset() which does the same and does not hide control flow. Reported-by: NBaodong Chen <chenbdchenbd@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Daniel Mack 提交于
This adds devicetree bindings to the rotary encoder driver and some documentation about how to use them. Tested on a PXA3xx platform. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Drivers should not be changing platform data attached to the device because they do not own it. Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Daniel Mack 提交于
Use gpio_request_one() instead of separate calls to gpio_request() and gpio_direction_input() to simplify the code. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Daniel Mack 提交于
Don't call gpio_to_irq() on GPIOs before gpio_request() succeeded on them. This avoids Ooopses with incorrect DT bindings. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
Signed-off-by: NAlexandre Pereira da Silva <aletes.xgr@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Baodong Chen 提交于
Fixes for some coding style issues reported by scripts/checkpatch.pl utility. Signed-off-by: NBaodong Chen <chenbdchenbd@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-