Allow uhidev child devices to claim selective report ids
authorjcs <jcs@openbsd.org>
Mon, 8 Mar 2021 14:35:57 +0000 (14:35 +0000)
committerjcs <jcs@openbsd.org>
Mon, 8 Mar 2021 14:35:57 +0000 (14:35 +0000)
commitf31b43ced9cf4cbf056e9d8aceb4fa40a73e00cd
tree670c914d5d75c8a83558b027517932f0b5f45902
parent5d8ef1483d9e3f49dcf75b711a76f3ba937abeb2
Allow uhidev child devices to claim selective report ids

There may be multiple matching devices on a single uhidev device but
the first device that responds to UHIDEV_CLAIM_ALLREPORTID will
block the others from attaching.

Change this to UHIDEV_CLAIM_MULTIPLE_REPORTID and require any
devices wanting some/all report ids to fill in the claimed array in
uhidev_attach_arg with just the reports it needs.  uhidev can then
run match routines for other drivers with the available report ids.

ok anton
16 files changed:
sys/dev/usb/fido.c
sys/dev/usb/ucycom.c
sys/dev/usb/ugold.c
sys/dev/usb/uhid.c
sys/dev/usb/uhidev.c
sys/dev/usb/uhidev.h
sys/dev/usb/ujoy.c
sys/dev/usb/umt.c
sys/dev/usb/uoaklux.c
sys/dev/usb/uoakrh.c
sys/dev/usb/uoakv.c
sys/dev/usb/upd.c
sys/dev/usb/uslhcom.c
sys/dev/usb/uthum.c
sys/dev/usb/utrh.c
sys/dev/usb/utwitch.c