Linuxにサウンドカードの最大数があるのはなぜですか? [閉鎖]

Linuxにサウンドカードの最大数があるのはなぜですか? [閉鎖]

CONFIG_SND_MAX_CARDS特にカーネルについて尋ねています。

~からこの構成を使用するコード、例えばsound/usb/card.cUSBカードの場合、サウンドカードはループの通常の配列に保存されます。

カーネルがリストを使用せず、サウンドカードを無制限に使用しないのはなぜですか?

ハードウェア上の理由(バス上のスロット数など)は無限の割り当てが不可能であることを知っていますが、動的割り当てを実装すると、少なくともユーザーがコンパイル時に最大数を指定するのに苦労する可能性があります。

どんなアイデアがありますか?

ベストアンサー1

ISAサウンドカードの/dev/は、デバイスノードを動的に作成することができなかったため、すべてのデバイスを事前に割り当てる必要がありました。これによりサウンドカードが8枚に制限され、ドライバはこの制限を念頭に置いて作成されました。

後でdevfsとUSBが導入されたため、この制限は削除されました。ただし、最も簡単な方法は最小限の変更、つまり上限値のみを変更することです。

カードの数を無制限に許可するようにコードを書き換えるには、特別な利点なしに多くの労力が必要です。 (現在のデフォルトの32はカーネル設定オプションを使用して増やすことができますが、これを試している人はしばしばそのような多くのデバイスをサポートするのに十分なUSB帯域幅がないことに気付くでしょう。)

おすすめ記事