Commit 481e4929 authored by Michal Nazarewicz's avatar Michal Nazarewicz Committed by Greg Kroah-Hartman

USB: g_mass_storage: fsg_config added & module params handlig changed

Removed all references to mod_data in f_mass_storage.c and
instead created fsg_config structure fsg_common_init() takes
as an argument -- it stores all configuration options that
were previously taken from mod_data.

Moreover, The fsg_config structure allows per-LUN
configuration of removable and CD-ROM emulation.

Module parameters are handled by defining an object of
fsg_module_parameters structure and then declaring module
parameters via FSG_MODULE_PARAMETERS() macro.  It adds proper
declarations to the code making specified object be populated
from module parameters.

To use values stored there one may use either
fsg_config_from_params() which will will a fsg_config structure
with values taken from fsg_module_parameters structure or
fsg_common_from_params() which will initialise fsg_common
structure directly.
Signed-off-by: default avatarMichal Nazarewicz <m.nazarewicz@samsung.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent d23b0f08
This diff is collapsed.
...@@ -127,6 +127,11 @@ static struct usb_gadget_strings *dev_strings[] = { ...@@ -127,6 +127,11 @@ static struct usb_gadget_strings *dev_strings[] = {
/****************************** Configurations ******************************/ /****************************** Configurations ******************************/
static struct fsg_module_parameters mod_data = {
.stall = 1
};
FSG_MODULE_PARAMETERS(/* no prefix */, mod_data);
static int __init msg_do_config(struct usb_configuration *c) static int __init msg_do_config(struct usb_configuration *c)
{ {
struct fsg_common *common; struct fsg_common *common;
...@@ -137,7 +142,7 @@ static int __init msg_do_config(struct usb_configuration *c) ...@@ -137,7 +142,7 @@ static int __init msg_do_config(struct usb_configuration *c)
c->bmAttributes |= USB_CONFIG_ATT_WAKEUP; c->bmAttributes |= USB_CONFIG_ATT_WAKEUP;
} }
common = fsg_common_init(0, c->cdev); common = fsg_common_from_params(0, c->cdev, &mod_data);
if (IS_ERR(common)) if (IS_ERR(common))
return PTR_ERR(common); return PTR_ERR(common);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment