[PATCH 09/21] usb/gadget: f_mass_storage: use fsg_common_setup in fsg_common_init

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



fsg_common_init is a lengthy function. Now there are helper functions
which cover all parts of it. Use them.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx>
Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
---
 drivers/usb/gadget/f_mass_storage.c |   19 +++----------------
 1 files changed, 3 insertions(+), 16 deletions(-)

diff --git a/drivers/usb/gadget/f_mass_storage.c b/drivers/usb/gadget/f_mass_storage.c
index 6cb3a23..40c229b 100644
--- a/drivers/usb/gadget/f_mass_storage.c
+++ b/drivers/usb/gadget/f_mass_storage.c
@@ -3002,16 +3002,9 @@ struct fsg_common *fsg_common_init(struct fsg_common *common,
 		return ERR_PTR(-EINVAL);
 	}
 
-	/* Allocate? */
-	if (!common) {
-		common = kzalloc(sizeof *common, GFP_KERNEL);
-		if (!common)
-			return ERR_PTR(-ENOMEM);
-		common->free_storage_on_release = 1;
-	} else {
-		memset(common, 0, sizeof *common);
-		common->free_storage_on_release = 0;
-	}
+	common = fsg_common_setup(common, !!common);
+	if (IS_ERR(common))
+		return common;
 	common->sysfs = true;
 	common->state = FSG_STATE_IDLE;
 
@@ -3051,8 +3044,6 @@ struct fsg_common *fsg_common_init(struct fsg_common *common,
 	}
 	common->luns = curlun;
 
-	init_rwsem(&common->filesem);
-
 	for (i = 0, lcfg = cfg->luns; i < nluns; ++i, ++curlun, ++lcfg) {
 		*curlun = kzalloc(sizeof(**curlun), GFP_KERNEL);
 		if (!*curlun) {
@@ -3141,8 +3132,6 @@ buffhds_first_it:
 	common->can_stall = cfg->can_stall &&
 		!(gadget_is_at91(common->gadget));
 
-	spin_lock_init(&common->lock);
-	kref_init(&common->ref);
 
 	/* Tell the thread to start working */
 	common->thread_task =
@@ -3151,8 +3140,6 @@ buffhds_first_it:
 		rc = PTR_ERR(common->thread_task);
 		goto error_release;
 	}
-	init_completion(&common->thread_notifier);
-	init_waitqueue_head(&common->fsg_wait);
 
 	/* Information */
 	INFO(common, FSG_DRIVER_DESC ", version: " FSG_DRIVER_VERSION "\n");
-- 
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux