ffs_dev
static struct ffs_dev *_ffs_find_dev(const char *name);
static struct ffs_dev *_ffs_alloc_dev(void);
static void _ffs_free_dev(struct ffs_dev *dev);
static void ffs_release_dev(struct ffs_dev *ffs_dev);
static struct ffs_dev *_ffs_do_find_dev(const char *name)
struct ffs_dev *dev;
static struct ffs_dev *_ffs_get_single_dev(void)
struct ffs_dev *dev;
dev = list_first_entry(&ffs_devices, struct ffs_dev, entry);
static struct ffs_dev *_ffs_find_dev(const char *name)
struct ffs_dev *dev;
if (strlen(name) >= sizeof_field(struct ffs_dev, name))
struct ffs_dev *dev;
static struct ffs_dev *_ffs_alloc_dev(void)
struct ffs_dev *dev;
int ffs_name_dev(struct ffs_dev *dev, const char *name)
struct ffs_dev *existing;
int ffs_single_dev(struct ffs_dev *dev)
static void _ffs_free_dev(struct ffs_dev *dev)
struct ffs_dev *ffs_dev;
ffs_dev = _ffs_find_dev(dev_name);
if (!ffs_dev) {
} else if (ffs_dev->mounted) {
} else if (ffs_dev->ffs_acquire_dev_callback &&
ffs_dev->ffs_acquire_dev_callback(ffs_dev)) {
ffs_dev->mounted = true;
ffs_dev->ffs_data = ffs_data;
ffs_data->private_data = ffs_dev;
static void ffs_release_dev(struct ffs_dev *ffs_dev)
if (ffs_dev && ffs_dev->mounted) {
ffs_dev->mounted = false;
if (ffs_dev->ffs_data) {
ffs_dev->ffs_data->private_data = NULL;
ffs_dev->ffs_data = NULL;
if (ffs_dev->ffs_release_dev_callback)
ffs_dev->ffs_release_dev_callback(ffs_dev);
struct ffs_dev *ffs_obj;
struct ffs_dev *ffs_obj;
struct ffs_dev *dev;
void *(*ffs_acquire_dev_callback)(struct ffs_dev *dev);
void (*ffs_release_dev_callback)(struct ffs_dev *dev);
int ffs_name_dev(struct ffs_dev *dev, const char *name);
int ffs_single_dev(struct ffs_dev *dev);
static void *functionfs_acquire_dev(struct ffs_dev *dev);
static void functionfs_release_dev(struct ffs_dev *dev);
static void *functionfs_acquire_dev(struct ffs_dev *dev)
static void functionfs_release_dev(struct ffs_dev *dev)