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

8

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

    
por anderl.heckmaier 05.11.2014 / 06:54

1 resposta

1

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

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

Acho que a maioria dos drivers faz algo assim:

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

E HID_CONNECT_DEFAULT inclui HID_CONNECT_HIDRAW :

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

A mesma coisa acontece com hidraw e hiddev .

    
por 23.09.2015 / 02:32