srcimp_mgr
struct srcimp_mgr *srcimp_mgr = NULL;
srcimp_mgr = atc->rsc_mgrs[SRCIMP];
srcimp_mgr->put_srcimp(srcimp_mgr, atc->srcimps[i]);
struct srcimp_mgr *srcimp_mgr;
srcimp_mgr = atc->rsc_mgrs[SRCIMP];
err = srcimp_mgr->get_srcimp(srcimp_mgr, &srcimp_dsc,
struct srcimp_mgr *srcimp_mgr = atc->rsc_mgrs[SRCIMP];
srcimp_mgr->put_srcimp(srcimp_mgr, srcimp);
struct srcimp_mgr *srcimp_mgr = atc->rsc_mgrs[SRCIMP];
err = srcimp_mgr->get_srcimp(srcimp_mgr, &srcimp_dsc, &srcimp);
struct srcimp_mgr *mgr)
static int get_srcimp_rsc(struct srcimp_mgr *mgr,
static int put_srcimp_rsc(struct srcimp_mgr *mgr, struct srcimp *srcimp)
struct rsc_mgr *mgr = &((struct srcimp_mgr *)data)->mgr;
static int srcimp_imap_add(struct srcimp_mgr *mgr, struct imapper *entry)
static int srcimp_imap_delete(struct srcimp_mgr *mgr, struct imapper *entry)
struct srcimp_mgr *srcimp_mgr;
srcimp_mgr = kzalloc_obj(*srcimp_mgr);
if (!srcimp_mgr)
err = rsc_mgr_init(&srcimp_mgr->mgr, SRCIMP, SRCIMP_RESOURCE_NUM, hw);
spin_lock_init(&srcimp_mgr->mgr_lock);
spin_lock_init(&srcimp_mgr->imap_lock);
INIT_LIST_HEAD(&srcimp_mgr->imappers);
list_add(&entry->list, &srcimp_mgr->imappers);
srcimp_mgr->init_imap = entry;
srcimp_mgr->init_imap_added = 1;
srcimp_mgr->get_srcimp = get_srcimp_rsc;
srcimp_mgr->put_srcimp = put_srcimp_rsc;
srcimp_mgr->imap_add = srcimp_imap_add;
srcimp_mgr->imap_delete = srcimp_imap_delete;
srcimp_mgr->card = hw->card;
*rsrcimp_mgr = srcimp_mgr;
rsc_mgr_uninit(&srcimp_mgr->mgr);
kfree(srcimp_mgr);
struct srcimp_mgr *srcimp_mgr = ptr;
scoped_guard(spinlock_irqsave, &srcimp_mgr->imap_lock) {
free_input_mapper_list(&srcimp_mgr->imappers);
rsc_mgr_uninit(&srcimp_mgr->mgr);
kfree(srcimp_mgr);
struct srcimp_mgr;
struct srcimp_mgr *mgr;
int (*get_srcimp)(struct srcimp_mgr *mgr,
int (*put_srcimp)(struct srcimp_mgr *mgr, struct srcimp *srcimp);
int (*imap_add)(struct srcimp_mgr *mgr, struct imapper *entry);
int (*imap_delete)(struct srcimp_mgr *mgr, struct imapper *entry);