diff options
Diffstat (limited to 'include/scsi/scsi.h')
-rw-r--r-- | include/scsi/scsi.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h index 2b5b9356c314..00137a7769ee 100644 --- a/include/scsi/scsi.h +++ b/include/scsi/scsi.h | |||
@@ -9,6 +9,7 @@ | |||
9 | #define _SCSI_SCSI_H | 9 | #define _SCSI_SCSI_H |
10 | 10 | ||
11 | #include <linux/types.h> | 11 | #include <linux/types.h> |
12 | #include <scsi/scsi_cmnd.h> | ||
12 | 13 | ||
13 | /* | 14 | /* |
14 | * The maximum number of SG segments that we will put inside a | 15 | * The maximum number of SG segments that we will put inside a |
@@ -425,6 +426,22 @@ struct scsi_lun { | |||
425 | #define driver_byte(result) (((result) >> 24) & 0xff) | 426 | #define driver_byte(result) (((result) >> 24) & 0xff) |
426 | #define suggestion(result) (driver_byte(result) & SUGGEST_MASK) | 427 | #define suggestion(result) (driver_byte(result) & SUGGEST_MASK) |
427 | 428 | ||
429 | static inline void set_msg_byte(struct scsi_cmnd *cmd, char status) | ||
430 | { | ||
431 | cmd->result |= status << 8; | ||
432 | } | ||
433 | |||
434 | static inline void set_host_byte(struct scsi_cmnd *cmd, char status) | ||
435 | { | ||
436 | cmd->result |= status << 16; | ||
437 | } | ||
438 | |||
439 | static inline void set_driver_byte(struct scsi_cmnd *cmd, char status) | ||
440 | { | ||
441 | cmd->result |= status << 24; | ||
442 | } | ||
443 | |||
444 | |||
428 | #define sense_class(sense) (((sense) >> 4) & 0x7) | 445 | #define sense_class(sense) (((sense) >> 4) & 0x7) |
429 | #define sense_error(sense) ((sense) & 0xf) | 446 | #define sense_error(sense) ((sense) & 0xf) |
430 | #define sense_valid(sense) ((sense) & 0x80); | 447 | #define sense_valid(sense) ((sense) & 0x80); |