BUS_RELEASE_RESOURCE(9) | FreeBSD Kernel Developer's Manual | BUS_RELEASE_RESOURCE(9) |
名称
bus_release_resource — バスのリソースを解放する書式
#include < sys/param.h>#include < sys/bus.h>
#include < machine/bus.h>
#include < sys/rman.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 は、リソースのリソース ID です。 rid 値は、 bus_alloc_resource(9) によって返されたものと同じでなければなりません。
- r は、 struct 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); /* I/O ポートのリソースを解放する */ bus_release_resource(dev, SYS_RES_IOPORT, foosoftc->portid, foosoftc->portres);
作者
このマニュアルページは、 <alex@big.endian.de>によって書かれました。May 18, 2000 | FreeBSD |