장치가 hiddev 대신 hidraw로 표시되는 이유는 무엇입니까?

장치가 hiddev 대신 hidraw로 표시되는 이유는 무엇입니까?

/dev/hidraw*hidraw 및 hiddev에 대한 커널 문서를 읽었으며 둘 사이의 차이점을 이해하지만 장치가 또는 로 표시되어야 하는지 커널이 어떻게 결정하는지 알고 싶습니다./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.

관련 정보