Lines Matching refs:sum
96 static int amixer_set_sum(struct amixer *amixer, struct sum *sum) in amixer_set_sum() argument
101 amixer->sum = sum; in amixer_set_sum()
102 if (!sum) { in amixer_set_sum()
107 sum->rsc.ops->index(&sum->rsc)); in amixer_set_sum()
119 struct sum *sum; in amixer_commit_write() local
123 sum = amixer->sum; in amixer_commit_write()
130 if (sum) in amixer_commit_write()
131 sum->rsc.ops->master(&sum->rsc); in amixer_commit_write()
140 if (sum) { in amixer_commit_write()
142 sum->rsc.ops->index(&sum->rsc)); in amixer_commit_write()
143 sum->rsc.ops->next_conj(&sum->rsc); in amixer_commit_write()
153 if (sum) in amixer_commit_write()
154 sum->rsc.ops->master(&sum->rsc); in amixer_commit_write()
180 unsigned int scale, struct sum *sum) in amixer_setup() argument
184 amixer_set_sum(amixer, sum); in amixer_setup()
215 amixer->sum = NULL; in amixer_rsc_init()
228 amixer->sum = NULL; in amixer_rsc_uninit()
341 return rsc->idx = container_of(rsc, struct sum, rsc)->idx[0]; in sum_master()
347 return container_of(rsc, struct sum, rsc)->idx[rsc->conj]; in sum_next_conj()
352 return container_of(rsc, struct sum, rsc)->idx[rsc->conj]; in sum_index()
367 static int sum_rsc_init(struct sum *sum, in sum_rsc_init() argument
373 err = rsc_init(&sum->rsc, sum->idx[0], SUM, desc->msr, mgr->mgr.hw); in sum_rsc_init()
377 sum->rsc.ops = &sum_basic_rsc_ops; in sum_rsc_init()
382 static int sum_rsc_uninit(struct sum *sum) in sum_rsc_uninit() argument
384 rsc_uninit(&sum->rsc); in sum_rsc_uninit()
390 struct sum **rsum) in get_sum_rsc()
394 struct sum *sum; in get_sum_rsc() local
400 sum = kzalloc(sizeof(*sum), GFP_KERNEL); in get_sum_rsc()
401 if (!sum) in get_sum_rsc()
412 sum->idx[i] = idx; in get_sum_rsc()
421 err = sum_rsc_init(sum, desc, mgr); in get_sum_rsc()
425 *rsum = sum; in get_sum_rsc()
432 mgr_put_resource(&mgr->mgr, 1, sum->idx[i]); in get_sum_rsc()
435 kfree(sum); in get_sum_rsc()
439 static int put_sum_rsc(struct sum_mgr *mgr, struct sum *sum) in put_sum_rsc() argument
445 for (i = 0; i < sum->rsc.msr; i++) in put_sum_rsc()
446 mgr_put_resource(&mgr->mgr, 1, sum->idx[i]); in put_sum_rsc()
449 sum_rsc_uninit(sum); in put_sum_rsc()
450 kfree(sum); in put_sum_rsc()