<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/hid/wacom_sys.c, branch linux-4.0.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.0.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.0.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-01-29T13:05:05Z</updated>
<entry>
<title>HID: wacom: add support for Cintiq 27QHD and 27QHD touch</title>
<updated>2015-01-29T13:05:05Z</updated>
<author>
<name>Ping Cheng</name>
</author>
<published>2015-01-27T21:30:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=500d4160abe9a2e88b12e319c13ae3ebd1e18108'/>
<id>urn:sha1:500d4160abe9a2e88b12e319c13ae3ebd1e18108</id>
<content type='text'>
These devices have accelerometers. To report accelerometer coordinates, a new
property, INPUT_PROP_ACCELEROMETER, is added.

Signed-off-by: Ping Cheng &lt;pingc@wacom.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: wacom: use WACOM_*_FIELD macros in wacom_usage_mapping()</title>
<updated>2015-01-06T09:08:44Z</updated>
<author>
<name>Benjamin Tissoires</name>
</author>
<published>2015-01-05T21:32:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d97a552210320d3bec8ee22b8ccdb1d6d189482a'/>
<id>urn:sha1:d97a552210320d3bec8ee22b8ccdb1d6d189482a</id>
<content type='text'>
We introduced nice macros in wacom_wac.c to check whether a field is
a pen or a touch one.

wacom_usage_mapping() still uses it's own tests, which are not in sync with
the wacom_wac tests (.application is not checked).

That means that some legitimate fields might be filtered out from the
usage mapping, and thus will not be used properly while receiving the
events.

Signed-off-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>Merge branches 'for-3.19/hid-report-len', 'for-3.19/i2c-hid', 'for-3.19/lenovo', 'for-3.19/logitech', 'for-3.19/microsoft', 'for-3.19/plantronics', 'for-3.19/rmi', 'for-3.19/sony' and 'for-3.19/wacom' into for-linus</title>
<updated>2014-12-12T10:15:33Z</updated>
<author>
<name>Jiri Kosina</name>
</author>
<published>2014-12-12T10:15:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=019e129f9b2d582e5901c0594427cb4026daa413'/>
<id>urn:sha1:019e129f9b2d582e5901c0594427cb4026daa413</id>
<content type='text'>
</content>
</entry>
<entry>
<title>HID: wacom: Initialize MT slots for generic devices at post_parse_hid</title>
<updated>2014-12-10T09:50:48Z</updated>
<author>
<name>Jason Gerecke</name>
</author>
<published>2014-12-05T21:37:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b58ba1ba1af9cfbad6f3af4c4fc3575d9aeae542'/>
<id>urn:sha1:b58ba1ba1af9cfbad6f3af4c4fc3575d9aeae542</id>
<content type='text'>
If a HID descriptor places HID_DG_CONTACTID before HID_DG_X and HID_DG_Y then
the ABS_X and ABS_Y will not be automatically initialized by the call to
input_mt_init_slots. To ensure that this is not a problem, we relocate that
call to occur after HID parsing has been completed and we've initalized all the
multitouch axes.

Signed-off-by: Jason Gerecke &lt;killertofu@gmail.com&gt;
Reviewed-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: wacom: fix freeze on open when autosuspend is on</title>
<updated>2014-12-02T10:38:36Z</updated>
<author>
<name>Benjamin Tissoires</name>
</author>
<published>2014-12-01T16:52:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dff674168878fe7b6d8b9ad60d62295ec517de79'/>
<id>urn:sha1:dff674168878fe7b6d8b9ad60d62295ec517de79</id>
<content type='text'>
Since the conversion from USB to HID (in v3.17), some people reported a
freeze on boot with the wacom driver. Hans managed to get a stacktrace:

