zephyr/subsys/usb/class
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
..
audio usb: audio: Convert drivers to new DT device macros 2020-12-18 07:50:49 -06:00
dfu usb: dfu: add separate pid for dfu mode 2020-12-20 13:04:45 -05:00
hid usb: hid: rework idle report implementation 2021-03-17 11:34:42 +01:00
netusb usb: netusb: make ECM MAC address user-configurable 2020-10-17 16:36:52 +03:00
bluetooth.c usb: bluetooth: fix OUT buffer handling 2021-02-14 16:38:56 -05:00
bt_h4.c usb: hci: Remove handling of unused DC statuses. 2020-10-20 10:04:32 -05:00
cdc_acm.c kernel: sem: add K_SEM_MAX_LIMIT 2021-03-05 08:13:53 -06:00
CMakeLists.txt usb: move USB MSC configuration to its own Kconfig file 2021-02-19 14:39:26 -05:00
Kconfig usb: move USB Loopback class configuration to its own Kconfig 2021-02-19 14:39:26 -05:00
Kconfig.bt usb: move USB Bluetooth classes configuration to its own Kconfig 2021-02-19 14:39:26 -05:00
Kconfig.cdc usb: move CDC ACM configuration to to its own Kconfig file 2021-02-19 14:39:26 -05:00
Kconfig.msc usb: mass storage: add missing prompt to Kconfig 2021-03-01 09:27:57 -05:00
Kconfig.template.composite_device_number
Kconfig.test usb: move USB Loopback class configuration to its own Kconfig 2021-02-19 14:39:26 -05:00
loopback.c
msc.c usb: move USB MSC configuration to its own Kconfig file 2021-02-19 14:39:26 -05:00