デバイスのドライバーはどのように指定されますか?

デバイスのドライバーはどのように指定されますか?

デバイスが接続されると、カーネルはどのドライバーをロードする必要があるかをどのように認識するのでしょうか?

これはメジャー番号とマイナー番号に基づいていると思いますが、デバイスが接続されたときにメジャー番号がどのように検出されるのかわかりません...メジャー番号は製造元によって割り当てられるのでしょうか?

答え1

Linux デバイス モデルがこれを処理します。デバイスを登録し、名前を関連付けると、処理が開始されます。

デバイスと同じ名前のドライバーを登録すると、デバイスとドライバーの間でバインディングが行われます。

任意のプラットフォーム デバイスとプラットフォーム ドライバーの例を考えてみましょう。名前が同じ場合、両方がバインドされます。

メジャー番号とマイナー番号に関しては、文字デバイスドライバの場合に関係し、ユーザー空間アプリケーションと(文字)ドライバ間のバインディングに使用されます。

関連情報