[  240.272331] Call Trace:
[  240.272338]  [&lt;ffffffff813de7b9&gt;] ? usb_hcd_submit_urb+0xa9/0xb10
[  240.272347]  [&lt;ffffffff81555579&gt;] schedule+0x29/0x70
[  240.272355]  [&lt;ffffffff815559e6&gt;] schedule_preempt_disabled+0x16/0x20
[  240.272363]  [&lt;ffffffff81557365&gt;] __mutex_lock_slowpath+0xe5/0x230
[  240.272372]  [&lt;ffffffff815574c7&gt;] mutex_lock+0x17/0x30
[  240.272380]  [&lt;ffffffffa063c1d2&gt;] wacom_resume+0x22/0x50 [wacom]
[  240.272396]  [&lt;ffffffffa01aea8a&gt;] hid_resume_common+0xba/0x110 [usbhid]
[  240.272404]  [&lt;ffffffff813e5890&gt;] ? usb_runtime_suspend+0x80/0x80
[  240.272417]  [&lt;ffffffffa01aeb1d&gt;] hid_resume+0x3d/0x70 [usbhid]
[  240.272425]  [&lt;ffffffff813e44a6&gt;] usb_resume_interface.isra.6+0xb6/0x120
[  240.272432]  [&lt;ffffffff813e4774&gt;] usb_resume_both+0x74/0x140
[  240.272439]  [&lt;ffffffff813e58aa&gt;] usb_runtime_resume+0x1a/0x20
[  240.272446]  [&lt;ffffffff813b1912&gt;] __rpm_callback+0x32/0x70
[  240.272453]  [&lt;ffffffff813b1976&gt;] rpm_callback+0x26/0xa0
[  240.272460]  [&lt;ffffffff813b2d71&gt;] rpm_resume+0x4b1/0x690
[  240.272468]  [&lt;ffffffff812ab992&gt;] ? radix_tree_lookup_slot+0x22/0x50
[  240.272475]  [&lt;ffffffff813b2c1a&gt;] rpm_resume+0x35a/0x690
[  240.272482]  [&lt;ffffffff8116e9c9&gt;] ? zone_statistics+0x89/0xa0
[  240.272489]  [&lt;ffffffff813b2f90&gt;] __pm_runtime_resume+0x40/0x60
[  240.272497]  [&lt;ffffffff813e4272&gt;] usb_autopm_get_interface+0x22/0x60
[  240.272509]  [&lt;ffffffffa01ae8d9&gt;] usbhid_open+0x59/0xe0 [usbhid]
[  240.272517]  [&lt;ffffffffa063ac85&gt;] wacom_open+0x35/0x50 [wacom]
[  240.272525]  [&lt;ffffffff813f37b9&gt;] input_open_device+0x79/0xa0
[  240.272534]  [&lt;ffffffffa048d1c1&gt;] evdev_open+0x1b1/0x200 [evdev]
[  240.272543]  [&lt;ffffffff811c899e&gt;] chrdev_open+0xae/0x1f0
[  240.272549]  [&lt;ffffffff811c88f0&gt;] ? cdev_put+0x30/0x30
[  240.272556]  [&lt;ffffffff811c17e2&gt;] do_dentry_open+0x1d2/0x320
[  240.272562]  [&lt;ffffffff811c1cd1&gt;] finish_open+0x31/0x50
[  240.272571]  [&lt;ffffffff811d2202&gt;] do_last.isra.36+0x652/0xe50
[  240.272579]  [&lt;ffffffff811d2ac7&gt;] path_openat+0xc7/0x6f0
[  240.272586]  [&lt;ffffffff811cf012&gt;] ? final_putname+0x22/0x50
[  240.272594]  [&lt;ffffffff811d42d2&gt;] ? user_path_at_empty+0x72/0xd0
[  240.272602]  [&lt;ffffffff811d43fd&gt;] do_filp_open+0x4d/0xc0
[...]

So here, wacom_open is called, and then wacom_resume is called by the
PM system. However, wacom_open already took the lock when wacom_resume
tries to get it. Freeze.

A little bit of history shows that this already happened in the past
- commit f6cd378372bf ("Input: wacom - fix runtime PM related deadlock"),
and the solution was to call first the PM function before taking the lock.

