BUS_CONFIG_INTR(9)

名称
BUS_CONFIG_INTR - 割り込みの極性およびトリガモードの設定

書式
<sys/param.h> <sys/bus.h> int BUS_CONFIG_INTR(device_t dev, int irq, enum intr_trigger trig, enum intr_polarity pol)

解説
BUS_CONFIG_INTR() メソッドは、バスまたはデバイスのドライバが、親のバスに割り込み極性および トリガモードを提供することを可能にします。 これは通常は、ルートバス (例えば nexus) までの全ての経路を上がって行きます。 その全ての経路において、 実際にハードウェアをプログラムするために必要な動作がなされます。 BUS_CONFIG_INTR() メソッドは割り込み番号をとるため、 BUS_SETUP_INTR(9) より先に呼び出されることが必ずしも要求されませんが、当然だと仮定されます。

trig 引数は以下のいずれかです。

INTR_TRIGGER_CONFORM
    割り込みトリガモードは、デバイスがアタッチされているバスにとっての標準です。

INTR_TRIGGER_EDGE
    割り込みは、エッジトリガされます。 これは、割り込み線の信号の立上りエッジによって、 割り込みが立ち上げられることを意味します。 その信号は通常、スパイクを発生させるように元の状態に戻ります。

INTR_TRIGGER_LEVEL
    割り込みは、レベルトリガされます。 これは、割り込み線の信号が変化して、その割り込みのサービス完了までの間 変化せずに維持される時に、割り込みが立ち上げられることを意味します。 サービス完了後、信号は戻ります。

pol 引数は以下のいずれかです。

INTR_POLARITY_CONFORM
    割り込みの極性は、デバイスがアタッチされているバスにとっての標準です。

INTR_POLARITY_HIGH
    割り込み線の電圧がハイになることによって、割り込みが活性化されます。

INTR_POLARITY_LOW
    割り込み線の電圧がローになることによって、割り込みが活性化されます。

戻り値
成功時には 0 が返され、そうでなければ適切なエラーが返されます。

関連項目
BUS_SETUP_INTR(9), BUS_TEARDOWN_INTR(9), device(9), driver(9)

歴史
BUS_CONFIG_INTR() メソッドは FreeBSD 5.2 ではじめて登場しました。

作者
このマニュアルページは Marcel Moolenaar <marcel@xcllnt.net> が書きました。