Lines Matching refs:srcimp_mgr
668 struct srcimp_mgr *mgr) in srcimp_rsc_init()
710 static int get_srcimp_rsc(struct srcimp_mgr *mgr, in get_srcimp_rsc()
761 static int put_srcimp_rsc(struct srcimp_mgr *mgr, struct srcimp *srcimp) in put_srcimp_rsc()
779 struct rsc_mgr *mgr = &((struct srcimp_mgr *)data)->mgr; in srcimp_map_op()
791 static int srcimp_imap_add(struct srcimp_mgr *mgr, struct imapper *entry) in srcimp_imap_add()
808 static int srcimp_imap_delete(struct srcimp_mgr *mgr, struct imapper *entry) in srcimp_imap_delete()
825 int srcimp_mgr_create(struct hw *hw, struct srcimp_mgr **rsrcimp_mgr) in srcimp_mgr_create()
828 struct srcimp_mgr *srcimp_mgr; in srcimp_mgr_create() local
832 srcimp_mgr = kzalloc(sizeof(*srcimp_mgr), GFP_KERNEL); in srcimp_mgr_create()
833 if (!srcimp_mgr) in srcimp_mgr_create()
836 err = rsc_mgr_init(&srcimp_mgr->mgr, SRCIMP, SRCIMP_RESOURCE_NUM, hw); in srcimp_mgr_create()
840 spin_lock_init(&srcimp_mgr->mgr_lock); in srcimp_mgr_create()
841 spin_lock_init(&srcimp_mgr->imap_lock); in srcimp_mgr_create()
842 INIT_LIST_HEAD(&srcimp_mgr->imappers); in srcimp_mgr_create()
849 list_add(&entry->list, &srcimp_mgr->imappers); in srcimp_mgr_create()
850 srcimp_mgr->init_imap = entry; in srcimp_mgr_create()
851 srcimp_mgr->init_imap_added = 1; in srcimp_mgr_create()
853 srcimp_mgr->get_srcimp = get_srcimp_rsc; in srcimp_mgr_create()
854 srcimp_mgr->put_srcimp = put_srcimp_rsc; in srcimp_mgr_create()
855 srcimp_mgr->imap_add = srcimp_imap_add; in srcimp_mgr_create()
856 srcimp_mgr->imap_delete = srcimp_imap_delete; in srcimp_mgr_create()
857 srcimp_mgr->card = hw->card; in srcimp_mgr_create()
859 *rsrcimp_mgr = srcimp_mgr; in srcimp_mgr_create()
864 rsc_mgr_uninit(&srcimp_mgr->mgr); in srcimp_mgr_create()
866 kfree(srcimp_mgr); in srcimp_mgr_create()
870 int srcimp_mgr_destroy(struct srcimp_mgr *srcimp_mgr) in srcimp_mgr_destroy() argument
875 spin_lock_irqsave(&srcimp_mgr->imap_lock, flags); in srcimp_mgr_destroy()
876 free_input_mapper_list(&srcimp_mgr->imappers); in srcimp_mgr_destroy()
877 spin_unlock_irqrestore(&srcimp_mgr->imap_lock, flags); in srcimp_mgr_destroy()
879 rsc_mgr_uninit(&srcimp_mgr->mgr); in srcimp_mgr_destroy()
880 kfree(srcimp_mgr); in srcimp_mgr_destroy()