Saya membaca dokumentasi kernel untuk hidraw dan hiddev, dan saya mengerti perbedaannya, tetapi saya bertanya-tanya bagaimana kernel memutuskan apakah suatu perangkat akan muncul /dev/hidraw*
atau tidak./dev/usb/hiddev*
Saya membaca dokumentasi kernel untuk hidraw dan hiddev, dan saya mengerti perbedaannya, tetapi saya bertanya-tanya bagaimana kernel memutuskan apakah suatu perangkat akan muncul /dev/hidraw*
atau tidak./dev/usb/hiddev*
Jawaban:
Ini diteruskan sebagai parameter per driver ke hid_hw_start()
/ hid_connect()
. Misalnya:
hid-thingm.c: err = hid_hw_start(hdev, HID_CONNECT_HIDRAW);
Saya kira sebagian besar driver melakukan sesuatu seperti ini:
hid-logitech-dj.c: retval = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
Dan HID_CONNECT_DEFAULT
termasuk HID_CONNECT_HIDRAW
:
#define HID_CONNECT_DEFAULT (HID_CONNECT_HIDINPUT|HID_CONNECT_HIDRAW| \
HID_CONNECT_HIDDEV|HID_CONNECT_FF)
Hal yang sama persis terjadi untuk keduanya hidraw
dan hiddev
.