Linuxカーネルの MODULE_DEVICE_TABLE の役割

Linuxでは、MODULE_DEVICE_TABLEはデバイスとドライバの関係を合わせ込むためにデバイスIDテーブルを定義するために用いるマクロです。

機器ID表は、機器のベンダーIDと機器IDを機器ドライバに関連付ける静的な構造です。機器がシステムに挿入されると、カーネルは機器ID表をトラバースして、機器IDと一致するドライバを検索します。一致するドライバが見つかった場合、カーネルはドライバをロードし、機器とドライバを関連付けます。

MODULE_DEVICE_TABLEマクロはデバイスIDテーブルの定義に使用され、ドライバ名と、デバイスIDの格納された配列の2つのパラメータを受け取ります。デバイスIDの配列は、1つ以上のstruct pci_device_id、struct usb_device_id、またはデバイスのベンダーIDとデバイスIDを含む他のタイプの構造体で構成されます。

MODULE_DEVICE_TABLEマクロを使用すると、カーネルがデバイスを自動的に認識し、対応するドライバをロードすることができ、デバイスの追加と拡張が容易になります.

bannerAds