<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/hid/hid-sony.c, branch v3.4.2</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>HID: hid-sony: fix endiannes of Sixaxis accel/gyro values</title>
<updated>2011-06-13T11:21:30+00:00</updated>
<author>
<name>Simon Wood</name>
<email>simon@mungewell.org</email>
</author>
<published>2011-06-10T10:00:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c9e4d87758e95ef9d78a7767e2405ebaf54adcd8'/>
<id>c9e4d87758e95ef9d78a7767e2405ebaf54adcd8</id>
<content type='text'>
The accelerometers/gyro on the Sixaxis are reported in the wrong
endianness (ie. not compatible with HID), so this patch intercepts
the report and swaps the appropriate bytes over.

Accelerometers are scaled with a nominal value of +/-4000 = 1G,
maximum value would be around +/-32768 = 8G.

Gyro on my device always reports -32768, might need some calibration
set within the controller.

Fix extracted from previous patch submission:
https://patchwork.kernel.org/patch/95212/

Signed-off-by: Marcin Tolysz &lt;tolysz@gmail.com&gt;
Signed-off-by: Simon Wood &lt;simon@mungewell.org&gt;
Signed-off-by: Antonio Ospite &lt;ospite@studenti.unina.it&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The accelerometers/gyro on the Sixaxis are reported in the wrong
endianness (ie. not compatible with HID), so this patch intercepts
the report and swaps the appropriate bytes over.

Accelerometers are scaled with a nominal value of +/-4000 = 1G,
maximum value would be around +/-32768 = 8G.

Gyro on my device always reports -32768, might need some calibration
set within the controller.

Fix extracted from previous patch submission:
https://patchwork.kernel.org/patch/95212/

Signed-off-by: Marcin Tolysz &lt;tolysz@gmail.com&gt;
Signed-off-by: Simon Wood &lt;simon@mungewell.org&gt;
Signed-off-by: Antonio Ospite &lt;ospite@studenti.unina.it&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>HID: hid-sony: amend Sixaxis descriptor to enable accelerometers</title>
<updated>2011-06-13T11:20:06+00:00</updated>
<author>
<name>Simon Wood</name>
<email>simon@mungewell.org</email>
</author>
<published>2011-06-10T10:00:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=61ab44bebdefab296487e7cd723a634849278827'/>
<id>61ab44bebdefab296487e7cd723a634849278827</id>
<content type='text'>
Modify the HID descriptor of the Sixaxis controller to allow the
reporting of the accelerometers and gyro via a joystick axis.

Rewrite section from offset 83:
--
0x75, 0x08,         /* Report Size (8),         */
/* all the other data lumped together */
0x95, 0x27,         /* Report Count (39),       */
0x09, 0x01,         /* Usage (Pointer),         */
0x81, 0x02,         /* Input (Variable),        */
0x75, 0x08,         /* Report Size (8),         */
0x95, 0x30,         /* Report Count (48),       */
0x09, 0x01,         /* Usage (Pointer),         */
/* Note Output */
0x91, 0x02,         /* Output (Variable),       */
0x75, 0x08,         /* Report Size (8),         */
0x95, 0x30,         /* Report Count (48),       */
0x09, 0x01,         /* Usage (Pointer),         */
/* Note Feature */
0xB1, 0x02,         /* Feature (Variable),      */
--
with
--
/* last 2 not used... */
0x95, 0x13,         /* Report Count (19),       */
0x09, 0x01,         /* Usage (Pointer),         */
0x81, 0x02,         /* Input (Variable),        */
/* Padding */
0x95, 0x0C,         /* Report Count (12),       */
0x81, 0x01,         /* Input (Constant),        */
0x75, 0x10,         /* Report Size (16),        */
0x95, 0x04,         /* Report Count (4),        */
0x26, 0xFF, 0x03,   /* Logical Maximum (1023),  */
0x46, 0xFF, 0x03,   /* Physical Maximum (1023), */
0x09, 0x01,         /* Usage (Pointer),         */
0x81, 0x02,         /* Input (Variable),        */
--

