usb: hid: Add HID Device concept

Add HID Device associated with the instance of the HID. This allows to
create several HID instances for multifunction composite device.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
This commit is contained in:
Andrei Emeltchenko 2019-01-29 11:47:59 +02:00 committed by Anas Nashif
commit ca85890dc2
2 changed files with 435 additions and 186 deletions

View file

@ -236,17 +236,19 @@ struct hid_ops {
/* Register HID device */
void usb_hid_register_device(const u8_t *desc, size_t size,
void usb_hid_register_device(struct device *dev, const u8_t *desc, size_t size,
const struct hid_ops *op);
/* Write to hid interrupt endpoint */
int hid_int_ep_write(const u8_t *data, u32_t data_len, u32_t *bytes_ret);
int hid_int_ep_write(const struct device *dev, const u8_t *data, u32_t data_len,
u32_t *bytes_ret);
/* Read from hid interrupt endpoint */
int hid_int_ep_read(u8_t *data, u32_t max_data_len, u32_t *ret_bytes);
int hid_int_ep_read(const struct device *dev, u8_t *data, u32_t max_data_len,
u32_t *ret_bytes);
/* Initialize USB HID */
int usb_hid_init(void);
int usb_hid_init(const struct device *dev);
#ifdef __cplusplus
}