Por que um dispositivo aparece como hidraw em vez de hiddev?

8

Eu li a documentação do kernel para hidraw e hiddev e compreendo as diferenças, mas estou me perguntando como o kernel decide se um dispositivo deve ou não aparecer como /dev/hidraw*ou/dev/usb/hiddev*

anderl.heckmaier
fonte

Respostas:

1

É passado como parâmetro por driver para hid_hw_start()/ hid_connect(). Por exemplo:

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

Eu acho que a maioria dos drivers faz algo assim:

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

E HID_CONNECT_DEFAULTinclui HID_CONNECT_HIDRAW:

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

Exatamente a mesma coisa acontece para ambos hidrawe hiddev.

V13
fonte