CVSROOT:        /cvs
Module name:    src
Changes by:     j...@cvs.openbsd.org    2018/08/25 12:32:05

Modified files:
        sys/dev/hid    : hidmt.c hidmtvar.h 
        sys/dev/i2c    : ihidev.c ihidev.h imt.c 
        sys/dev/usb    : uhidev.c uhidev.h 

Log message:
Move HID->bus constant conversion for HID report types out of ihidev
into hidmt.

The HID code uses hid_feature, hid_input, and hid_output constants
to refer to report types internally that then need to be converted
to their bus-level counterparts before actually getting sent out (so
hid_feature becomes UHID_FEATURE_REPORT for USB,
I2C_HID_REPORT_TYPE_FEATURE for i2c).

This conversion was hard-coded in ihidev but ihidev_[gs]et_report
should assume the type passed is already an i2c-level define, not a
hid one.  This is how uhidev does it.

Add a conversion routine callback that any hidmt callers need to set
so that hidmt can convert hid constants to the bus-level versions.

Also add a similar conversion function to uhidev.

ok deraadt

Reply via email to