Lines Matching defs:srcimp_mgr
667 struct srcimp_mgr *mgr)
709 static int get_srcimp_rsc(struct srcimp_mgr *mgr,
760 static int put_srcimp_rsc(struct srcimp_mgr *mgr, struct srcimp *srcimp)
778 struct rsc_mgr *mgr = &((struct srcimp_mgr *)data)->mgr;
790 static int srcimp_imap_add(struct srcimp_mgr *mgr, struct imapper *entry)
807 static int srcimp_imap_delete(struct srcimp_mgr *mgr, struct imapper *entry)
824 int srcimp_mgr_create(struct hw *hw, struct srcimp_mgr **rsrcimp_mgr)
827 struct srcimp_mgr *srcimp_mgr;
831 srcimp_mgr = kzalloc(sizeof(*srcimp_mgr), GFP_KERNEL);
832 if (!srcimp_mgr)
835 err = rsc_mgr_init(&srcimp_mgr->mgr, SRCIMP, SRCIMP_RESOURCE_NUM, hw);
839 spin_lock_init(&srcimp_mgr->mgr_lock);
840 spin_lock_init(&srcimp_mgr->imap_lock);
841 INIT_LIST_HEAD(&srcimp_mgr->imappers);
848 list_add(&entry->list, &srcimp_mgr->imappers);
849 srcimp_mgr->init_imap = entry;
850 srcimp_mgr->init_imap_added = 1;
852 srcimp_mgr->get_srcimp = get_srcimp_rsc;
853 srcimp_mgr->put_srcimp = put_srcimp_rsc;
854 srcimp_mgr->imap_add = srcimp_imap_add;
855 srcimp_mgr->imap_delete = srcimp_imap_delete;
856 srcimp_mgr->card = hw->card;
858 *rsrcimp_mgr = srcimp_mgr;
863 rsc_mgr_uninit(&srcimp_mgr->mgr);
865 kfree(srcimp_mgr);
869 int srcimp_mgr_destroy(struct srcimp_mgr *srcimp_mgr)
874 spin_lock_irqsave(&srcimp_mgr->imap_lock, flags);
875 free_input_mapper_list(&srcimp_mgr->imappers);
876 spin_unlock_irqrestore(&srcimp_mgr->imap_lock, flags);
878 rsc_mgr_uninit(&srcimp_mgr->mgr);
879 kfree(srcimp_mgr);