diff options
Diffstat (limited to 'patches.tizen/1126-usb-gadget-f_mass_storage-use-usb_gstrings_attach.patch')
-rw-r--r-- | patches.tizen/1126-usb-gadget-f_mass_storage-use-usb_gstrings_attach.patch | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/patches.tizen/1126-usb-gadget-f_mass_storage-use-usb_gstrings_attach.patch b/patches.tizen/1126-usb-gadget-f_mass_storage-use-usb_gstrings_attach.patch new file mode 100644 index 00000000000..4a5589d8788 --- /dev/null +++ b/patches.tizen/1126-usb-gadget-f_mass_storage-use-usb_gstrings_attach.patch @@ -0,0 +1,84 @@ +From 9604df639c5e142e80a4871c63ff15938c544285 Mon Sep 17 00:00:00 2001 +From: Andrzej Pietrasiewicz <andrzej.p@samsung.com> +Date: Thu, 26 Sep 2013 14:38:19 +0200 +Subject: [PATCH 1126/1302] usb: gadget: f_mass_storage: use + usb_gstrings_attach + +Prepare for handling with configfs. + +Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com> +Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> +Signed-off-by: Felipe Balbi <balbi@ti.com> +Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> +--- + drivers/usb/gadget/f_mass_storage.c | 25 ++++++++++++------------- + 1 file changed, 12 insertions(+), 13 deletions(-) + +diff --git a/drivers/usb/gadget/f_mass_storage.c b/drivers/usb/gadget/f_mass_storage.c +index 6b6c7f1..32e5ab7 100644 +--- a/drivers/usb/gadget/f_mass_storage.c ++++ b/drivers/usb/gadget/f_mass_storage.c +@@ -242,6 +242,11 @@ static struct usb_gadget_strings fsg_stringtab = { + .strings = fsg_strings, + }; + ++static struct usb_gadget_strings *fsg_strings_array[] = { ++ &fsg_stringtab, ++ NULL, ++}; ++ + /*-------------------------------------------------------------------------*/ + + struct fsg_dev; +@@ -2645,6 +2650,7 @@ struct fsg_common *fsg_common_init(struct fsg_common *common, + struct fsg_buffhd *bh; + struct fsg_lun **curlun_it; + struct fsg_lun_config *lcfg; ++ struct usb_string *us; + int nluns, i, rc; + char *pathbuf; + +@@ -2687,14 +2693,13 @@ struct fsg_common *fsg_common_init(struct fsg_common *common, + common->ep0req = cdev->req; + common->cdev = cdev; + +- /* Maybe allocate device-global string IDs, and patch descriptors */ +- if (fsg_strings[FSG_STRING_INTERFACE].id == 0) { +- rc = usb_string_id(cdev); +- if (unlikely(rc < 0)) +- goto error_release; +- fsg_strings[FSG_STRING_INTERFACE].id = rc; +- fsg_intf_desc.iInterface = rc; ++ us = usb_gstrings_attach(cdev, fsg_strings_array, ++ ARRAY_SIZE(fsg_strings)); ++ if (IS_ERR(us)) { ++ rc = PTR_ERR(us); ++ goto error_release; + } ++ fsg_intf_desc.iInterface = us[FSG_STRING_INTERFACE].id; + + /* + * Create the LUNs, open their backing files, and register the +@@ -2988,11 +2993,6 @@ autoconf_fail: + + /****************************** ADD FUNCTION ******************************/ + +-static struct usb_gadget_strings *fsg_strings_array[] = { +- &fsg_stringtab, +- NULL, +-}; +- + static int fsg_bind_config(struct usb_composite_dev *cdev, + struct usb_configuration *c, + struct fsg_common *common) +@@ -3005,7 +3005,6 @@ static int fsg_bind_config(struct usb_composite_dev *cdev, + return -ENOMEM; + + fsg->function.name = FSG_DRIVER_DESC; +- fsg->function.strings = fsg_strings_array; + fsg->function.bind = fsg_bind; + fsg->function.unbind = fsg_unbind; + fsg->function.setup = fsg_setup; +-- +1.8.3.2 + |