mdev_link
ret = set_config_val[i](mdev_link);
return most_add_link(mdev_link->device, mdev_link->channel,
mdev_link->comp, mdev_link->name,
mdev_link->comp_params);
struct mdev_link *mdev_link = to_mdev_link(item);
ret = set_config_and_add_link(mdev_link);
list_add_tail(&mdev_link->list, &mdev_link_list);
mdev_link->create_link = tmp;
mdev_link->destroy_link = false;
struct mdev_link *mdev_link = to_mdev_link(item);
ret = most_remove_link(mdev_link->device, mdev_link->channel,
mdev_link->comp);
list_del(&mdev_link->list);
mdev_link->destroy_link = tmp;
struct mdev_link *mdev_link = to_mdev_link(item);
strcpy(mdev_link->direction, page);
strim(mdev_link->direction);
struct mdev_link *mdev_link = to_mdev_link(item);
strcpy(mdev_link->datatype, page);
strim(mdev_link->datatype);
struct mdev_link *mdev_link = to_mdev_link(item);
strscpy(mdev_link->device, page, sizeof(mdev_link->device));
strim(mdev_link->device);
struct mdev_link *mdev_link = to_mdev_link(item);
strscpy(mdev_link->channel, page, sizeof(mdev_link->channel));
strim(mdev_link->channel);
struct mdev_link *mdev_link = to_mdev_link(item);
strscpy(mdev_link->comp, page, sizeof(mdev_link->comp));
strim(mdev_link->comp);
struct mdev_link *mdev_link = to_mdev_link(item);
strscpy(mdev_link->comp_params, page, sizeof(mdev_link->comp_params));
strim(mdev_link->comp_params);
struct mdev_link *mdev_link = to_mdev_link(item);
ret = kstrtou16(page, 0, &mdev_link->num_buffers);
struct mdev_link *mdev_link = to_mdev_link(item);
ret = kstrtou16(page, 0, &mdev_link->buffer_size);
struct mdev_link *mdev_link = to_mdev_link(item);
ret = kstrtou16(page, 0, &mdev_link->subbuffer_size);
struct mdev_link *mdev_link = to_mdev_link(item);
ret = kstrtou16(page, 0, &mdev_link->packets_per_xact);
struct mdev_link *mdev_link = to_mdev_link(item);
ret = kstrtou16(page, 0, &mdev_link->dbr_size);
static int set_cfg_buffer_size(struct mdev_link *link)
struct mdev_link *mdev_link = to_mdev_link(item);
if (mdev_link->destroy_link)
ret = most_remove_link(mdev_link->device, mdev_link->channel,
mdev_link->comp);
list_del(&mdev_link->list);
struct mdev_link *mdev_link;
mdev_link = kzalloc_obj(*mdev_link);
if (!mdev_link)
kfree(mdev_link);
config_item_init_type_name(&mdev_link->item, name,
static int set_cfg_subbuffer_size(struct mdev_link *link)
strcpy(mdev_link->comp, "cdev");
strcpy(mdev_link->comp, "net");
strcpy(mdev_link->comp, "video");
strcpy(mdev_link->name, name);
return &mdev_link->item;
static int set_cfg_dbr_size(struct mdev_link *link)
struct mdev_link *mdev_link;
mdev_link = kzalloc_obj(*mdev_link);
if (!mdev_link)
config_item_init_type_name(&mdev_link->item, name, &mdev_link_type);
mdev_link->create_link = false;
strcpy(mdev_link->name, name);
strcpy(mdev_link->comp, "sound");
return &mdev_link->item;
static int set_cfg_num_buffers(struct mdev_link *link)
static int set_cfg_packets_xact(struct mdev_link *link)
static int set_cfg_direction(struct mdev_link *link)
struct mdev_link *mdev_link;
list_for_each_entry(mdev_link, &mdev_link_list, list) {
if (!strcmp(mdev_link->device, mdev)) {
set_config_and_add_link(mdev_link);
if (!strcmp(mdev_link->comp, "sound"))
static int set_cfg_datatype(struct mdev_link *link)
static int (*set_config_val[])(struct mdev_link *link) = {
static struct mdev_link *to_mdev_link(struct config_item *item)
return container_of(item, struct mdev_link, item);
static int set_config_and_add_link(struct mdev_link *mdev_link)