Skip to content

Commit

Permalink
scsi: sd_zbc: Move ZBC declarations to scsi_proto.h
Browse files Browse the repository at this point in the history
Move standard macro definitions for the zone types and zone conditions
to scsi_proto.h together with the definitions related to the REPORT
ZONES command. While at it, define all values in the enums to be clear.

Also remove unnecessary includes in sd_zbc.c.

No functional change is introduced by this patch.

Signed-off-by: Damien Le Moal <[email protected]>
Reviewed-by: Bart Van Assche <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
  • Loading branch information
damien-lemoal authored and martinkpetersen committed Oct 17, 2017
1 parent 05231a3 commit aa8a845
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 35 deletions.
24 changes: 0 additions & 24 deletions drivers/scsi/sd_zbc.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,32 +28,8 @@

#include <scsi/scsi.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_dbg.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_driver.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_eh.h>

#include "sd.h"
#include "scsi_priv.h"

enum zbc_zone_type {
ZBC_ZONE_TYPE_CONV = 0x1,
ZBC_ZONE_TYPE_SEQWRITE_REQ,
ZBC_ZONE_TYPE_SEQWRITE_PREF,
ZBC_ZONE_TYPE_RESERVED,
};

enum zbc_zone_cond {
ZBC_ZONE_COND_NO_WP,
ZBC_ZONE_COND_EMPTY,
ZBC_ZONE_COND_IMP_OPEN,
ZBC_ZONE_COND_EXP_OPEN,
ZBC_ZONE_COND_CLOSED,
ZBC_ZONE_COND_READONLY = 0xd,
ZBC_ZONE_COND_FULL,
ZBC_ZONE_COND_OFFLINE,
};

/**
* Convert a zone descriptor to a zone struct.
Expand Down
45 changes: 34 additions & 11 deletions include/scsi/scsi_proto.h
Original file line number Diff line number Diff line change
Expand Up @@ -301,19 +301,42 @@ struct scsi_lun {

/* Reporting options for REPORT ZONES */
enum zbc_zone_reporting_options {
ZBC_ZONE_REPORTING_OPTION_ALL = 0,
ZBC_ZONE_REPORTING_OPTION_EMPTY,
ZBC_ZONE_REPORTING_OPTION_IMPLICIT_OPEN,
ZBC_ZONE_REPORTING_OPTION_EXPLICIT_OPEN,
ZBC_ZONE_REPORTING_OPTION_CLOSED,
ZBC_ZONE_REPORTING_OPTION_FULL,
ZBC_ZONE_REPORTING_OPTION_READONLY,
ZBC_ZONE_REPORTING_OPTION_OFFLINE,
ZBC_ZONE_REPORTING_OPTION_NEED_RESET_WP = 0x10,
ZBC_ZONE_REPORTING_OPTION_NON_SEQWRITE,
ZBC_ZONE_REPORTING_OPTION_NON_WP = 0x3f,
ZBC_ZONE_REPORTING_OPTION_ALL = 0x00,
ZBC_ZONE_REPORTING_OPTION_EMPTY = 0x01,
ZBC_ZONE_REPORTING_OPTION_IMPLICIT_OPEN = 0x02,
ZBC_ZONE_REPORTING_OPTION_EXPLICIT_OPEN = 0x03,
ZBC_ZONE_REPORTING_OPTION_CLOSED = 0x04,
ZBC_ZONE_REPORTING_OPTION_FULL = 0x05,
ZBC_ZONE_REPORTING_OPTION_READONLY = 0x06,
ZBC_ZONE_REPORTING_OPTION_OFFLINE = 0x07,
/* 0x08 to 0x0f are reserved */
ZBC_ZONE_REPORTING_OPTION_NEED_RESET_WP = 0x10,
ZBC_ZONE_REPORTING_OPTION_NON_SEQWRITE = 0x11,
/* 0x12 to 0x3e are reserved */
ZBC_ZONE_REPORTING_OPTION_NON_WP = 0x3f,
};

#define ZBC_REPORT_ZONE_PARTIAL 0x80

/* Zone types of REPORT ZONES zone descriptors */
enum zbc_zone_type {
ZBC_ZONE_TYPE_CONV = 0x1,
ZBC_ZONE_TYPE_SEQWRITE_REQ = 0x2,
ZBC_ZONE_TYPE_SEQWRITE_PREF = 0x3,
/* 0x4 to 0xf are reserved */
};

/* Zone conditions of REPORT ZONES zone descriptors */
enum zbc_zone_cond {
ZBC_ZONE_COND_NO_WP = 0x0,
ZBC_ZONE_COND_EMPTY = 0x1,
ZBC_ZONE_COND_IMP_OPEN = 0x2,
ZBC_ZONE_COND_EXP_OPEN = 0x3,
ZBC_ZONE_COND_CLOSED = 0x4,
/* 0x5 to 0xc are reserved */
ZBC_ZONE_COND_READONLY = 0xd,
ZBC_ZONE_COND_FULL = 0xe,
ZBC_ZONE_COND_OFFLINE = 0xf,
};

#endif /* _SCSI_PROTO_H_ */

0 comments on commit aa8a845

Please sign in to comment.