scsi: Move cmd_phase enum to the header
authorSimon Glass <sjg@chromium.org>
Wed, 21 Sep 2022 14:21:35 +0000 (16:21 +0200)
committerSimon Glass <sjg@chromium.org>
Sun, 25 Sep 2022 14:30:05 +0000 (08:30 -0600)
This can be used by common files, so move it to the SCSI header and rename
it.

Signed-off-by: Simon Glass <sjg@chromium.org>
drivers/usb/emul/sandbox_flash.c
include/scsi.h

index 7de7521..806aed2 100644 (file)
@@ -23,12 +23,6 @@ enum {
        SANDBOX_FLASH_BLOCK_LEN         = 512,
 };
 
-enum cmd_phase {
-       PHASE_START,
-       PHASE_DATA,
-       PHASE_STATUS,
-};
-
 enum {
        STRINGID_MANUFACTURER = 1,
        STRINGID_PRODUCT,
@@ -56,7 +50,7 @@ struct sandbox_flash_priv {
        int alloc_len;
        int transfer_len;
        int read_len;
-       enum cmd_phase phase;
+       enum scsi_cmd_phase phase;
        u32 tag;
        int fd;
        loff_t file_size;
@@ -290,7 +284,7 @@ static int handle_ufi_command(struct sandbox_flash_plat *plat,
                return -EPROTONOSUPPORT;
        }
 
-       priv->phase = priv->transfer_len ? PHASE_DATA : PHASE_STATUS;
+       priv->phase = priv->transfer_len ? SCSIPH_DATA : SCSIPH_STATUS;
        return 0;
 }
 
@@ -307,7 +301,7 @@ static int sandbox_flash_bulk(struct udevice *dev, struct usb_device *udev,
        switch (ep) {
        case SANDBOX_FLASH_EP_OUT:
                switch (priv->phase) {
-               case PHASE_START:
+               case SCSIPH_START:
                        priv->alloc_len = 0;
                        priv->read_len = 0;
                        if (priv->error || len != UMASS_BBB_CBW_SIZE ||
@@ -322,7 +316,7 @@ static int sandbox_flash_bulk(struct udevice *dev, struct usb_device *udev,
                        priv->tag = cbw->dCBWTag;
                        return handle_ufi_command(plat, priv, cbw->CBWCDB,
                                                  cbw->bCDBLength);
-               case PHASE_DATA:
+               case SCSIPH_DATA:
                        debug("data out\n");
                        break;
                default:
@@ -330,7 +324,7 @@ static int sandbox_flash_bulk(struct udevice *dev, struct usb_device *udev,
                }
        case SANDBOX_FLASH_EP_IN:
                switch (priv->phase) {
-               case PHASE_DATA:
+               case SCSIPH_DATA:
                        debug("data in, len=%x, alloc_len=%x, priv->read_len=%x\n",
                              len, priv->alloc_len, priv->read_len);
                        if (priv->read_len) {
@@ -344,22 +338,22 @@ static int sandbox_flash_bulk(struct udevice *dev, struct usb_device *udev,
                                        return -EIO;
                                priv->read_len -= len / SANDBOX_FLASH_BLOCK_LEN;
                                if (!priv->read_len)
-                                       priv->phase = PHASE_STATUS;
+                                       priv->phase = SCSIPH_STATUS;
                        } else {
                                if (priv->alloc_len && len > priv->alloc_len)
                                        len = priv->alloc_len;
                                if (len > sizeof(priv->buff))
                                        len = sizeof(priv->buff);
                                memcpy(buff, priv->buff, len);
-                               priv->phase = PHASE_STATUS;
+                               priv->phase = SCSIPH_STATUS;
                        }
                        return len;
-               case PHASE_STATUS:
+               case SCSIPH_STATUS:
                        debug("status in, len=%x\n", len);
                        if (len > sizeof(priv->status))
                                len = sizeof(priv->status);
                        memcpy(buff, &priv->status, len);
-                       priv->phase = PHASE_START;
+                       priv->phase = SCSIPH_START;
                        return len;
                default:
                        break;
index 99b00e2..a4f99f0 100644 (file)
@@ -188,6 +188,19 @@ struct scsi_cmd {
 #define SCSI_WRITE_SAME        0x41            /* Write Same (O) */
 
 /**
+ * enum scsi_cmd_phase - current phase of the SCSI protocol
+ *
+ * @SCSIPH_START: Start phase
+ * @SCSIPH_DATA: Data phase
+ * @SCSIPH_STATUS: Status phase
+ */
+enum scsi_cmd_phase {
+       SCSIPH_START,
+       SCSIPH_DATA,
+       SCSIPH_STATUS,
+};
+
+/**
  * struct scsi_plat - stores information about SCSI controller
  *
  * @base: Controller base address