Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 23682e3c authored by Andrzej Pietrasiewicz's avatar Andrzej Pietrasiewicz Committed by Felipe Balbi
Browse files

usb: gadget: f_mass_storage: create fsg_common_set_inquiry_string for use in fsg_common_init



fsg_common_init is a lengthy function. Factor a portion of it out.

Signed-off-by: default avatarAndrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Acked-by: default avatarMichal Nazarewicz <mina86@mina86.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent b27c08c9
Loading
Loading
Loading
Loading
+19 −10
Original line number Diff line number Diff line
@@ -2980,11 +2980,27 @@ int fsg_common_create_luns(struct fsg_common *common, struct fsg_config *cfg)
	return rc;
}

void fsg_common_set_inquiry_string(struct fsg_common *common, const char *vn,
				   const char *pn)
{
	int i;

	/* Prepare inquiryString */
	i = get_default_bcdDevice();
	snprintf(common->inquiry_string, sizeof(common->inquiry_string),
		 "%-8s%-16s%04x", vn ?: "Linux",
		 /* Assume product name dependent on the first LUN */
		 pn ?: ((*common->luns)->cdrom
		     ? "File-CD Gadget"
		     : "File-Stor Gadget"),
		 i);
}

struct fsg_common *fsg_common_init(struct fsg_common *common,
				   struct usb_composite_dev *cdev,
				   struct fsg_config *cfg)
{
	int i, rc;
	int rc;

	common = fsg_common_setup(common);
	if (IS_ERR(common))
@@ -3013,16 +3029,9 @@ struct fsg_common *fsg_common_init(struct fsg_common *common,
	if (rc)
		goto error_release;

	/* Prepare inquiryString */
	i = get_default_bcdDevice();
	snprintf(common->inquiry_string, sizeof common->inquiry_string,
		 "%-8s%-16s%04x", cfg->vendor_name ?: "Linux",
		 /* Assume product name dependent on the first LUN */
		 cfg->product_name ?: ((*common->luns)->cdrom
				     ? "File-CD Gadget"
				     : "File-Stor Gadget"),
		 i);

	fsg_common_set_inquiry_string(common, cfg->vendor_name,
				      cfg->product_name);
	/* Tell the thread to start working */
	common->thread_task =
		kthread_create(fsg_main_thread, common, "file-storage");
+3 −0
Original line number Diff line number Diff line
@@ -123,6 +123,9 @@ int fsg_common_create_lun(struct fsg_common *common, struct fsg_lun_config *cfg,

int fsg_common_create_luns(struct fsg_common *common, struct fsg_config *cfg);

void fsg_common_set_inquiry_string(struct fsg_common *common, const char *vn,
				   const char *pn);

void fsg_config_from_params(struct fsg_config *cfg,
			    const struct fsg_module_parameters *params,
			    unsigned int fsg_num_buffers);