次の例は、_fini() ルーチンを示しています。
int
_fini(void)
{
int error;
error = mod_remove(&modlinkage);
if (error != 0) {
return (error);
}
/*
* Cleanup resources allocated in _init()
*/
ddi_soft_state_fini(&xxstatep);
return (0);
}同様に、ドライバは _fini() で、_init() で割り当てられたリソースをすべて解放します。ドライバは、システムモジュールリストから自身を削除する必要があります。