<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/hid/hid-input.c, branch v3.11.1</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.11.1</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.11.1'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2013-07-04T13:02:26+00:00</updated>
<entry>
<title>Merge branches 'for-3.11/multitouch', 'for-3.11/sony' and 'for-3.11/upstream' into for-linus</title>
<updated>2013-07-04T13:02:26+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2013-07-04T13:02:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=08ec2dcc3527a20c619aca2fb36f800908256bac'/>
<id>urn:sha1:08ec2dcc3527a20c619aca2fb36f800908256bac</id>
<content type='text'>
Conflicts:
	drivers/hid/hid-core.c
</content>
</entry>
<entry>
<title>HID: explain out-of-range check better</title>
<updated>2013-06-19T21:54:10+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2013-06-19T21:52:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a688393bd3fb27690a77f7ae8607b4969039bac5'/>
<id>urn:sha1:a688393bd3fb27690a77f7ae8607b4969039bac5</id>
<content type='text'>
Extend the comment explaining the condition for discarding
out-of-range values to clarify the cases in which devices don't
provide any logical min/max.

Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: fix false positive out of range values</title>
<updated>2013-06-19T21:53:52+00:00</updated>
<author>
<name>Benjamin Tissoires</name>
<email>benjamin.tissoires@redhat.com</email>
</author>
<published>2013-06-19T15:49:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6f1891d01956cad406d2af8ed2e9cef6108bfc5e'/>
<id>urn:sha1:6f1891d01956cad406d2af8ed2e9cef6108bfc5e</id>
<content type='text'>
Commit 6da7066906e977d42104a859c490f5f9a300488c introduced in 3.3
"HID: ignore absolute values which don't fit between logical min and max"
prevents some Posiflex touch screen to work because they do not provide
logical min and max for their buttons.
Thus, logical min and max are at 0, discarding the buttons events, and
preventing the device to report appropriate X Y.

Adding a check on "min &lt; max" solves the problem.

Reported-by: Jan Kandziora &lt;jjj@gmx.de&gt;
Tested-by: Jan Kandziora &lt;jjj@gmx.de&gt;
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: input: return ENODATA if reading battery attrs fails</title>
<updated>2013-05-29T13:19:47+00:00</updated>
<author>
<name>David Herrmann</name>
<email>dh.herrmann@gmail.com</email>
</author>
<published>2013-05-13T15:01:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d0a934b764c67b4bf626f5b7cf725a6e3066afd2'/>
<id>urn:sha1:d0a934b764c67b4bf626f5b7cf725a6e3066afd2</id>
<content type='text'>
power_supply core has the bad habit of calling our battery callbacks
from within power_supply_register(). Furthermore, if the callbacks
fail with an unhandled error code, it will skip any uevent that it
might currently process.
So if HID-core registers battery devices, an "add" uevent is generated
and the battery callbacks are called. These will gracefully fail due
to timeouts as they might still hold locks on event processing. One
could argue that this should be fixed in power_supply core, but the
least we can do is to signal ENODATA so power_supply core will just
skip the property and continue with the uevent.

This fixes a bug where "add" and "remove" uevents are skipped for
battery devices. upower is unable to track these devices and currently
needs to ignore them.

This patch also overwrites any other error code. I cannot see any reason
why we should forward protocol- or I/O-errors to the power_supply core.
We handle these errors in hid_ll_driver later, anyway, so just skip
them. power_supply core cannot do anything useful with them, anyway,
and we avoid skipping important uevents and confusing user-space.

Thanks a lot to Daniel Nicoletti for pushing and investigating
on this.