The lock was introduced in commit commit e722409445fb ("Input: wacom -
implement suspend and autosuspend") when the autosuspend feature has
been added. Given that usbhid already takes care of this very same
locking between suspend/resume, I think we can simply kill the lock
in open/close.

The lock is now used also with LEDs, so we can not remove it completely.

Reported-by: Hans Spath &lt;inbox-546@hans-spath.de&gt;
Tested-by: Hans Spath &lt;inbox-546@hans-spath.de&gt;
CC: stable@vger.kernel.org # v3.17+
Signed-off-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: make hid_report_len as a static inline function in hid.h</title>
<updated>2014-12-01T20:34:17Z</updated>
<author>
<name>Mathieu Magnaudet</name>
</author>
<published>2014-11-27T15:02:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dabb05c6670e6e4415d7b56cd5864a5dbd90207f'/>
<id>urn:sha1:dabb05c6670e6e4415d7b56cd5864a5dbd90207f</id>
<content type='text'>
In several hid drivers it is necessary to calculate the length of an
hid_report. This patch exports the existing static function hid_report_len of
hid-core.c as an inline function in hid.h

Signed-off-by: Mathieu Magnaudet &lt;mathieu.magnaudet@enac.fr&gt;
Reviewed-by: Benjamin Tissoires &lt;benjamin.tissoires@gmail.com&gt;
Reviewed-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: wacom: PAD is independent with pen/touch</title>
<updated>2014-11-26T09:41:44Z</updated>
<author>
<name>Ping Cheng</name>
</author>
<published>2014-11-21T00:31:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=954df6ad00ea2ba732e2e7ae6a68b3111eee4e09'/>
<id>urn:sha1:954df6ad00ea2ba732e2e7ae6a68b3111eee4e09</id>
<content type='text'>
PAD can be on pen interface (Intuos Pro and Cintiq series) or touch
interface (Bamboo PT and Intuos PT series) or its own interface
(Bamboo pen-only and Intuos Pen M/S). We need to mark it independently.

Signed-off-by: Ping Cheng &lt;pingc@wacom.com&gt;
Reviewed-by:  Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: wacom - Bamboo pen-only tablet does not support PAD</title>
<updated>2014-11-20T16:28:43Z</updated>
<author>
<name>Ping Cheng</name>
</author>
<published>2014-11-18T21:29:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=30ebc1aea8ce02da5b3789eba775dd2d79837813'/>
<id>urn:sha1:30ebc1aea8ce02da5b3789eba775dd2d79837813</id>
<content type='text'>
Bamboo models do not support HID_DG_CONTACTMAX. Plus, Bamboo pen-only
has touch descriptor. This leads to some complications in the code.

This patch also fixes duplicated PAD interfeaces for Intuos Pen
models.

Signed-off-by: Ping Cheng &lt;pingc@wacom.com&gt;
Reviewed-by:  Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: wacom: implement the finger part of the HID generic handling</title>
<updated>2014-10-01T07:11:23Z</updated>
<author>
<name>Benjamin Tissoires</name>
</author>
<published>2014-09-23T16:08:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5ae6e89f7409cb5d218bb728326eba9c650d9700'/>
<id>urn:sha1:5ae6e89f7409cb5d218bb728326eba9c650d9700</id>
<content type='text'>
Signed-off-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Acked-by: Jason Gerecke &lt;killertofu@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: wacom: implement generic HID handling for pen generic devices</title>
<updated>2014-10-01T07:11:23Z</updated>
<author>
<name>Benjamin Tissoires</name>
</author>
<published>2014-09-23T16:08:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7704ac937345d4b502062952657027234aa86a37'/>
<id>urn:sha1:7704ac937345d4b502062952657027234aa86a37</id>
<content type='text'>
ISDv4 and v5 are plain HID devices. We can directly implement a generic
HID parsing/handling and remove the need to manually add those PID in
the list of supported devices.

This patch implements the pen support only. The finger part will come in
a later patch.

To be properly notified of an .event() and a .report(), we need to force
hid-core to go through the HID parsing. By default, wacom.ko binds only
hidraw, so the hid parsing is not done by hid-core. When a true HID device
is there, we add the flag HID_CLAIMED_DRIVER to hid-&gt;claimed which will
force hid-core to parse the incoming reports.
(Note that this can be easily backported by directly setting the .claimed
flag to HID_CLAIMED_DRIVER even if hid-core does not support
HID_CONNECT_DRIVER)

Signed-off-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Acked-by: Jason Gerecke &lt;killertofu@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
</feed>
