hidrawとhiddevのカーネルドキュメントを読み、違いを理解しましたが、デバイスが/dev/hidraw*
またはとして表示されるかどうかをカーネルがどのように決定するのか疑問に思っています/dev/usb/hiddev*
hidrawとhiddevのカーネルドキュメントを読み、違いを理解しましたが、デバイスが/dev/hidraw*
またはとして表示されるかどうかをカーネルがどのように決定するのか疑問に思っています/dev/usb/hiddev*
回答:
ドライバごとのパラメータとして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
。