diff options
Diffstat (limited to 'patches.tizen/1106-Revert-usb-gadget-f_mass_storage-factor-out-a-header.patch')
-rw-r--r-- | patches.tizen/1106-Revert-usb-gadget-f_mass_storage-factor-out-a-header.patch | 322 |
1 files changed, 322 insertions, 0 deletions
diff --git a/patches.tizen/1106-Revert-usb-gadget-f_mass_storage-factor-out-a-header.patch b/patches.tizen/1106-Revert-usb-gadget-f_mass_storage-factor-out-a-header.patch new file mode 100644 index 00000000000..a582e46766e --- /dev/null +++ b/patches.tizen/1106-Revert-usb-gadget-f_mass_storage-factor-out-a-header.patch @@ -0,0 +1,322 @@ +From 38facb63e8cf67b585c52ad0c65ad978619cd4b4 Mon Sep 17 00:00:00 2001 +From: Andrzej Pietrasiewicz <andrzej.p@samsung.com> +Date: Tue, 14 Jan 2014 14:27:56 +0100 +Subject: [PATCH 1106/1302] Revert "usb/gadget: f_mass_storage: factor out a + header file" + +This reverts commit aa42314c87dd9ba2b17aa1cb49d76d95d988dffe. + +Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> +--- + drivers/usb/gadget/f_mass_storage.c | 117 +++++++++++++++++++++++++++++++-- + drivers/usb/gadget/f_mass_storage.h | 126 ------------------------------------ + 2 files changed, 110 insertions(+), 133 deletions(-) + delete mode 100644 drivers/usb/gadget/f_mass_storage.h + +diff --git a/drivers/usb/gadget/f_mass_storage.c b/drivers/usb/gadget/f_mass_storage.c +index c36e208..163d911 100644 +--- a/drivers/usb/gadget/f_mass_storage.c ++++ b/drivers/usb/gadget/f_mass_storage.c +@@ -229,7 +229,6 @@ + static const char fsg_string_interface[] = "Mass Storage"; + + #include "storage_common.h" +-#include "f_mass_storage.h" + + /* Static strings, in UTF-8 (for simplicity we use only ASCII characters) */ + static struct usb_string fsg_strings[] = { +@@ -247,6 +246,18 @@ static struct usb_gadget_strings fsg_stringtab = { + struct fsg_dev; + struct fsg_common; + ++/* FSF callback functions */ ++struct fsg_operations { ++ /* ++ * Callback function to call when thread exits. If no ++ * callback is set or it returns value lower then zero MSF ++ * will force eject all LUNs it operates on (including those ++ * marked as non-removable or with prevent_medium_removal flag ++ * set). ++ */ ++ int (*thread_exits)(struct fsg_common *common); ++}; ++ + /* Data shared by all the FSG instances. */ + struct fsg_common { + struct usb_gadget *gadget; +@@ -313,6 +324,28 @@ struct fsg_common { + struct kref ref; + }; + ++struct fsg_config { ++ unsigned nluns; ++ struct fsg_lun_config { ++ const char *filename; ++ char ro; ++ char removable; ++ char cdrom; ++ char nofua; ++ } luns[FSG_MAX_LUNS]; ++ ++ /* Callback functions. */ ++ const struct fsg_operations *ops; ++ /* Gadget's private data. */ ++ void *private_data; ++ ++ const char *vendor_name; /* 8 characters or less */ ++ const char *product_name; /* 16 characters or less */ ++ ++ char can_stall; ++ unsigned int fsg_num_buffers; ++}; ++ + struct fsg_dev { + struct usb_function function; + struct usb_gadget *gadget; /* Copy of cdev->gadget */ +@@ -2576,12 +2609,12 @@ static void fsg_lun_release(struct device *dev) + /* Nothing needs to be done */ + } + +-void fsg_common_get(struct fsg_common *common) ++static inline void fsg_common_get(struct fsg_common *common) + { + kref_get(&common->ref); + } + +-void fsg_common_put(struct fsg_common *common) ++static inline void fsg_common_put(struct fsg_common *common) + { + kref_put(&common->ref, fsg_common_release); + } +@@ -2596,9 +2629,9 @@ static inline int fsg_num_buffers_validate(unsigned int fsg_num_buffers) + return -EINVAL; + } + +-struct fsg_common *fsg_common_init(struct fsg_common *common, +- struct usb_composite_dev *cdev, +- struct fsg_config *cfg) ++static struct fsg_common *fsg_common_init(struct fsg_common *common, ++ struct usb_composite_dev *cdev, ++ struct fsg_config *cfg) + { + struct usb_gadget *gadget = cdev->gadget; + struct fsg_buffhd *bh; +@@ -2975,8 +3008,62 @@ static int fsg_bind_config(struct usb_composite_dev *cdev, + + /************************* Module parameters *************************/ + ++struct fsg_module_parameters { ++ char *file[FSG_MAX_LUNS]; ++ bool ro[FSG_MAX_LUNS]; ++ bool removable[FSG_MAX_LUNS]; ++ bool cdrom[FSG_MAX_LUNS]; ++ bool nofua[FSG_MAX_LUNS]; ++ ++ unsigned int file_count, ro_count, removable_count, cdrom_count; ++ unsigned int nofua_count; ++ unsigned int luns; /* nluns */ ++ bool stall; /* can_stall */ ++}; ++ ++#define _FSG_MODULE_PARAM_ARRAY(prefix, params, name, type, desc) \ ++ module_param_array_named(prefix ## name, params.name, type, \ ++ &prefix ## params.name ## _count, \ ++ S_IRUGO); \ ++ MODULE_PARM_DESC(prefix ## name, desc) ++ ++#define _FSG_MODULE_PARAM(prefix, params, name, type, desc) \ ++ module_param_named(prefix ## name, params.name, type, \ ++ S_IRUGO); \ ++ MODULE_PARM_DESC(prefix ## name, desc) ++ ++#define __FSG_MODULE_PARAMETERS(prefix, params) \ ++ _FSG_MODULE_PARAM_ARRAY(prefix, params, file, charp, \ ++ "names of backing files or devices"); \ ++ _FSG_MODULE_PARAM_ARRAY(prefix, params, ro, bool, \ ++ "true to force read-only"); \ ++ _FSG_MODULE_PARAM_ARRAY(prefix, params, removable, bool, \ ++ "true to simulate removable media"); \ ++ _FSG_MODULE_PARAM_ARRAY(prefix, params, cdrom, bool, \ ++ "true to simulate CD-ROM instead of disk"); \ ++ _FSG_MODULE_PARAM_ARRAY(prefix, params, nofua, bool, \ ++ "true to ignore SCSI WRITE(10,12) FUA bit"); \ ++ _FSG_MODULE_PARAM(prefix, params, luns, uint, \ ++ "number of LUNs"); \ ++ _FSG_MODULE_PARAM(prefix, params, stall, bool, \ ++ "false to prevent bulk stalls") ++ ++#ifdef CONFIG_USB_GADGET_DEBUG_FILES ++ ++#define FSG_MODULE_PARAMETERS(prefix, params) \ ++ __FSG_MODULE_PARAMETERS(prefix, params); \ ++ module_param_named(num_buffers, fsg_num_buffers, uint, S_IRUGO);\ ++ MODULE_PARM_DESC(num_buffers, "Number of pipeline buffers") ++#else ++ ++#define FSG_MODULE_PARAMETERS(prefix, params) \ ++ __FSG_MODULE_PARAMETERS(prefix, params) ++ ++#endif ++ + +-void fsg_config_from_params(struct fsg_config *cfg, ++static void ++fsg_config_from_params(struct fsg_config *cfg, + const struct fsg_module_parameters *params, + unsigned int fsg_num_buffers) + { +@@ -3009,3 +3096,19 @@ void fsg_config_from_params(struct fsg_config *cfg, + cfg->fsg_num_buffers = fsg_num_buffers; + } + ++static inline struct fsg_common * ++fsg_common_from_params(struct fsg_common *common, ++ struct usb_composite_dev *cdev, ++ const struct fsg_module_parameters *params, ++ unsigned int fsg_num_buffers) ++ __attribute__((unused)); ++static inline struct fsg_common * ++fsg_common_from_params(struct fsg_common *common, ++ struct usb_composite_dev *cdev, ++ const struct fsg_module_parameters *params, ++ unsigned int fsg_num_buffers) ++{ ++ struct fsg_config cfg; ++ fsg_config_from_params(&cfg, params, fsg_num_buffers); ++ return fsg_common_init(common, cdev, &cfg); ++} +diff --git a/drivers/usb/gadget/f_mass_storage.h b/drivers/usb/gadget/f_mass_storage.h +deleted file mode 100644 +index b64761d..0000000 +--- a/drivers/usb/gadget/f_mass_storage.h ++++ /dev/null +@@ -1,126 +0,0 @@ +-#ifndef USB_F_MASS_STORAGE_H +-#define USB_F_MASS_STORAGE_H +- +-#include "storage_common.h" +- +-struct fsg_module_parameters { +- char *file[FSG_MAX_LUNS]; +- bool ro[FSG_MAX_LUNS]; +- bool removable[FSG_MAX_LUNS]; +- bool cdrom[FSG_MAX_LUNS]; +- bool nofua[FSG_MAX_LUNS]; +- +- unsigned int file_count, ro_count, removable_count, cdrom_count; +- unsigned int nofua_count; +- unsigned int luns; /* nluns */ +- bool stall; /* can_stall */ +-}; +- +-#define _FSG_MODULE_PARAM_ARRAY(prefix, params, name, type, desc) \ +- module_param_array_named(prefix ## name, params.name, type, \ +- &prefix ## params.name ## _count, \ +- S_IRUGO); \ +- MODULE_PARM_DESC(prefix ## name, desc) +- +-#define _FSG_MODULE_PARAM(prefix, params, name, type, desc) \ +- module_param_named(prefix ## name, params.name, type, \ +- S_IRUGO); \ +- MODULE_PARM_DESC(prefix ## name, desc) +- +-#define __FSG_MODULE_PARAMETERS(prefix, params) \ +- _FSG_MODULE_PARAM_ARRAY(prefix, params, file, charp, \ +- "names of backing files or devices"); \ +- _FSG_MODULE_PARAM_ARRAY(prefix, params, ro, bool, \ +- "true to force read-only"); \ +- _FSG_MODULE_PARAM_ARRAY(prefix, params, removable, bool, \ +- "true to simulate removable media"); \ +- _FSG_MODULE_PARAM_ARRAY(prefix, params, cdrom, bool, \ +- "true to simulate CD-ROM instead of disk"); \ +- _FSG_MODULE_PARAM_ARRAY(prefix, params, nofua, bool, \ +- "true to ignore SCSI WRITE(10,12) FUA bit"); \ +- _FSG_MODULE_PARAM(prefix, params, luns, uint, \ +- "number of LUNs"); \ +- _FSG_MODULE_PARAM(prefix, params, stall, bool, \ +- "false to prevent bulk stalls") +- +-#ifdef CONFIG_USB_GADGET_DEBUG_FILES +- +-#define FSG_MODULE_PARAMETERS(prefix, params) \ +- __FSG_MODULE_PARAMETERS(prefix, params); \ +- module_param_named(num_buffers, fsg_num_buffers, uint, S_IRUGO);\ +- MODULE_PARM_DESC(num_buffers, "Number of pipeline buffers") +-#else +- +-#define FSG_MODULE_PARAMETERS(prefix, params) \ +- __FSG_MODULE_PARAMETERS(prefix, params) +- +-#endif +- +-struct fsg_common; +- +-/* FSF callback functions */ +-struct fsg_operations { +- /* +- * Callback function to call when thread exits. If no +- * callback is set or it returns value lower then zero MSF +- * will force eject all LUNs it operates on (including those +- * marked as non-removable or with prevent_medium_removal flag +- * set). +- */ +- int (*thread_exits)(struct fsg_common *common); +-}; +- +-struct fsg_lun_config { +- const char *filename; +- char ro; +- char removable; +- char cdrom; +- char nofua; +-}; +- +-struct fsg_config { +- unsigned nluns; +- struct fsg_lun_config luns[FSG_MAX_LUNS]; +- +- /* Callback functions. */ +- const struct fsg_operations *ops; +- /* Gadget's private data. */ +- void *private_data; +- +- const char *vendor_name; /* 8 characters or less */ +- const char *product_name; /* 16 characters or less */ +- +- char can_stall; +- unsigned int fsg_num_buffers; +-}; +- +-void fsg_common_get(struct fsg_common *common); +- +-void fsg_common_put(struct fsg_common *common); +- +-struct fsg_common *fsg_common_init(struct fsg_common *common, +- struct usb_composite_dev *cdev, +- struct fsg_config *cfg); +- +-void fsg_config_from_params(struct fsg_config *cfg, +- const struct fsg_module_parameters *params, +- unsigned int fsg_num_buffers); +- +-static inline struct fsg_common * +-fsg_common_from_params(struct fsg_common *common, +- struct usb_composite_dev *cdev, +- const struct fsg_module_parameters *params, +- unsigned int fsg_num_buffers) +- __attribute__((unused)); +-static inline struct fsg_common * +-fsg_common_from_params(struct fsg_common *common, +- struct usb_composite_dev *cdev, +- const struct fsg_module_parameters *params, +- unsigned int fsg_num_buffers) +-{ +- struct fsg_config cfg; +- fsg_config_from_params(&cfg, params, fsg_num_buffers); +- return fsg_common_init(common, cdev, &cfg); +-} +- +-#endif /* USB_F_MASS_STORAGE_H */ +-- +1.8.3.2 + |