aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2022-09-21 16:21:38 +0200
committerSimon Glass <sjg@chromium.org>2022-09-25 08:30:05 -0600
commit0c12d9dd23a3bce38170db2bab0cc326def6a1db (patch)
treecb70b869ee859e68618a4d8fbdf820c31c9aca70
parentfc7a7ed3a6cd9ea03400e1356768e646ff00b043 (diff)
downloadu-boot-0c12d9dd23a3bce38170db2bab0cc326def6a1db.zip
u-boot-0c12d9dd23a3bce38170db2bab0cc326def6a1db.tar.gz
u-boot-0c12d9dd23a3bce38170db2bab0cc326def6a1db.tar.bz2
scsi: Move vendor/product info into the shared struct
Move this information into struct scsi_emul_info so we can use it in common code. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--drivers/usb/emul/sandbox_flash.c10
-rw-r--r--include/scsi_emul.h5
2 files changed, 9 insertions, 6 deletions
diff --git a/drivers/usb/emul/sandbox_flash.c b/drivers/usb/emul/sandbox_flash.c
index 3a9db83..eaa7f1e 100644
--- a/drivers/usb/emul/sandbox_flash.c
+++ b/drivers/usb/emul/sandbox_flash.c
@@ -245,12 +245,8 @@ static int handle_ufi_command(struct sandbox_flash_plat *plat,
memset(resp, '\0', sizeof(*resp));
resp->data_format = 1;
resp->additional_len = 0x1f;
- strncpy(resp->vendor,
- plat->flash_strings[STRINGID_MANUFACTURER - 1].s,
- sizeof(resp->vendor));
- strncpy(resp->product,
- plat->flash_strings[STRINGID_PRODUCT - 1].s,
- sizeof(resp->product));
+ strncpy(resp->vendor, info->vendor, sizeof(resp->vendor));
+ strncpy(resp->product, info->product, sizeof(resp->product));
strncpy(resp->revision, "1.0", sizeof(resp->revision));
setup_response(priv, resp, sizeof(*resp));
break;
@@ -406,6 +402,8 @@ static int sandbox_flash_probe(struct udevice *dev)
info->buff = malloc(SANDBOX_FLASH_BUF_SIZE);
if (!info->buff)
return log_ret(-ENOMEM);
+ info->vendor = plat->flash_strings[STRINGID_MANUFACTURER - 1].s;
+ info->product = plat->flash_strings[STRINGID_PRODUCT - 1].s;
return 0;
}
diff --git a/include/scsi_emul.h b/include/scsi_emul.h
index f27c197..b281c16 100644
--- a/include/scsi_emul.h
+++ b/include/scsi_emul.h
@@ -15,6 +15,9 @@
/**
* struct scsi_emul_info - information for emulating a SCSI device
*
+ * @vendor: Vendor name
+ * @product: Product name
+ *
* @phase: Current SCSI phase
* @buff_used: Number of bytes ready to transfer back to host
* @read_len: Number of bytes of data left in the current read command
@@ -25,6 +28,8 @@
struct scsi_emul_info {
/* provided by the caller: */
void *buff;
+ const char *vendor;
+ const char *product;
/* state maintained by the emulator: */
enum scsi_cmd_phase phase;