[PATCH 03/15] scsi: Move cmd_phase enum to the header
Heinrich Schuchardt
xypron.glpk at gmx.de
Mon Aug 29 16:50:51 CEST 2022
On 8/27/22 17:15, Simon Glass wrote:
> This can be used by common files, so move it to the SCSI header and rename
> it.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> drivers/usb/emul/sandbox_flash.c | 24 +++++++++---------------
> include/scsi.h | 6 ++++++
> 2 files changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/usb/emul/sandbox_flash.c b/drivers/usb/emul/sandbox_flash.c
> index 7de752100c8..806aed2ef2e 100644
> --- a/drivers/usb/emul/sandbox_flash.c
> +++ b/drivers/usb/emul/sandbox_flash.c
> @@ -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;
> diff --git a/include/scsi.h b/include/scsi.h
> index e5d75b0cdca..5d63963bed0 100644
> --- a/include/scsi.h
> +++ b/include/scsi.h
> @@ -167,6 +167,12 @@ struct scsi_cmd {
> #define SCSI_WRITE_LONG 0x3F /* Write Long (O) */
> #define SCSI_WRITE_SAME 0x41 /* Write Same (O) */
>
> +enum scsi_cmd_phase {
Please, add Sphinx style description.
Best regards
Heinrich
> + SCSIPH_START,
> + SCSIPH_DATA,
> + SCSIPH_STATUS,
> +};
> +
> /**
> * struct scsi_plat - stores information about SCSI controller
> *
More information about the U-Boot
mailing list