From: Jiri Kosina Date: Fri, 14 Mar 2014 14:30:16 +0000 (+0100) Subject: Merge branch 'for-3.15/sony' into for-3.15/hid-core-ll-transport-cleanup X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=65ab2fc479fa8554e26d6d1726a4ebe6f29a73be;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git Merge branch 'for-3.15/sony' into for-3.15/hid-core-ll-transport-cleanup --- 65ab2fc479fa8554e26d6d1726a4ebe6f29a73be diff --cc drivers/hid/hid-sony.c index e3e89b6a41c2,b1aa6f00c827..b5fe65e70dc4 --- a/drivers/hid/hid-sony.c +++ b/drivers/hid/hid-sony.c @@@ -720,10 -1072,22 +1072,22 @@@ static int sixaxis_set_operational_usb( static int sixaxis_set_operational_bt(struct hid_device *hdev) { unsigned char buf[] = { 0xf4, 0x42, 0x03, 0x00, 0x00 }; - return hid_output_raw_report(hdev, buf, sizeof(buf), - HID_FEATURE_REPORT); + return hid_hw_raw_request(hdev, buf[0], buf, sizeof(buf), + HID_FEATURE_REPORT, HID_REQ_SET_REPORT); } + /* + * Requesting feature report 0x02 in Bluetooth mode changes the state of the + * controller so that it sends full input reports of type 0x11. + */ + static int dualshock4_set_operational_bt(struct hid_device *hdev) + { + __u8 buf[37] = { 0 }; + + return hid_hw_raw_request(hdev, 0x02, buf, sizeof(buf), + HID_FEATURE_REPORT, HID_REQ_GET_REPORT); + } + static void buzz_set_leds(struct hid_device *hdev, const __u8 *leds) { struct list_head *report_list =