- 25 10月, 2012 1 次提交
-
-
由 Hui Wang 提交于
The irq_to_gpio() is old, most platforms use GENERIC_GPIO framework and don't support this API anymore. The i.MX6q sabrelite platform equips an egalax touchscreen controller, and this platform already transfered to GENERIC_GPIO framework, to support this driver, we use a more generic way to get gpio. Add a return value checking for waking up the controller in the probe function, this guarantee only a workable device can pass init. [dmitry.torokhov@gmail.com: Make driver depend on CONFIG_OF as it is now required.] Acked-by Zhang Jiejing <jiejing.zhang@freescale.com> Reviewed-by: NShawn Guo <shawn.guo@linaro.org> Signed-off-by: NHui Wang <jason77.wang@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 11 10月, 2012 1 次提交
-
-
由 Dmitry Torokhov 提交于
Prepare second set of updates for 3.7 merge window (Wacom driver update and patches extending number of input minors).
-
- 09 10月, 2012 5 次提交
-
-
由 Dmitry Torokhov 提交于
Extend the amount of character devices, such as eventX, mouseX and jsX, from a hard limit of 32 per input handler to about 1024 shared across all handlers. To be compatible with legacy installations input handlers will start creating char devices with minors in their legacy range, however once legacy range is exhausted they will start allocating minors from the dynamic range 256-1024. Reviewed-by: NDavid Herrmann <dh.herrmann@googlemail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Seeking does not make sense for mousedev, so let's use nonseekable_open() to mark its devices as non-seekable. Reviewed-by: NDavid Herrmann <dh.herrmann@googlemail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Do the rename to make the logic more clear and also change it to bool while at it. Reviewed-by: NDavid Herrmann <dh.herrmann@googlemail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Reformat structure initializers to match the rest of input handlers Reviewed-by: NDavid Herrmann <dh.herrmann@googlemail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dmitry Torokhov 提交于
Reviewed-by: NDavid Herrmann <dh.herrmann@googlemail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 05 10月, 2012 4 次提交
-
-
由 Thomas Abraham 提交于
Add calls to clk_prepare and clk_unprepare as required by commom clock framework. Signed-off-by: NThomas Abraham <thomas.abraham@linaro.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Andy Shevchenko 提交于
Use %*ph format specifier to print small buffer. Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Jason Gerecke 提交于
Rewrites this function to be easier to read and understand. The new function 'wacom_set_device_mode' now handles the grunt work of assembling the proper feature report, sending it to the device, and ensuring the setting "sticks". 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 提交于
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>
-
- 02 10月, 2012 2 次提交
-
-
git://github.com/rydberg/linux由 Dmitry Torokhov 提交于
Merge Henrik's updates to multitouch code. Even though Jiri already pulled them in I need to do it too since my changes to evdev using dynamic major would clash with them.
-
由 Dmitry Torokhov 提交于
Prepare first set of updates for 3.7 merge window.
-
- 29 9月, 2012 2 次提交
-
-
由 Jason Gerecke 提交于
If the ExpressKeys on the Intuos5 are touched, they currently result an out-of-prox packet being sent even if the pad is already out of prox. This can cause some confusion in the X driver. To restore the expected semantics, we make being touched a sufficient condition to signal proximity. https://bugs.freedesktop.org/show_bug.cgi?id=54250Reported-by: NTimo Aaltonen <tjaalton@ubuntu.com> Signed-off-by: NJason Gerecke <killertofu@gmail.com> Reviewed-by: NChris Bagwell <chris@cnpbagwell.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Seth Forshee 提交于
Commit c0394506 (Input: synaptics - handle out of bounds values from the hardware) caused any hardware reported values over 7167 to be treated as a wrapped-around negative value. It turns out that some firmware uses the value 8176 to indicate a finger near the edge of the touchpad whose actual position cannot be determined. This value now gets treated as negative, which can cause pointer jumps and broken edge scrolling on these machines. I only know of one touchpad which reports negative values, and this hardware never reports any value lower than -8 (i.e. 8184). Moving the threshold for treating a value as negative up to 8176 should work fine then for any hardware we currently know about, and since we're dealing with unspecified behavior it's probably the best we can do. The special 8176 value is also likely to result in sudden jumps in position, so let's also clamp this to the maximum specified value for the axis. BugLink: http://bugs.launchpad.net/bugs/1046512 https://bugzilla.kernel.org/show_bug.cgi?id=46371 Cc: stable@vger.kernel.org Signed-off-by: NSeth Forshee <seth.forshee@canonical.com> Reviewed-by: NDaniel Kurtz <djkurtz@chromium.org> Tested-by: NAlan Swanson <swanson@ukfsn.org> Tested-by: NArteom <arutemus@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 20 9月, 2012 23 次提交
-
-
由 Axel Lin 提交于
copy_to_user() returns the number of bytes remaining, but we want a negative error code here. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Tai-hwa Liang 提交于
When lifing finger off the surface some versions of touchpad send movement packets with very low coordinates, which cause cursor to jump to the upper left corner of the screen. Let's ignore least significant bits of X and Y coordinates if higher bits are all zeroes and consider finger not touching the pad. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=43197Reported-and-tested-by: NAleksey Spiridonov <leks13@leks13.ru> Tested-by: NEddie Dunn <eddie.dunn@gmail.com> Tested-by: NJakub Luzny <limoto94@gmail.com> Tested-by: NOlivier Goffart <olivier@woboq.com> Signed-off-by: NTai-hwa Liang <avatar@sentelic.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Pawel Moll 提交于
Clocks must be prepared before enabling and unprepared after disabling. Use appropriate functions to do this in one go. Signed-off-by: NPawel Moll <pawel.moll@arm.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Anisse Astier 提交于
On Toshiba Satellite C850D, the touchpad and the keyboard might randomly not work at boot. Preventing MUX mode activation solves this issue. Signed-off-by: NAnisse Astier <anisse@astier.eu> Cc: stable@kernel.org Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 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 提交于
Add support for the Flatfrog Multitouch 3200 panel. This panel advertises some fields that it does not use, hence the new quirk. Cc: Pablo Cases <pablo.cases@flatfrog.com> Acked-by: NJiri Kosina <jkosina@suse.cz> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
Some devices report the number of contacts via the unreliable CONTACTCOUNT usage, rather than using the CONTACTMAX feature. Without this patch, the 3M devices are constrained to the default maximum of ten fingers. Cc: Benjamin Tissoires <benjamin.tissoires@enac.fr> Acked-by: NJiri Kosina <jkosina@suse.cz> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
With the input_mt_sync_frame() function in place, there is no longer any need to keep the full touch state in the driver. This patch removes the slot state and replaces the lookup code with the input-mt equivalent. Reviewed-and-tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Acked-by: NJiri Kosina <jkosina@suse.cz> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
With the input_configured() callback in place, the setup and frame synchronization can be simplified. The input device initialization is moved to mt_input_configured(), to make sure the full HID report has been seen. Reviewed-and-tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Acked-by: NJiri Kosina <jkosina@suse.cz> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
Some recent hardware define more than 128 fields in the report descriptor. Increase the limit to 256. This adds another kilobyte of memory per report. Tested-by: NPing Cheng <pingc@wacom.com> Acked-by: NJiri Kosina <jkosina@suse.cz> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
A hid device may create several input devices, and a driver may need to prepare or finalize the configuration per input device. Currently, there is no sane way for a driver to know when a device has been configured. This patch adds a callback providing that information. Reviewed-and-tested-by: NBenjamin Tissoires <benjamin.tissoires@enac.fr> Tested-by: NPing Cheng <pingc@wacom.com> Acked-by: NJiri Kosina <jkosina@suse.cz> 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>
-