Signed-off-by: Simon Wood &lt;simon@mungewell.org&gt;
Signed-off-by: Antonio Ospite &lt;ospite@studenti.unina.it&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Modify the HID descriptor of the Sixaxis controller to allow the
reporting of the accelerometers and gyro via a joystick axis.

Rewrite section from offset 83:
--
0x75, 0x08,         /* Report Size (8),         */
/* all the other data lumped together */
0x95, 0x27,         /* Report Count (39),       */
0x09, 0x01,         /* Usage (Pointer),         */
0x81, 0x02,         /* Input (Variable),        */
0x75, 0x08,         /* Report Size (8),         */
0x95, 0x30,         /* Report Count (48),       */
0x09, 0x01,         /* Usage (Pointer),         */
/* Note Output */
0x91, 0x02,         /* Output (Variable),       */
0x75, 0x08,         /* Report Size (8),         */
0x95, 0x30,         /* Report Count (48),       */
0x09, 0x01,         /* Usage (Pointer),         */
/* Note Feature */
0xB1, 0x02,         /* Feature (Variable),      */
--
with
--
/* last 2 not used... */
0x95, 0x13,         /* Report Count (19),       */
0x09, 0x01,         /* Usage (Pointer),         */
0x81, 0x02,         /* Input (Variable),        */
/* Padding */
0x95, 0x0C,         /* Report Count (12),       */
0x81, 0x01,         /* Input (Constant),        */
0x75, 0x10,         /* Report Size (16),        */
0x95, 0x04,         /* Report Count (4),        */
0x26, 0xFF, 0x03,   /* Logical Maximum (1023),  */
0x46, 0xFF, 0x03,   /* Physical Maximum (1023), */
0x09, 0x01,         /* Usage (Pointer),         */
0x81, 0x02,         /* Input (Variable),        */
--

Signed-off-by: Simon Wood &lt;simon@mungewell.org&gt;
Signed-off-by: Antonio Ospite &lt;ospite@studenti.unina.it&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>HID: add support for Sony Navigation Controller</title>
<updated>2011-04-28T13:43:13+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2011-04-28T13:43:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=35dca5b4a67a93bbb75c2753d6dc432dc8f82e5d'/>
<id>35dca5b4a67a93bbb75c2753d6dc432dc8f82e5d</id>
<content type='text'>
Sony Navigation Controller needs a special report to be sent to it
before it is able to operate, the same way as other Sony controllers
do.

Tested-by: Jacek Lukas Wotka &lt;jlw@team-fatal.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sony Navigation Controller needs a special report to be sent to it
before it is able to operate, the same way as other Sony controllers
do.

Tested-by: Jacek Lukas Wotka &lt;jlw@team-fatal.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>HID: hid-sony.c: Fix sending Output reports to the Sixaxis</title>
<updated>2011-02-21T12:48:50+00:00</updated>
<author>
<name>Antonio Ospite</name>
<email>ospite@studenti.unina.it</email>
</author>
<published>2011-02-20T17:26:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5710fabf315efcd53c54ad4ecc6158f2964745e3'/>
<id>5710fabf315efcd53c54ad4ecc6158f2964745e3</id>
<content type='text'>
The Sixaxis does not want the report_id as part of the data packet in
Output reports, so we have to discard buf[0] when sending the actual
control message.

Add also some documentation about that and about why
hdev-&gt;hid_output_raw_report needs to be overridden.

Signed-off-by: Antonio Ospite &lt;ospite@studenti.unina.it&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Sixaxis does not want the report_id as part of the data packet in
Output reports, so we have to discard buf[0] when sending the actual
control message.

Add also some documentation about that and about why
hdev-&gt;hid_output_raw_report needs to be overridden.

