SCSI_HBA_INIT(9F) Kernel Functions for Drivers SCSI_HBA_INIT(9F)

NAME


scsi_hba_init, scsi_hba_fini - SCSI Host Bus Adapter system
initialization and completion routines

SYNOPSIS


#include <sys/scsi/scsi.h>


int scsi_hba_init(struct modlinkage *modlp);


void scsi_hba_fini(struct modlinkage *modlp);


INTERFACE LEVEL


illumos architecture specific (illumos DDI).

PARAMETERS


modlp
Pointer to the Host Bus Adapters module linkage structure.


DESCRIPTION


scsi_hba_init()
scsi_hba_init() is the system-provided initialization routine for
SCSI HBA drivers. The scsi_hba_init() function registers the HBA in
the system and allows the driver to accept configuration requests on
behalf of SCSI target drivers. The scsi_hba_init() routine must be
called in the HBA's _init(9E) routine before mod_install(9F) is
called. If mod_install(9F) fails, the HBA's _init(9E) should call
scsi_hba_fini() before returning failure.

scsi_hba_fini()
scsi_hba_fini() is the system provided completion routine for SCSI
HBA drivers. scsi_hba_fini() removes all of the system references for
the HBA that were created in scsi_hba_init(). The scsi_hba_fini()
routine should be called in the HBA's _fini(9E) routine if
mod_remove(9F) is successful.

RETURN VALUES


scsi_hba_init() returns 0 if successful, and a non-zero value
otherwise. If scsi_hba_init() fails, the HBA's _init() entry point
should return the value returned by scsi_hba_init().

CONTEXT


scsi_hba_init() and scsi_hba_fini() should be called from _init(9E)
or _fini(9E), respectively.

SEE ALSO


_fini(9E), _init(9E), mod_install(9F), mod_remove(9F),
scsi_pktalloc(9F), scsi_pktfree(9F), scsi_hba_tran(9S)


Writing Device Drivers

NOTES


The HBA is responsible for ensuring that no DDI request routines are
called on behalf of its SCSI target drivers once scsi_hba_fini() is
called.

November 1, 1993 SCSI_HBA_INIT(9F)

tribblix@gmail.com :: GitHub :: Privacy