Cc: Jiri Kosina &lt;jkosina@suse.cz&gt;
Cc: Anton Vorontsov &lt;cbou@mail.ru&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Reported-by: Daniel Nicoletti &lt;dantti12@gmail.com&gt;
Signed-off-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: input: don't register unmapped input devices</title>
<updated>2013-03-27T13:02:45+00:00</updated>
<author>
<name>Benjamin Tissoires</name>
<email>benjamin.tissoires@redhat.com</email>
</author>
<published>2013-03-22T17:38:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4f22decf9b6329acfe59091c5cba6b378b9b31db'/>
<id>urn:sha1:4f22decf9b6329acfe59091c5cba6b378b9b31db</id>
<content type='text'>
There is no need to register an input device containing no events.
This allows drivers using the quirk MULTI_INPUT to register one input
per report effectively used.

For backward compatibility, we need to add a quirk to request
this behavior.

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.7/upstream-fixes', 'for-3.8/hidraw', 'for-3.8/i2c-hid', 'for-3.8/multitouch', 'for-3.8/roccat', 'for-3.8/sensors' and 'for-3.8/upstream' into for-linus</title>
<updated>2012-12-12T20:41:55+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2012-12-12T20:41:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=818b930bc15077fc00ff16bb22c5df1857f05afa'/>
<id>urn:sha1:818b930bc15077fc00ff16bb22c5df1857f05afa</id>
<content type='text'>
Conflicts:
	drivers/hid/hid-core.c
</content>
</entry>
<entry>
<title>HID: hid-input: factorize hid_input allocation</title>
<updated>2012-11-29T13:59:40+00:00</updated>
<author>
<name>Benjamin Tissoires</name>
<email>benjamin.tissoires@gmail.com</email>
</author>
<published>2012-11-23T15:31:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ae751fa82dd8e5a79932d6b55742e7e298afd733'/>
<id>urn:sha1:ae751fa82dd8e5a79932d6b55742e7e298afd733</id>
<content type='text'>
This just refactors the allocation of hid_input.
No semantic changes.

Signed-off-by: Benjamin Tissoires &lt;benjamin.tissoires@gmail.com&gt;
Reviewed-by: Henrik Rydberg &lt;rydberg@euromail.se&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: add battery quirk for Apple 2009_ISO keyboard</title>
<updated>2012-11-26T13:25:24+00:00</updated>
<author>
<name>Ortwin Glück</name>
<email>odi@odi.ch</email>
</author>
<published>2012-11-25T14:08:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4cc8541782140e9ccbece5c8ac367fbf659b16d9'/>
<id>urn:sha1:4cc8541782140e9ccbece5c8ac367fbf659b16d9</id>
<content type='text'>
Support battery capacity on another Apple wireless keyboard.

Signed-off-by: Ortwin Glück &lt;odi@odi.ch&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: fix unit exponent parsing</title>
<updated>2012-11-15T09:07:55+00:00</updated>
<author>
<name>Benjamin Tissoires</name>
<email>benjamin.tissoires@gmail.com</email>
</author>
<published>2012-11-14T15:59:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=774638386826621c984ab6994439f474709cac5e'/>
<id>urn:sha1:774638386826621c984ab6994439f474709cac5e</id>
<content type='text'>
HID spec details special values for the HID field unit exponent.
Basically, the range [0x8..0xf] correspond to [-8..-1], so this is
a standard two's complement on a half-byte.

Signed-off-by: Benjamin Tissoires &lt;benjamin.tissoires@gmail.com&gt;
Acked-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: round return value of hidinput_calc_abs_res</title>
<updated>2012-11-15T09:06:56+00:00</updated>
<author>
<name>Benjamin Tissoires</name>
<email>benjamin.tissoires@gmail.com</email>
</author>
<published>2012-11-14T15:59:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ccdd699411b77c463022ebac311eb4a06ca56db4'/>
<id>urn:sha1:ccdd699411b77c463022ebac311eb4a06ca56db4</id>
<content type='text'>
hidinput_calc_abs_res should return the closest int in the division
instead of the floor.
On a device with a logical_max of 3008 and a physical_max of 255mm,
previous implementation gave a resolution of 11 instead of 12.
With 11, user-space computes a physical size of 273.5mm and the
round_closest results gives 250.6mm.
The old implementation introduced an error of 2cm in this example.

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