総合手引 | セクション 9 | English | オプション |
#include <sys/param.h>
#include <sys/bus.h>
BUS_ADD_CHILD(9) はバスの子デバイスとして、デバイスを登録するために使用されます。 そのデバイスの (IRQ や I/O ポートのような) リソースは、個々のリソースのために bus_set_resource() (詳細は bus_set_resource(9) を参照) を呼び出すことによってカーネルに登録されます。
デバイスツリーおよびデバイスドライバツリーが解体されるため、 DEVICE_IDENTIFY() ルーチンはこれを考慮に入れる必要があります。 識別ルーチンを持っているデバイスドライバをロードおよびアンロードする場合には、 この可能性を排除するための特別の手段がとられない限りは、 その子ノードは同じノードを何度も追加する能力を持っています。
void foo_identify(driver_t *driver, device_t parent) { device_t child;デバイス情報の取り出し; if (サポートするデバイスうちの 1 つがマッチする && デバイスツリーに未だ存在しない) { child = BUS_ADD_CHILD(parent, 0, "foo", -1); bus_set_resource(child, SYS_RES_IOPORT, 0, FOO_IOADDR, 1); } }
DEVICE_IDENTIFY (9) | May 13, 2004 |
総合手引 | セクション 9 | English | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | The most horrifying thing about Unix is that, no matter how many times you hit yourself over the head with it, you never quite manage to lose consciousness. It just goes on and on. | ” |
— Patrick Sobalvarro |