From: Jiri Kosina Date: Tue, 30 Apr 2013 08:12:44 +0000 (+0200) Subject: Merge branches 'for-3.10/appleir', 'for-3.10/hid-debug', 'for-3.10/hid-driver-transpo... X-Git-Tag: v5.15~20260^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4f5a81042909fed6977881f22c024aa3582cfcca;p=platform%2Fkernel%2Flinux-starfive.git Merge branches 'for-3.10/appleir', 'for-3.10/hid-debug', 'for-3.10/hid-driver-transport-cleanups', 'for-3.10/i2c-hid' and 'for-3.10/logitech' into for-linus --- 4f5a81042909fed6977881f22c024aa3582cfcca diff --cc drivers/hid/Kconfig index 7f5e0aa,5f07d85,d1dcfc7,5f07d85..15187b8 --- a/drivers/hid/Kconfig +++ b/drivers/hid/Kconfig @@@@@ -122,20 -122,9 -122,9 -122,9 +122,20 @@@@@ config HID_APPL Say Y here if you want support for keyboards of Apple iBooks, PowerBooks, MacBooks, MacBook Pros and Apple Aluminum. +++config HID_APPLEIR +++ tristate "Apple infrared receiver" +++ depends on (USB_HID) +++ ---help--- +++ Support for Apple infrared remote control. All the Apple computers from +++ 2005 onwards include such a port, except the unibody Macbook (2009), +++ and Mac Pros. This receiver is also used in the Apple TV set-top box +++ prior to the 2010 model. +++ +++ Say Y here if you want support for Apple infrared remote control. +++ config HID_AUREAL tristate "Aureal" -- - depends on USB_HID ++ + depends on HID ---help--- Support for Aureal Cy se W-01RN Remote Controller and other Aureal derived remotes. diff --cc drivers/hid/hid-core.c index bf434a0,e7765ed,b76eb9e,680068c..734b3d4 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c @@@@@ -2343,7 -2319,8 -2328,7 -2345,8 +2338,9 @@@@@ struct hid_device *hid_allocate_device( init_waitqueue_head(&hdev->debug_wait); INIT_LIST_HEAD(&hdev->debug_list); + ++ mutex_init(&hdev->debug_list_lock); sema_init(&hdev->driver_lock, 1); +++ sema_init(&hdev->driver_input_lock, 1); return hdev; } diff --cc drivers/hid/hid-logitech-dj.c index 8758f38c,8758f38c,d904343,199b78c..5207591a --- a/drivers/hid/hid-logitech-dj.c +++ b/drivers/hid/hid-logitech-dj.c @@@@@ -472,12 -472,12 -471,12 -427,11 +431,12 @@@@@ static int logi_dj_recv_send_report(str return -ENODEV; } - sent_bytes = hdev->hid_output_raw_report(hdev, (u8 *) dj_report, - sizeof(struct dj_report), - HID_OUTPUT_REPORT); + for (i = 0; i < report->field[0]->report_count; i++) + report->field[0]->value[i] = data[i]; + -- usbhid_submit_report(hdev, report, USB_DIR_OUT); ++ + hid_hw_request(hdev, report, HID_REQ_SET_REPORT); - return (sent_bytes < 0) ? sent_bytes : 0; + return 0; } static int logi_dj_recv_query_paired_devices(struct dj_receiver_dev *djrcv_dev)