Signed-off-by: Antonio Ospite &lt;ospite@studenti.unina.it&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>HID: Add and use hid_&lt;level&gt;: dev_&lt;level&gt; equivalents</title>
<updated>2010-12-10T14:10:38+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2010-12-10T03:29:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4291ee305e9bb0699504a66f0e2b7aefcf0512a5'/>
<id>4291ee305e9bb0699504a66f0e2b7aefcf0512a5</id>
<content type='text'>
Neaten current uses of dev_&lt;level&gt; by adding and using
hid specific hid_&lt;level&gt; macros.

Convert existing uses of dev_&lt;level&gt; uses to hid_&lt;level&gt;.
Convert hid-pidff printk uses to hid_&lt;level&gt;.

Remove err_hid and use hid_err instead.

Add missing newlines to logging messages where necessary.
Coalesce format strings.

Add and use pr_fmt(fmt) KBUILD_MODNAME ": " fmt

Other miscellaneous changes:

Add const struct hid_device * argument to hid-core functions
extract() and implement() so hid_&lt;level&gt; can be used by them.
Fix bad indentation in hid-core hid_input_field function
that calls extract() function above.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Neaten current uses of dev_&lt;level&gt; by adding and using
hid specific hid_&lt;level&gt; macros.

Convert existing uses of dev_&lt;level&gt; uses to hid_&lt;level&gt;.
Convert hid-pidff printk uses to hid_&lt;level&gt;.

Remove err_hid and use hid_err instead.

Add missing newlines to logging messages where necessary.
Coalesce format strings.

Add and use pr_fmt(fmt) KBUILD_MODNAME ": " fmt

Other miscellaneous changes:

Add const struct hid_device * argument to hid-core functions
extract() and implement() so hid_&lt;level&gt; can be used by them.
Fix bad indentation in hid-core hid_input_field function
that calls extract() function above.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'uc-logic' into for-linus</title>
<updated>2010-10-23T20:49:32+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2010-10-23T20:49:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8b66a16f25f819bb1f132f075c5c01a288776cf8'/>
<id>8b66a16f25f819bb1f132f075c5c01a288776cf8</id>
<content type='text'>
Conflicts:
	drivers/hid/hid-ids.h
	drivers/hid/hid-lg.c
	drivers/hid/usbhid/hid-quirks.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	drivers/hid/hid-ids.h
	drivers/hid/hid-lg.c
	drivers/hid/usbhid/hid-quirks.c
</pre>
</div>
</content>
</entry>
<entry>
<title>HID: hid-sony: override usbhid_output_raw_report for Sixaxis</title>
<updated>2010-10-20T14:50:24+00:00</updated>
<author>
<name>Antonio Ospite</name>
<email>ospite@studenti.unina.it</email>
</author>
<published>2010-10-19T14:13:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=569b10a506c4d5bc7398d040930539d84d3a2186'/>
<id>569b10a506c4d5bc7398d040930539d84d3a2186</id>
<content type='text'>
Override usbhid_output_raw_report in order to force output reports (sent
via hidraw_write, for instance) on the control endpoint.

The Sony Sixaxis (PS3 Controller) accepts output reports only on the
control endpoint, it silently discards them when they arrive over the
interrupt endpoint where usbhid would normally deliver them.

Signed-off-by: Antonio Ospite &lt;ospite@studenti.unina.it&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Override usbhid_output_raw_report in order to force output reports (sent
via hidraw_write, for instance) on the control endpoint.

The Sony Sixaxis (PS3 Controller) accepts output reports only on the
control endpoint, it silently discards them when they arrive over the
interrupt endpoint where usbhid would normally deliver them.

Signed-off-by: Antonio Ospite &lt;ospite@studenti.unina.it&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>HID: sony: Apply sixaxis quirks only to sixaxis</title>
<updated>2010-09-02T07:40:40+00:00</updated>
<author>
<name>Antonio Ospite</name>
<email>ospite@studenti.unina.it</email>
</author>
<published>2010-05-03T20:15:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=816651a7d4a32664261e5f9f88ad0d558faed4cc'/>
<id>816651a7d4a32664261e5f9f88ad0d558faed4cc</id>
<content type='text'>
Be more explicit and avoid calling sony_set_operational_usb() when we
have USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE.

