History log of /freebsd-current/sys/dev/hid/hid.c
Revision Date Author Comments
# 71625ec9 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line .c comment pattern

Remove /^/[*/]\s*\$FreeBSD\$.*\n/


# 4151ac9f 03-Aug-2023 Vladimir Kondratyev <wulf@FreeBSD.org>

hidbus(4): Use generic hid methods to start and stop interrupts


# 4b171281 03-Aug-2023 Vladimir Kondratyev <wulf@FreeBSD.org>

hid: Add child device parameter to HID methods

Some devices like Apple HID-over-SPI may contain more than one report
descriptors necessitating creation of multiple hidbus children.
Add indentificator of child devices to distinct them.
No functional changes intended.

Differential Revision: https://reviews.freebsd.org/D41246


# b61a5730 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSD

The SPDX folks have obsoleted the BSD-2-Clause-NetBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix


# 6ed3b9ca 24-Apr-2023 Hu Shunchao <ankohuu@outlook.com>

hid: fix typo in hid_is_collection

hid_input is equal to 0. It is leftover from NetBSD code.

Reviewed by: hselasky, wulf
MFC after: 1 month
Differential revision: https://reviews.freebsd.org/D28149


# a4777bb4 06-May-2022 John Baldwin <jhb@FreeBSD.org>

Remove unused hidraw_devclass.


# 5f47c5a3 02-Mar-2022 Vladimir Kondratyev <wulf@FreeBSD.org>

hid: Add hid_ioctl method to HID interface

hid_ioctl method executes arbitrary transport backend command.
Format of the command is defined by hardware transport driver.

It is intended to assist HID device drivers to execute non-HID commands
on hybrid devices like Elan and Apple touchpads which can be switched
between HID and proprietary modes.

MFC after: 2 month


# be75951a 16-Aug-2021 Vladimir Kondratyev <wulf@FreeBSD.org>

hid: Add extra constant to units of measurement

Some devices like eGalax touchscreens use value of 0x33 instead of 0x13
for inches as unit of measure.

Reported by: Mark Kane <mark_AT_kane_DOT_mn>
MFC after: 1 week


# 9be6b22d 12-Dec-2020 Vladimir Kondratyev <wulf@FreeBSD.org>

hidraw(4): Add HIDRAW_MAKE_UHID_ALIAS kernel option

which installs /dev/uhid# alias to hidraw character device for
compatibility with some existing uhid(4) users like Firefox.
As side effect it renames traditional uhid(4) driver to hidraw
to make possible using of common unit number allocator.

Requested by: Greg V <greg_unrelenting.technology>
Reviewed by: hselasky (as part of D27992)


# 961a3535 06-Oct-2020 Vladimir Kondratyev <wulf@FreeBSD.org>

hid: Import HID transport method definitions and helper functions.

Create an abstract HID interface that provides hardware independent
access to HID capabilities and functions through the device tree.

hid_if.m resembles existing USBHID KPI and consist of next methods:

HID method USBHID variant
-----------------------------------------------------------------------
hid_intr_setup usbd_transfer_setup (INTERRUPT IN xfer)
hid_intr_unsetup usbd_transfer_unsetup (INTERRUPT IN xfer)
hid_intr_start usbd_transfer_start (INTERRUPT IN xfer)
hid_intr_stop usbd_transfer_drain (INTERRUPT IN xfer)
hid_intr_poll usbd_transfer_poll (INTERRUPT IN xfer)

hid_get_rdesc usbd_req_get_report_descriptor
hid_read No direct analog. Not intended for common use.
hid_write uhid(4) write()
hid_get_report usbd_req_get_report
hid_set_report usbd_req_set_report
hid_set_idle usbd_req_set_idle
hid_set_protocol usbd_req_set_protocol

This change is part of D27888


# 19758786 04-Oct-2020 Vladimir Kondratyev <wulf@FreeBSD.org>

hid: Import functions and constants required by new subsystem

This does an import of quirk stubs, debugging macros from USB code and
numerous usage constants used by dependent drivers.

Besides, this change renames some functions to get a better matching
with userland library and NetBSD/OpenBSD HID code. Namely:

- Old hid_report_size() renamed to hid_report_size_max()
- New hid_report_size() calculates size of given report rather than
maximum size of all reports.
- hid_get_data_unsigned() renamed to hid_get_udata()
- hid_put_data_unsigned() renamed to hid_put_udata()

Compat shim functions are provided in usbhid.h to make possible compile
of legacy code unmodified after this change.

Reviewed by: manu, hselasky
Differential revision: https://reviews.freebsd.org/D27887


# 67de2db2 04-Oct-2020 Vladimir Kondratyev <wulf@FreeBSD.org>

Factor-out hardware-independent part of USB HID support to new module

It will be used by the upcoming HID-over-i2C implementation. Should be
no-op, except hid.ko module dependency is to be added to affected drivers.

Reviewed by: hselasky, manu
Differential revision: https://reviews.freebsd.org/D27867


# 1ffa5c63 06-Oct-2020 Vladimir Kondratyev <wulf@FreeBSD.org>

Copy HID over USB support files to new sys/dev/hid directory