Lines Matching refs:srcimp_mgr
672 struct srcimp_mgr *mgr) in srcimp_rsc_init()
716 static int get_srcimp_rsc(struct srcimp_mgr *mgr, in get_srcimp_rsc()
767 static int put_srcimp_rsc(struct srcimp_mgr *mgr, struct srcimp *srcimp) in put_srcimp_rsc()
785 struct rsc_mgr *mgr = &((struct srcimp_mgr *)data)->mgr; in srcimp_map_op()
797 static int srcimp_imap_add(struct srcimp_mgr *mgr, struct imapper *entry) in srcimp_imap_add()
814 static int srcimp_imap_delete(struct srcimp_mgr *mgr, struct imapper *entry) in srcimp_imap_delete()
831 int srcimp_mgr_create(struct hw *hw, struct srcimp_mgr **rsrcimp_mgr) in srcimp_mgr_create()
834 struct srcimp_mgr *srcimp_mgr; in srcimp_mgr_create() local
838 srcimp_mgr = kzalloc(sizeof(*srcimp_mgr), GFP_KERNEL); in srcimp_mgr_create()
839 if (!srcimp_mgr) in srcimp_mgr_create()
842 err = rsc_mgr_init(&srcimp_mgr->mgr, SRCIMP, SRCIMP_RESOURCE_NUM, hw); in srcimp_mgr_create()
846 spin_lock_init(&srcimp_mgr->mgr_lock); in srcimp_mgr_create()
847 spin_lock_init(&srcimp_mgr->imap_lock); in srcimp_mgr_create()
848 INIT_LIST_HEAD(&srcimp_mgr->imappers); in srcimp_mgr_create()
855 list_add(&entry->list, &srcimp_mgr->imappers); in srcimp_mgr_create()
856 srcimp_mgr->init_imap = entry; in srcimp_mgr_create()
857 srcimp_mgr->init_imap_added = 1; in srcimp_mgr_create()
859 srcimp_mgr->get_srcimp = get_srcimp_rsc; in srcimp_mgr_create()
860 srcimp_mgr->put_srcimp = put_srcimp_rsc; in srcimp_mgr_create()
861 srcimp_mgr->imap_add = srcimp_imap_add; in srcimp_mgr_create()
862 srcimp_mgr->imap_delete = srcimp_imap_delete; in srcimp_mgr_create()
863 srcimp_mgr->card = hw->card; in srcimp_mgr_create()
865 *rsrcimp_mgr = srcimp_mgr; in srcimp_mgr_create()
870 rsc_mgr_uninit(&srcimp_mgr->mgr); in srcimp_mgr_create()
872 kfree(srcimp_mgr); in srcimp_mgr_create()
876 int srcimp_mgr_destroy(struct srcimp_mgr *srcimp_mgr) in srcimp_mgr_destroy() argument
881 spin_lock_irqsave(&srcimp_mgr->imap_lock, flags); in srcimp_mgr_destroy()
882 free_input_mapper_list(&srcimp_mgr->imappers); in srcimp_mgr_destroy()
883 spin_unlock_irqrestore(&srcimp_mgr->imap_lock, flags); in srcimp_mgr_destroy()
885 rsc_mgr_uninit(&srcimp_mgr->mgr); in srcimp_mgr_destroy()
886 kfree(srcimp_mgr); in srcimp_mgr_destroy()