While at it, rename the sony_set_operational routines to
sixaxis_set_operational as they are sixaxis specific.

This is also in preparation for the sysfs interface to set and get bdaddr
over usb and for some other Sixaxis report fixup.

Signed-off-by: Antonio Ospite &lt;ospite@studenti.unina.it&gt;
Signed-off-by: Bastien Nocera &lt;hadess@hadess.net&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Be more explicit and avoid calling sony_set_operational_usb() when we
have USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE.

While at it, rename the sony_set_operational routines to
sixaxis_set_operational as they are sixaxis specific.

This is also in preparation for the sysfs interface to set and get bdaddr
over usb and for some other Sixaxis report fixup.

Signed-off-by: Antonio Ospite &lt;ospite@studenti.unina.it&gt;
Signed-off-by: Bastien Nocera &lt;hadess@hadess.net&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>HID: allow resizing and replacing report descriptors</title>
<updated>2010-08-09T17:52:42+00:00</updated>
<author>
<name>Nikolai Kondrashov</name>
<email>spbnick@gmail.com</email>
</author>
<published>2010-08-06T19:03:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=73e4008ddddc84d5f2499c17012b340a0dae153e'/>
<id>73e4008ddddc84d5f2499c17012b340a0dae153e</id>
<content type='text'>
Update hid_driver's report_fixup prototype to allow changing report
descriptor size and/or returning completely different report descriptor.
Update existing usage accordingly.

This is to give more freedom in descriptor fixup and to allow having a whole
fixed descriptor in the code for the sake of readability.

Signed-off-by: Nikolai Kondrashov &lt;spbnick@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update hid_driver's report_fixup prototype to allow changing report
descriptor size and/or returning completely different report descriptor.
Update existing usage accordingly.

This is to give more freedom in descriptor fixup and to allow having a whole
fixed descriptor in the code for the sake of readability.

Signed-off-by: Nikolai Kondrashov &lt;spbnick@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>HID: sony: fix sony_set_operational_bt</title>
<updated>2010-05-03T15:19:03+00:00</updated>
<author>
<name>Antonio Ospite</name>
<email>ospite@studenti.unina.it</email>
</author>
<published>2010-05-03T15:19:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fddb33f2e8872fa4857dd29f0b71a523c9ed5577'/>
<id>fddb33f2e8872fa4857dd29f0b71a523c9ed5577</id>
<content type='text'>
Don't send the report type as part of the data, this prevents the
controller from going into the operational state at all.

This is completely equivalent to what the code originally meant to accomplish:
as per in net/bluetooth/hidp/core.c::hidp_output_raw_report(), by using
HID_FEATURE_REPORT here, what will be actually sent is
(HIDP_TRANS_SET_REPORT | HIDP_DATA_RTYPE_FEATURE) which is exactly 0x53.

Signed-off-by: Antonio Ospite &lt;ospite@studenti.unina.it&gt;
Signed-off-by: Bastien Nocera &lt;hadess@hadess.net&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Don't send the report type as part of the data, this prevents the
controller from going into the operational state at all.

This is completely equivalent to what the code originally meant to accomplish:
as per in net/bluetooth/hidp/core.c::hidp_output_raw_report(), by using
HID_FEATURE_REPORT here, what will be actually sent is
(HIDP_TRANS_SET_REPORT | HIDP_DATA_RTYPE_FEATURE) which is exactly 0x53.

Signed-off-by: Antonio Ospite &lt;ospite@studenti.unina.it&gt;
Signed-off-by: Bastien Nocera &lt;hadess@hadess.net&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</pre>
</div>
</content>
</entry>
</feed>
