zephyr/subsys/usb
Johann Fischer 4516ad0bde usb: hid: rework idle report implementation
HID core implementation has support for Get/Set Idle requests and
on idle report processing. Basically it has little use.
Also, it has no users in the tree except samples/subsys/usb/hid,
which does not have it turned on.
There are several issues with the idle report implementation:
- Core calls hid_ops.on_idle callback with Report ID 0,
  but this ID is reserved and should not be used.
  Report descriptors do not use Report ID index zero.
- Calling hid_ops.on_idle with Report ID 0 cann only
  be turned off by calling SetIdle(Duration = 0, Report ID = 0),
  but not by SetIdle with Report ID not equal zero.
- GetIdle with Report Id not equal zero returns wrong
  value after SetIdle(Duration = n, Report ID = 0)
- It may happen that hid_ops.on_idle is called for
  different Report ID during one and the same SoF event.
  But there can be only one hid_int_ep_write() during a frame.

This patch fixes listed issues and revises Get/Set Idle request,
and hid_sof_handler() implementation.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-03-17 11:34:42 +01:00
..
class usb: hid: rework idle report implementation 2021-03-17 11:34:42 +01:00
bos.c usb: fix BOS descriptor registration 2021-02-02 21:29:23 -05:00
CMakeLists.txt usb: add optional work queue 2020-09-16 13:32:22 -05:00
Kconfig usb: drivers: Fix ZLP handling for Nordic driver. 2020-11-17 18:06:26 +01:00
os_desc.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
os_desc.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
usb_descriptor.c code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
usb_descriptor.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
usb_device.c usb: drivers: Fix ZLP handling for Nordic driver. 2020-11-17 18:06:26 +01:00
usb_transfer.c usb: fix possible deadlock in usb_transfer_sync() 2021-01-26 07:21:13 -05:00
usb_transfer.h usb: fix header language linkage 2020-09-16 13:32:22 -05:00
usb_work_q.c usb: add optional work queue 2020-09-16 13:32:22 -05:00
usb_work_q.h usb: add optional work queue 2020-09-16 13:32:22 -05:00