[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