<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/drivers/hid/hid-thingm.c, branch docs-fixes</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-fixes</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-fixes'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2016-06-23T06:48:42+00:00</updated>
<entry>
<title>HID: remove ThingM blink(1) driver</title>
<updated>2016-06-23T06:48:42+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2016-06-22T20:04:36+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=38b09c030b91c368a839b4783abab51a9745a633'/>
<id>urn:sha1:38b09c030b91c368a839b4783abab51a9745a633</id>
<content type='text'>
Now that support for ThingM blink(1) was merged into the hid-led driver
the dedicated driver for this device can be removed.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Acked-by: Vivien Didelot &lt;vivien.didelot@savoirfairelinux.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: thingm: remove not needed error message</title>
<updated>2016-04-25T09:30:57+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2016-04-20T18:33:05+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=bbf4ac9cfa9b681e3b657699f39fc855408904b8'/>
<id>urn:sha1:bbf4ac9cfa9b681e3b657699f39fc855408904b8</id>
<content type='text'>
LED core takes care of handling failed calls to thingm_let_set.
- print error message in set_brightness_delayed or
- pass error to caller in led_set_brightness_sync
Also the error message here doesn't provide any hint what actually
went wrong. Therefore remove it.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Reviewed-by: Benjamin Tissoires &lt;benjamin.tissoires@rehat.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: thingm: set new flag LED_HW_PLUGGABLE</title>
<updated>2016-04-18T11:01:38+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2016-04-17T20:51:46+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=a4362fd6da7ab8b08028734004df486847ea593e'/>
<id>urn:sha1:a4362fd6da7ab8b08028734004df486847ea593e</id>
<content type='text'>
Use recently introduced flag LED_HW_PLUGGABLE to avoid warnings when
the device is unplugged.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@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: thingm: factor out duplicated code to thingm_init_led</title>
<updated>2016-04-18T11:01:38+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2016-04-17T20:46:59+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=91540ccc9c4554c8bbb8b8a1be0b255a378b6475'/>
<id>urn:sha1:91540ccc9c4554c8bbb8b8a1be0b255a378b6475</id>
<content type='text'>
Simplify thingm_init_rgb by factoring out duplicated code
to thingm_init_led.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@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: thingm: reorder calls in thingm_probe</title>
<updated>2016-03-15T14:28:55+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2016-03-10T19:52:21+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=1d1b564ff852944a10b524f21dfb78818bd43f52'/>
<id>urn:sha1:1d1b564ff852944a10b524f21dfb78818bd43f52</id>
<content type='text'>
When reviewing another thingm patch Benjamin Tissoires pointed out
the following: "The problem here is that hid_hw_start() is called
before thingm_version() which allows user space to briefly introduce
races between thingm_version() and any hidraw requests.
The mutex will not help here as it is initialized after hid_hw_start()
and only used for protecting the concurrent access of the rgb."

Avoid this possible issue by calling hid_hw_start() later in the
probe function.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: thingm: improve locking</title>
<updated>2016-03-02T09:20:31+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2016-03-01T19:49:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=43a4a04d4ddb268373d5857c7a7bcbe3658e5b48'/>
<id>urn:sha1:43a4a04d4ddb268373d5857c7a7bcbe3658e5b48</id>
<content type='text'>
Reading from the device consists of two operations: sending the read
command and the actual read from the device. If the device is accessed
in between we might read wrong data. Therefore protect the full sequence
of both operations with a mutex.
Also change the semantics of thingm_recv to include both operations.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: thingm: switch to managed version of led_classdev_register</title>
<updated>2016-03-02T09:20:30+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2016-02-29T20:38:26+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=c46fab28703bf12772b3bdbeabcf90df9cd20d58'/>
<id>urn:sha1:c46fab28703bf12772b3bdbeabcf90df9cd20d58</id>
<content type='text'>
Simplify the code by switching to the managed version of
led_classdev_register.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: thingm: remove workqueue</title>
<updated>2016-03-02T09:20:30+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2016-02-29T20:34:50+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=3de68ce92bab247389fc478b86a5fdcb17845015'/>
<id>urn:sha1:3de68ce92bab247389fc478b86a5fdcb17845015</id>
<content type='text'>
Defining workqueues in LED drivers isn't needed any longer as the LED core
was extended with a generic workqueue recently.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>Merge branches 'for-3.18/always-poll-quirk', 'for-3.18/logitech', 'for-3.18/picolcd', 'for-3.18/rmi', 'for-3.18/sony', 'for-3.18/uhid', 'for-3.18/upstream' and 'for-3.18/wacom' into for-linus</title>
<updated>2014-10-06T21:34:40+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2014-10-06T21:34:40+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=ee5db7e47faccd07a8a17f73afb30345f8331e61'/>
<id>urn:sha1:ee5db7e47faccd07a8a17f73afb30345f8331e61</id>
<content type='text'>
</content>
</entry>
<entry>
<title>HID: thingm: fix workqueue race on remove</title>
<updated>2014-09-04T06:56:06+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2014-09-04T06:56:06+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=67a97845830f79584c9db8849ac723e5d2d57f65'/>
<id>urn:sha1:67a97845830f79584c9db8849ac723e5d2d57f65</id>
<content type='text'>
thingm_remove_rgb() needs to flush the workqueue after all the LED classes
have been unregistered, otherwise the removal might race with another LED
event coming, causing thingm_led_set() to schedule additional work after
thingm_remove_rgb() has flushed it. This obviously causes oops later, as
the scheduled work has been freed in the meantime.

In addition to that, move the hid_hw_stop() to an earlier place, so that
dmesg is not polluted by failure messages about not being able to write
the LED while the device is being shut down.

Reported-and-tested-by: Dylan Alex Simon &lt;dylan-kernel@dylex.net&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
</feed>
