The driver should further allocate and initialize a transport structure for this instance. The tran_hba_private field is set to point to this instance's soft-state structure. tran_tgt_probe can be set to NULL to achieve the default behavior, if no special probe customization is needed.
tran = scsi_hba_tran_alloc(dip, SCSI_HBA_CANSLEEP);
isp->isp_tran = tran;
isp->isp_dip = dip;
tran->tran_hba_private = isp;
tran->tran_tgt_private = NULL;
tran->tran_tgt_init = isp_tran_tgt_init;
tran->tran_tgt_probe = scsi_hba_probe;
tran->tran_tgt_free = (void (*)())NULL;
tran->tran_start = isp_scsi_start;
tran->tran_abort = isp_scsi_abort;
tran->tran_reset = isp_scsi_reset;
tran->tran_getcap = isp_scsi_getcap;
tran->tran_setcap = isp_scsi_setcap;
tran->tran_init_pkt = isp_scsi_init_pkt;
tran->tran_destroy_pkt = isp_scsi_destroy_pkt;
tran->tran_dmafree = isp_scsi_dmafree;
tran->tran_sync_pkt = isp_scsi_sync_pkt;
tran->tran_reset_notify = isp_scsi_reset_notify;
tran->tran_bus_quiesce = isp_tran_bus_quiesce
tran->tran_bus_unquiesce = isp_tran_bus_unquiesce
tran->tran_bus_reset = isp_tran_bus_reset