Lines Matching refs:lun

258 	unsigned int		lun;  member
1711 unsigned int lun = common->cmnd[1] >> 5; in check_command() local
1776 if (common->lun != lun) in check_command()
1778 common->lun, lun); in check_command()
1797 DBG(common, "unsupported LUN %u\n", common->lun); in check_command()
2228 common->lun = cbw->Lun; in received_cbw()
2229 if (common->lun < ARRAY_SIZE(common->luns)) in received_cbw()
2230 common->curlun = common->luns[common->lun]; in received_cbw()
2761 void fsg_common_remove_lun(struct fsg_lun *lun) in fsg_common_remove_lun() argument
2763 if (device_is_registered(&lun->dev)) in fsg_common_remove_lun()
2764 device_unregister(&lun->dev); in fsg_common_remove_lun()
2765 fsg_lun_close(lun); in fsg_common_remove_lun()
2766 kfree(lun); in fsg_common_remove_lun()
2835 struct fsg_lun *lun = fsg_lun_from_dev(dev); in fsg_lun_dev_is_visible() local
2838 return lun->cdrom ? S_IRUGO : (S_IWUSR | S_IRUGO); in fsg_lun_dev_is_visible()
2840 return lun->removable ? (S_IWUSR | S_IRUGO) : S_IRUGO; in fsg_lun_dev_is_visible()
2858 struct fsg_lun *lun; in fsg_common_create_lun() local
2873 lun = kzalloc(sizeof(*lun), GFP_KERNEL); in fsg_common_create_lun()
2874 if (!lun) in fsg_common_create_lun()
2877 lun->name_pfx = name_pfx; in fsg_common_create_lun()
2879 lun->cdrom = !!cfg->cdrom; in fsg_common_create_lun()
2880 lun->ro = cfg->cdrom || cfg->ro; in fsg_common_create_lun()
2881 lun->initially_ro = lun->ro; in fsg_common_create_lun()
2882 lun->removable = !!cfg->removable; in fsg_common_create_lun()
2886 lun->name = name; in fsg_common_create_lun()
2888 lun->dev.release = fsg_lun_release; in fsg_common_create_lun()
2889 lun->dev.parent = &common->gadget->dev; in fsg_common_create_lun()
2890 lun->dev.groups = fsg_lun_dev_groups; in fsg_common_create_lun()
2891 dev_set_drvdata(&lun->dev, &common->filesem); in fsg_common_create_lun()
2892 dev_set_name(&lun->dev, "%s", name); in fsg_common_create_lun()
2893 lun->name = dev_name(&lun->dev); in fsg_common_create_lun()
2895 rc = device_register(&lun->dev); in fsg_common_create_lun()
2898 put_device(&lun->dev); in fsg_common_create_lun()
2903 common->luns[id] = lun; in fsg_common_create_lun()
2906 rc = fsg_lun_open(lun, cfg->filename); in fsg_common_create_lun()
2913 if (fsg_lun_is_open(lun)) { in fsg_common_create_lun()
2916 p = file_path(lun->filp, pathbuf, PATH_MAX); in fsg_common_create_lun()
2922 lun->removable ? "removable " : "", in fsg_common_create_lun()
2923 lun->ro ? "read only " : "", in fsg_common_create_lun()
2924 lun->cdrom ? "CD-ROM " : "", in fsg_common_create_lun()
2931 if (device_is_registered(&lun->dev)) in fsg_common_create_lun()
2932 device_unregister(&lun->dev); in fsg_common_create_lun()
2933 fsg_lun_close(lun); in fsg_common_create_lun()
2936 kfree(lun); in fsg_common_create_lun()
2993 struct fsg_lun *lun = common->luns[i]; in fsg_common_release() local
2994 if (!lun) in fsg_common_release()
2996 fsg_lun_close(lun); in fsg_common_release()
2997 if (device_is_registered(&lun->dev)) in fsg_common_release()
2998 device_unregister(&lun->dev); in fsg_common_release()
2999 kfree(lun); in fsg_common_release()
3153 return fsg_show_file(opts->lun, &fsg_opts->common->filesem, page); in fsg_lun_opts_file_show()
3162 return fsg_store_file(opts->lun, &fsg_opts->common->filesem, page, len); in fsg_lun_opts_file_store()
3169 return fsg_show_ro(to_fsg_lun_opts(item)->lun, page); in fsg_lun_opts_ro_show()
3178 return fsg_store_ro(opts->lun, &fsg_opts->common->filesem, page, len); in fsg_lun_opts_ro_store()
3186 return fsg_show_removable(to_fsg_lun_opts(item)->lun, page); in fsg_lun_opts_removable_show()
3192 return fsg_store_removable(to_fsg_lun_opts(item)->lun, page, len); in fsg_lun_opts_removable_store()
3199 return fsg_show_cdrom(to_fsg_lun_opts(item)->lun, page); in fsg_lun_opts_cdrom_show()
3208 return fsg_store_cdrom(opts->lun, &fsg_opts->common->filesem, page, in fsg_lun_opts_cdrom_store()
3216 return fsg_show_nofua(to_fsg_lun_opts(item)->lun, page); in fsg_lun_opts_nofua_show()
3222 return fsg_store_nofua(to_fsg_lun_opts(item)->lun, page, len); in fsg_lun_opts_nofua_store()
3230 return fsg_show_inquiry_string(to_fsg_lun_opts(item)->lun, page); in fsg_lun_opts_inquiry_string_show()
3236 return fsg_store_inquiry_string(to_fsg_lun_opts(item)->lun, page, len); in fsg_lun_opts_inquiry_string_store()
3247 return fsg_store_forced_eject(opts->lun, &fsg_opts->common->filesem, in fsg_lun_opts_forced_eject_store()
3317 opts->lun = fsg_opts->common->luns[num]; in fsg_lun_make()
3345 fsg_common_remove_lun(lun_opts->lun); in fsg_lun_drop()
3505 opts->lun0.lun = opts->common->luns[0]; in fsg_alloc_inst()
3577 struct fsg_lun_config *lun; in fsg_config_from_params() local
3584 for (i = 0, lun = cfg->luns; i < cfg->nluns; ++i, ++lun) { in fsg_config_from_params()
3585 lun->ro = !!params->ro[i]; in fsg_config_from_params()
3586 lun->cdrom = !!params->cdrom[i]; in fsg_config_from_params()
3587 lun->removable = !!params->removable[i]; in fsg_config_from_params()
3588 lun->filename = in fsg_config_from_params()