Почему устройство отображается как hidraw вместо hiddev?


8

Я читаю документацию по ядру для hidraw и hiddev, и я понимаю различия, но мне интересно, как ядро ​​решает, должно ли устройство отображаться как /dev/hidraw*или/dev/usb/hiddev*

Ответы:


1

Он передается как параметр для каждого драйвера в hid_hw_start()/ hid_connect(). Например:

hid-thingm.c:   err = hid_hw_start(hdev, HID_CONNECT_HIDRAW);

Я думаю, что большинство драйверов делают что-то вроде этого:

hid-logitech-dj.c:  retval = hid_hw_start(hdev, HID_CONNECT_DEFAULT);

И HID_CONNECT_DEFAULTвключает в себя HID_CONNECT_HIDRAW:

#define HID_CONNECT_DEFAULT     (HID_CONNECT_HIDINPUT|HID_CONNECT_HIDRAW| \
                HID_CONNECT_HIDDEV|HID_CONNECT_FF)

То же самое происходит для обоих hidrawи hiddev.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.