File tree Expand file tree Collapse file tree 2 files changed +62
-55
lines changed Expand file tree Collapse file tree 2 files changed +62
-55
lines changed Original file line number Diff line number Diff line change 15
15
#include <linux/usb.h>
16
16
#include <linux/usb/hcd.h>
17
17
#include <linux/usb/storage.h>
18
+ #include <linux/usb/uas.h>
18
19
19
20
#include <scsi/scsi.h>
20
21
#include <scsi/scsi_dbg.h>
23
24
#include <scsi/scsi_host.h>
24
25
#include <scsi/scsi_tcq.h>
25
26
26
- /* Common header for all IUs */
27
- struct iu {
28
- __u8 iu_id ;
29
- __u8 rsvd1 ;
30
- __be16 tag ;
31
- };
32
-
33
- enum {
34
- IU_ID_COMMAND = 0x01 ,
35
- IU_ID_STATUS = 0x03 ,
36
- IU_ID_RESPONSE = 0x04 ,
37
- IU_ID_TASK_MGMT = 0x05 ,
38
- IU_ID_READ_READY = 0x06 ,
39
- IU_ID_WRITE_READY = 0x07 ,
40
- };
41
-
42
- struct command_iu {
43
- __u8 iu_id ;
44
- __u8 rsvd1 ;
45
- __be16 tag ;
46
- __u8 prio_attr ;
47
- __u8 rsvd5 ;
48
- __u8 len ;
49
- __u8 rsvd7 ;
50
- struct scsi_lun lun ;
51
- __u8 cdb [16 ]; /* XXX: Overflow-checking tools may misunderstand */
52
- };
53
-
54
- /*
55
- * Also used for the Read Ready and Write Ready IUs since they have the
56
- * same first four bytes
57
- */
58
- struct sense_iu {
59
- __u8 iu_id ;
60
- __u8 rsvd1 ;
61
- __be16 tag ;
62
- __be16 status_qual ;
63
- __u8 status ;
64
- __u8 rsvd7 [7 ];
65
- __be16 len ;
66
- __u8 sense [SCSI_SENSE_BUFFERSIZE ];
67
- };
68
-
69
27
/*
70
28
* The r00-r01c specs define this version of the SENSE IU data structure.
71
29
* It's still in use by several different firmware releases.
@@ -80,18 +38,6 @@ struct sense_iu_old {
80
38
__u8 sense [SCSI_SENSE_BUFFERSIZE ];
81
39
};
82
40
83
- enum {
84
- CMD_PIPE_ID = 1 ,
85
- STATUS_PIPE_ID = 2 ,
86
- DATA_IN_PIPE_ID = 3 ,
87
- DATA_OUT_PIPE_ID = 4 ,
88
-
89
- UAS_SIMPLE_TAG = 0 ,
90
- UAS_HEAD_TAG = 1 ,
91
- UAS_ORDERED_TAG = 2 ,
92
- UAS_ACA = 4 ,
93
- };
94
-
95
41
struct uas_dev_info {
96
42
struct usb_interface * intf ;
97
43
struct usb_device * udev ;
Original file line number Diff line number Diff line change
1
+ #ifndef __USB_UAS_H__
2
+ #define __USB_UAS_H__
3
+
4
+ #include <scsi/scsi.h>
5
+ #include <scsi/scsi_cmnd.h>
6
+
7
+ /* Common header for all IUs */
8
+ struct iu {
9
+ __u8 iu_id ;
10
+ __u8 rsvd1 ;
11
+ __be16 tag ;
12
+ };
13
+
14
+ enum {
15
+ IU_ID_COMMAND = 0x01 ,
16
+ IU_ID_STATUS = 0x03 ,
17
+ IU_ID_RESPONSE = 0x04 ,
18
+ IU_ID_TASK_MGMT = 0x05 ,
19
+ IU_ID_READ_READY = 0x06 ,
20
+ IU_ID_WRITE_READY = 0x07 ,
21
+ };
22
+
23
+ struct command_iu {
24
+ __u8 iu_id ;
25
+ __u8 rsvd1 ;
26
+ __be16 tag ;
27
+ __u8 prio_attr ;
28
+ __u8 rsvd5 ;
29
+ __u8 len ;
30
+ __u8 rsvd7 ;
31
+ struct scsi_lun lun ;
32
+ __u8 cdb [16 ]; /* XXX: Overflow-checking tools may misunderstand */
33
+ };
34
+
35
+ /*
36
+ * Also used for the Read Ready and Write Ready IUs since they have the
37
+ * same first four bytes
38
+ */
39
+ struct sense_iu {
40
+ __u8 iu_id ;
41
+ __u8 rsvd1 ;
42
+ __be16 tag ;
43
+ __be16 status_qual ;
44
+ __u8 status ;
45
+ __u8 rsvd7 [7 ];
46
+ __be16 len ;
47
+ __u8 sense [SCSI_SENSE_BUFFERSIZE ];
48
+ };
49
+
50
+ enum {
51
+ CMD_PIPE_ID = 1 ,
52
+ STATUS_PIPE_ID = 2 ,
53
+ DATA_IN_PIPE_ID = 3 ,
54
+ DATA_OUT_PIPE_ID = 4 ,
55
+
56
+ UAS_SIMPLE_TAG = 0 ,
57
+ UAS_HEAD_TAG = 1 ,
58
+ UAS_ORDERED_TAG = 2 ,
59
+ UAS_ACA = 4 ,
60
+ };
61
+ #endif
You can’t perform that action at this time.
0 commit comments