37
38 /*
39 * macro for filling in lun value for scsi-1 support
40 */
41
42 #define FILL_SCSI1_LUN(sd, pkt) \
43 if ((sd->sd_address.a_lun > 0) && \
44 (sd->sd_inq->inq_ansi == 0x1)) { \
45 ((union scsi_cdb *)(pkt)->pkt_cdbp)->scc_lun = \
46 sd->sd_address.a_lun; \
47 }
48
49 extern struct mod_ops mod_miscops;
50
51 static struct modlmisc modlmisc = {
52 &mod_miscops, /* Type of module */
53 "SCSI Bus Utility Routines"
54 };
55
56 static struct modlinkage modlinkage = {
57 MODREV_1, (void *)&modlmisc, NULL
58 };
59
60 /*
61 * Contexts from which we call scsi_test
62 */
63 enum scsi_test_ctxt {
64 /*
65 * Those in scsi_hba_probe_pi()
66 */
67 STC_PROBE_FIRST_INQ,
68 STC_PROBE_FIRST_INQ_RETRY,
69 STC_PROBE_PARTIAL_SUCCESS,
70 STC_PROBE_RQSENSE1,
71 STC_PROBE_CHK_CLEARED,
72 STC_PROBE_RQSENSE2,
73 STC_PROBE_INQ_FINAL,
74 /*
75 * Those in check_vpd_page_support8083()
76 */
77 STC_VPD_CHECK,
|
37
38 /*
39 * macro for filling in lun value for scsi-1 support
40 */
41
42 #define FILL_SCSI1_LUN(sd, pkt) \
43 if ((sd->sd_address.a_lun > 0) && \
44 (sd->sd_inq->inq_ansi == 0x1)) { \
45 ((union scsi_cdb *)(pkt)->pkt_cdbp)->scc_lun = \
46 sd->sd_address.a_lun; \
47 }
48
49 extern struct mod_ops mod_miscops;
50
51 static struct modlmisc modlmisc = {
52 &mod_miscops, /* Type of module */
53 "SCSI Bus Utility Routines"
54 };
55
56 static struct modlinkage modlinkage = {
57 MODREV_1, { (void *)&modlmisc, NULL }
58 };
59
60 /*
61 * Contexts from which we call scsi_test
62 */
63 enum scsi_test_ctxt {
64 /*
65 * Those in scsi_hba_probe_pi()
66 */
67 STC_PROBE_FIRST_INQ,
68 STC_PROBE_FIRST_INQ_RETRY,
69 STC_PROBE_PARTIAL_SUCCESS,
70 STC_PROBE_RQSENSE1,
71 STC_PROBE_CHK_CLEARED,
72 STC_PROBE_RQSENSE2,
73 STC_PROBE_INQ_FINAL,
74 /*
75 * Those in check_vpd_page_support8083()
76 */
77 STC_VPD_CHECK,
|