mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-15 12:27:47 +00:00
HID: sony: use hid_get_raw_report() instead of a direct call to usb
The usb packets are exactly the same, but it makes it a little bit more independent of the transport layer. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
0c5218362b
commit
f204828a11
@ -419,21 +419,14 @@ static int sixaxis_usb_output_raw_report(struct hid_device *hid, __u8 *buf,
|
||||
*/
|
||||
static int sixaxis_set_operational_usb(struct hid_device *hdev)
|
||||
{
|
||||
struct usb_interface *intf = to_usb_interface(hdev->dev.parent);
|
||||
struct usb_device *dev = interface_to_usbdev(intf);
|
||||
__u16 ifnum = intf->cur_altsetting->desc.bInterfaceNumber;
|
||||
int ret;
|
||||
char *buf = kmalloc(18, GFP_KERNEL);
|
||||
|
||||
if (!buf)
|
||||
return -ENOMEM;
|
||||
|
||||
ret = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0),
|
||||
HID_REQ_GET_REPORT,
|
||||
USB_DIR_IN | USB_TYPE_CLASS |
|
||||
USB_RECIP_INTERFACE,
|
||||
(3 << 8) | 0xf2, ifnum, buf, 17,
|
||||
USB_CTRL_GET_TIMEOUT);
|
||||
ret = hdev->hid_get_raw_report(hdev, 0xf2, buf, 17, HID_FEATURE_REPORT);
|
||||
|
||||
if (ret < 0)
|
||||
hid_err(hdev, "can't set operational mode\n");
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user