• Michal Nazarewicz's avatar
    USB: g_mass_storage: fsg_common_init() created · 9c610213
    Michal Nazarewicz authored
    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: default avatarMichal Nazarewicz <m.nazarewicz@samsung.com>
    Cc: David Brownell <dbrownell@users.sourceforge.net>
    Cc: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    9c610213
f_mass_storage.c 89 KB