• Andrzej Pietrasiewicz's avatar
    usb: gadget: f_mass_storage: make sysfs interface optional · bd528d4e
    Andrzej Pietrasiewicz authored
    When configfs is in place, the luns will not be represented in sysfs,
    so there will be no struct device associated with a lun.
    In order to maintain compatibility and allow configfs adoption
    sysfs is made optional in this patch.
    
    As a consequence some debug macros need to be adjusted. Two new
    fields are added to struct fsg_lun: name and name_pfx.
    The "name" is for storing a string which is presented to the user
    instead of the dev_name. The "name_pfx", if non-NULL, is prepended
    to the "name" at printing time.
    
    The name_pfx is for a future lun.0, which will be a default group in
    mass_storage.<name>. By design at USB function configfs group's creation
    time its name is not known (but instead set a bit later in
    drivers/usb/gadget/configfs.c:function_make) and it is this name that
    serves the purpose of the said name prefix. So instead of copying
    a yet-unknown string a pointer to it is stored in struct fsg_lun.
    Signed-off-by: default avatarAndrzej Pietrasiewicz <andrzej.p@samsung.com>
    Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
    Acked-by: default avatarMichal Nazarewicz <mina86@mina86.com>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    bd528d4e
f_mass_storage.c 84.8 KB