Ich habe die Kerneldokumentation für hidraw und hiddev gelesen und verstehe die Unterschiede, aber ich frage mich, wie der Kernel entscheidet, ob ein Gerät als /dev/hidraw*
oder angezeigt werden soll oder nicht/dev/usb/hiddev*
Ich habe die Kerneldokumentation für hidraw und hiddev gelesen und verstehe die Unterschiede, aber ich frage mich, wie der Kernel entscheidet, ob ein Gerät als /dev/hidraw*
oder angezeigt werden soll oder nicht/dev/usb/hiddev*
Antworten:
Es wird als Parameter pro Treiber an hid_hw_start()
/ übergeben hid_connect()
. Z.B:
hid-thingm.c: err = hid_hw_start(hdev, HID_CONNECT_HIDRAW);
Ich denke, dass die meisten Fahrer so etwas tun:
hid-logitech-dj.c: retval = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
Und HID_CONNECT_DEFAULT
beinhaltet HID_CONNECT_HIDRAW
:
#define HID_CONNECT_DEFAULT (HID_CONNECT_HIDINPUT|HID_CONNECT_HIDRAW| \
HID_CONNECT_HIDDEV|HID_CONNECT_FF)
Das gleiche passiert für beide hidraw
und hiddev
.