summaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/f_acm.c
diff options
context:
space:
mode:
authorMichal Nazarewicz <m.nazarewicz@samsung.com>2009-10-28 16:57:22 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2009-12-11 20:55:19 +0100
commit9c610213370ad2e58a892f890a11a90615edf020 (patch)
treec4dc1b738aa33e42916cf26ba5595fac14cbc052 /drivers/usb/gadget/f_acm.c
parentUSB: g_mass_storage: constant length buffers used (diff)
downloadlinux-9c610213370ad2e58a892f890a11a90615edf020.tar.xz
linux-9c610213370ad2e58a892f890a11a90615edf020.zip
USB: g_mass_storage: fsg_common_init() created
Moved code initialising fsg_common structure to fsg_common_init() function which is called from fsg_bind(). Moreover, changed reference counting mechanism: fsg_common has a reference counter which counts how many fsg_dev structures uses it. When this reaches zero fsg_common_release() is run which unregisters LUN devices and frees memory. fsg_common_init() takes pointer to fsg_common structure as an argument. If it is NULL function allocates storage otherwise uses pointed to memory (handy if fsg_common is a field of another structure or a static variable). fsg_common_release() will free storage only if free_storage_on_release is set -- it is initialised by fsg_common_init(): set if allocation was done, unset otherwise (one may overwrite it of course). Signed-off-by: Michal Nazarewicz <m.nazarewicz@samsung.com> Cc: David Brownell <dbrownell@users.sourceforge.net> Cc: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/gadget/f_acm.c')
0 files changed, 0 insertions, 0 deletions