scsi_hba_init, scsi_hba_fini - SCSI Host Bus Adapter system initialization and
int scsi_hba_init(struct modlinkage *modlp);
void scsi_hba_fini(struct modlinkage *modlp);
illumos architecture specific (illumos DDI).
Pointer to the Host Bus Adapters module linkage
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
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.
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().
scsi_hba_init() and scsi_hba_fini() should be called from
_init(9E) or _fini(9E), respectively.
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.