bus_release_resource(9) FreeBSD 一般コマンドマニュアル

bus_release_resource

前のページ 上に戻る 次のページ

bus_release_resource


     #include <sys/bus.h>

     #include <machine/bus.h>
     #include <sys/rman.h>
     #include <sys/resource.h>
     #include <machine/resource.h>

     int
     bus_release_resource(device_t dev, int type, int rid,
             struct resource *r);


解説

     bus_alloc_resource(9) によって割り当てられた資源を開放します。その資源は
     開放時に使用中であってはなりません。すなわち、適切な関数 (IRQ のための
     bus_teardown_intr(9) など) を事前に呼び出してください。

     dev は、資源を所有しているデバイスです。

     type は、開放される資源の型です。以前に割り当てた時と同一の型でなければな
     りません。有効な型については bus_alloc_resource(9) を参照してください。

     rid は、資源の資源識別子です。 ridbus_alloc_resource(9) によって返さ
     れた識別子と同一でなければなりません。

     rstruct resource 構造体へのポインタで、すなわち bus_alloc_resource(9)
     によって返された資源そのものです。


戻り値

     デバイス dev が親を持たない場合には EINVAL が返され、そうでない場合には 0
     が返されます。資源を開放できない場合には、カーネルはパニックするでしょ
     う。


使用例

             /* IRQ の不活性化 */
             bus_teardown_intr(dev, foosoftc->irqres, foosoftc->irqid);

             /* IRQ 資源の開放 */
             bus_release_resource(dev, SYS_RES_IRQ, foosoftc->irqid,
                     foosoftc->irqres);

             /* 入出力ポートの資源の開放 */
             bus_release_resource(dev, SYS_RES_IOPORT, foosoftc->portid,
                     foosoftc->portres);


関連項目

     bus_alloc_resource(9), device(9), driver(9)


作者

     このマニュアルページは Alexander Langer <alex@big.endian.de> が書きまし
     た。

FreeBSD 4.4                      May 18, 2000                      FreeBSD 4.4

ABELNET VPSサービス