-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
Sebastian Andrzej Siewior
authored and
Sarah Sharp
committed
Feb 2, 2012
1 parent
c898add
commit 348748b
Showing
2 changed files
with
62 additions
and
55 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
#ifndef __USB_UAS_H__ | ||
#define __USB_UAS_H__ | ||
|
||
#include <scsi/scsi.h> | ||
#include <scsi/scsi_cmnd.h> | ||
|
||
/* Common header for all IUs */ | ||
struct iu { | ||
__u8 iu_id; | ||
__u8 rsvd1; | ||
__be16 tag; | ||
}; | ||
|
||
enum { | ||
IU_ID_COMMAND = 0x01, | ||
IU_ID_STATUS = 0x03, | ||
IU_ID_RESPONSE = 0x04, | ||
IU_ID_TASK_MGMT = 0x05, | ||
IU_ID_READ_READY = 0x06, | ||
IU_ID_WRITE_READY = 0x07, | ||
}; | ||
|
||
struct command_iu { | ||
__u8 iu_id; | ||
__u8 rsvd1; | ||
__be16 tag; | ||
__u8 prio_attr; | ||
__u8 rsvd5; | ||
__u8 len; | ||
__u8 rsvd7; | ||
struct scsi_lun lun; | ||
__u8 cdb[16]; /* XXX: Overflow-checking tools may misunderstand */ | ||
}; | ||
|
||
/* | ||
* Also used for the Read Ready and Write Ready IUs since they have the | ||
* same first four bytes | ||
*/ | ||
struct sense_iu { | ||
__u8 iu_id; | ||
__u8 rsvd1; | ||
__be16 tag; | ||
__be16 status_qual; | ||
__u8 status; | ||
__u8 rsvd7[7]; | ||
__be16 len; | ||
__u8 sense[SCSI_SENSE_BUFFERSIZE]; | ||
}; | ||
|
||
enum { | ||
CMD_PIPE_ID = 1, | ||
STATUS_PIPE_ID = 2, | ||
DATA_IN_PIPE_ID = 3, | ||
DATA_OUT_PIPE_ID = 4, | ||
|
||
UAS_SIMPLE_TAG = 0, | ||
UAS_HEAD_TAG = 1, | ||
UAS_ORDERED_TAG = 2, | ||
UAS_ACA = 4, | ||
}; | ||
#endif |