scsi: core: Add get_{status,host}_byte() accessor functions
authorHannes Reinecke <hare@suse.de>
Tue, 27 Apr 2021 08:30:22 +0000 (10:30 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 1 Jun 2021 02:48:22 +0000 (22:48 -0400)
Add accessor functions for the host and status byte.

Link: https://lore.kernel.org/r/20210427083046.31620-17-hare@suse.de
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
include/scsi/scsi_cmnd.h

index e7986b9..7609901 100644 (file)
@@ -315,6 +315,11 @@ static inline void set_status_byte(struct scsi_cmnd *cmd, char status)
        cmd->result = (cmd->result & 0xffffff00) | status;
 }
 
+static inline u8 get_status_byte(struct scsi_cmnd *cmd)
+{
+       return cmd->result & 0xff;
+}
+
 static inline void set_msg_byte(struct scsi_cmnd *cmd, char status)
 {
        cmd->result = (cmd->result & 0xffff00ff) | (status << 8);
@@ -325,6 +330,11 @@ static inline void set_host_byte(struct scsi_cmnd *cmd, char status)
        cmd->result = (cmd->result & 0xff00ffff) | (status << 16);
 }
 
+static inline u8 get_host_byte(struct scsi_cmnd *cmd)
+{
+       return (cmd->result >> 16) & 0xff;
+}
+
 
 static inline unsigned scsi_transfer_length(struct scsi_cmnd *scmd)
 {