diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2012-01-11 06:45:56 -0500 |
---|---|---|
committer | Sarah Sharp <sarah.a.sharp@linux.intel.com> | 2012-02-02 17:51:11 -0500 |
commit | 348748b0e8cccc675e2f3a1456460ffcd540e1a1 (patch) | |
tree | c326d3076b750d04075b36711a1cebef303c3a9f /drivers/usb/storage | |
parent | c898add51c7b5b99fcecdeaf4df2ca30949cacb6 (diff) |
usb/uas: move UAS structs / defines into a header file
The protocol specific structures and defines which are used by UAS are
moved into a header files by this patch so it can be accessed by the UAS
gadget as well.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Diffstat (limited to 'drivers/usb/storage')
-rw-r--r-- | drivers/usb/storage/uas.c | 56 |
1 files changed, 1 insertions, 55 deletions
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c index e34c75970ed1..f98ba40352c1 100644 --- a/drivers/usb/storage/uas.c +++ b/drivers/usb/storage/uas.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/usb.h> | 15 | #include <linux/usb.h> |
16 | #include <linux/usb/hcd.h> | 16 | #include <linux/usb/hcd.h> |
17 | #include <linux/usb/storage.h> | 17 | #include <linux/usb/storage.h> |
18 | #include <linux/usb/uas.h> | ||
18 | 19 | ||
19 | #include <scsi/scsi.h> | 20 | #include <scsi/scsi.h> |
20 | #include <scsi/scsi_dbg.h> | 21 | #include <scsi/scsi_dbg.h> |
@@ -23,49 +24,6 @@ | |||
23 | #include <scsi/scsi_host.h> | 24 | #include <scsi/scsi_host.h> |
24 | #include <scsi/scsi_tcq.h> | 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 | * The r00-r01c specs define this version of the SENSE IU data structure. | 28 | * The r00-r01c specs define this version of the SENSE IU data structure. |
71 | * It's still in use by several different firmware releases. | 29 | * It's still in use by several different firmware releases. |
@@ -80,18 +38,6 @@ struct sense_iu_old { | |||
80 | __u8 sense[SCSI_SENSE_BUFFERSIZE]; | 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 | struct uas_dev_info { | 41 | struct uas_dev_info { |
96 | struct usb_interface *intf; | 42 | struct usb_interface *intf; |
97 | struct usb_device *udev; | 43 | struct usb_device *udev; |