aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi/scsi.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-07-15 21:58:04 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-15 21:58:04 -0400
commit89a93f2f4834f8c126e8d9dd6b368d0b9e21ec3d (patch)
treee731456fec0cab1225ad3e806dc8d3efefa0a78b /include/scsi/scsi.h
parent260eddf4391f162a69d1d163729249635fa7a78f (diff)
parentfe9233fb6914a0eb20166c967e3020f7f0fba2c9 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (102 commits) [SCSI] scsi_dh: fix kconfig related build errors [SCSI] sym53c8xx: Fix bogus sym_que_entry re-implementation of container_of [SCSI] scsi_cmnd.h: remove double inclusion of linux/blkdev.h [SCSI] make struct scsi_{host,target}_type static [SCSI] fix locking in host use of blk_plug_device() [SCSI] zfcp: Cleanup external header file [SCSI] zfcp: Cleanup code in zfcp_erp.c [SCSI] zfcp: zfcp_fsf cleanup. [SCSI] zfcp: consolidate sysfs things into one file. [SCSI] zfcp: Cleanup of code in zfcp_aux.c [SCSI] zfcp: Cleanup of code in zfcp_scsi.c [SCSI] zfcp: Move status accessors from zfcp to SCSI include file. [SCSI] zfcp: Small QDIO cleanups [SCSI] zfcp: Adapter reopen for large number of unsolicited status [SCSI] zfcp: Fix error checking for ELS ADISC requests [SCSI] zfcp: wait until adapter is finished with ERP during auto-port [SCSI] ibmvfc: IBM Power Virtual Fibre Channel Adapter Client Driver [SCSI] sg: Add target reset support [SCSI] lib: Add support for the T10 (SCSI) Data Integrity Field CRC [SCSI] sd: Move scsi_disk() accessor function to sd.h ...
Diffstat (limited to 'include/scsi/scsi.h')
-rw-r--r--include/scsi/scsi.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h
index 32742c4563de..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
@@ -400,6 +401,7 @@ struct scsi_lun {
400#define SOFT_ERROR 0x2005 401#define SOFT_ERROR 0x2005
401#define ADD_TO_MLQUEUE 0x2006 402#define ADD_TO_MLQUEUE 0x2006
402#define TIMEOUT_ERROR 0x2007 403#define TIMEOUT_ERROR 0x2007
404#define SCSI_RETURN_NOT_HANDLED 0x2008
403 405
404/* 406/*
405 * Midlevel queue return values. 407 * Midlevel queue return values.
@@ -424,6 +426,22 @@ struct scsi_lun {
424#define driver_byte(result) (((result) >> 24) & 0xff) 426#define driver_byte(result) (((result) >> 24) & 0xff)
425#define suggestion(result) (driver_byte(result) & SUGGEST_MASK) 427#define suggestion(result) (driver_byte(result) & SUGGEST_MASK)
426 428
429static inline void set_msg_byte(struct scsi_cmnd *cmd, char status)
430{
431 cmd->result |= status << 8;
432}
433
434static inline void set_host_byte(struct scsi_cmnd *cmd, char status)
435{
436 cmd->result |= status << 16;
437}
438
439static inline void set_driver_byte(struct scsi_cmnd *cmd, char status)
440{
441 cmd->result |= status << 24;
442}
443
444
427#define sense_class(sense) (((sense) >> 4) & 0x7) 445#define sense_class(sense) (((sense) >> 4) & 0x7)
428#define sense_error(sense) ((sense) & 0xf) 446#define sense_error(sense) ((sense) & 0xf)
429#define sense_valid(sense) ((sense) & 0x80); 447#define sense_valid(sense) ((sense) & 0x80);