Lines Matching refs:component

18 static inline int _soc_component_ret(struct snd_soc_component *component,  in _soc_component_ret()  argument
32 dev_err(component->dev, in _soc_component_ret()
34 func, component->name, ret); in _soc_component_ret()
36 dev_err(component->dev, in _soc_component_ret()
38 func, component->name, reg, ret); in _soc_component_ret()
44 static inline int soc_component_field_shift(struct snd_soc_component *component, in soc_component_field_shift() argument
48 dev_err(component->dev, "ASoC: error field mask is zero for %s\n", in soc_component_field_shift()
49 component->name); in soc_component_field_shift()
60 #define soc_component_mark_push(component, substream, tgt) ((component)->mark_##tgt = substream) argument
61 #define soc_component_mark_pop(component, substream, tgt) ((component)->mark_##tgt = NULL) argument
62 #define soc_component_mark_match(component, substream, tgt) ((component)->mark_##tgt == substream) argument
64 void snd_soc_component_set_aux(struct snd_soc_component *component, in snd_soc_component_set_aux() argument
67 component->init = (aux) ? aux->init : NULL; in snd_soc_component_set_aux()
70 int snd_soc_component_init(struct snd_soc_component *component) in snd_soc_component_init() argument
74 if (component->init) in snd_soc_component_init()
75 ret = component->init(component); in snd_soc_component_init()
77 return soc_component_ret(component, ret); in snd_soc_component_init()
90 int snd_soc_component_set_sysclk(struct snd_soc_component *component, in snd_soc_component_set_sysclk() argument
96 if (component->driver->set_sysclk) in snd_soc_component_set_sysclk()
97 ret = component->driver->set_sysclk(component, clk_id, source, in snd_soc_component_set_sysclk()
100 return soc_component_ret(component, ret); in snd_soc_component_set_sysclk()
114 int snd_soc_component_set_pll(struct snd_soc_component *component, int pll_id, in snd_soc_component_set_pll() argument
120 if (component->driver->set_pll) in snd_soc_component_set_pll()
121 ret = component->driver->set_pll(component, pll_id, source, in snd_soc_component_set_pll()
124 return soc_component_ret(component, ret); in snd_soc_component_set_pll()
128 void snd_soc_component_seq_notifier(struct snd_soc_component *component, in snd_soc_component_seq_notifier() argument
131 if (component->driver->seq_notifier) in snd_soc_component_seq_notifier()
132 component->driver->seq_notifier(component, type, subseq); in snd_soc_component_seq_notifier()
135 int snd_soc_component_stream_event(struct snd_soc_component *component, in snd_soc_component_stream_event() argument
140 if (component->driver->stream_event) in snd_soc_component_stream_event()
141 ret = component->driver->stream_event(component, event); in snd_soc_component_stream_event()
143 return soc_component_ret(component, ret); in snd_soc_component_stream_event()
146 int snd_soc_component_set_bias_level(struct snd_soc_component *component, in snd_soc_component_set_bias_level() argument
151 if (component->driver->set_bias_level) in snd_soc_component_set_bias_level()
152 ret = component->driver->set_bias_level(component, level); in snd_soc_component_set_bias_level()
154 return soc_component_ret(component, ret); in snd_soc_component_set_bias_level()
157 int snd_soc_component_enable_pin(struct snd_soc_component *component, in snd_soc_component_enable_pin() argument
161 snd_soc_component_get_dapm(component); in snd_soc_component_enable_pin()
166 int snd_soc_component_enable_pin_unlocked(struct snd_soc_component *component, in snd_soc_component_enable_pin_unlocked() argument
170 snd_soc_component_get_dapm(component); in snd_soc_component_enable_pin_unlocked()
175 int snd_soc_component_disable_pin(struct snd_soc_component *component, in snd_soc_component_disable_pin() argument
179 snd_soc_component_get_dapm(component); in snd_soc_component_disable_pin()
184 int snd_soc_component_disable_pin_unlocked(struct snd_soc_component *component, in snd_soc_component_disable_pin_unlocked() argument
188 snd_soc_component_get_dapm(component); in snd_soc_component_disable_pin_unlocked()
193 int snd_soc_component_nc_pin(struct snd_soc_component *component, in snd_soc_component_nc_pin() argument
197 snd_soc_component_get_dapm(component); in snd_soc_component_nc_pin()
202 int snd_soc_component_nc_pin_unlocked(struct snd_soc_component *component, in snd_soc_component_nc_pin_unlocked() argument
206 snd_soc_component_get_dapm(component); in snd_soc_component_nc_pin_unlocked()
211 int snd_soc_component_get_pin_status(struct snd_soc_component *component, in snd_soc_component_get_pin_status() argument
215 snd_soc_component_get_dapm(component); in snd_soc_component_get_pin_status()
220 int snd_soc_component_force_enable_pin(struct snd_soc_component *component, in snd_soc_component_force_enable_pin() argument
224 snd_soc_component_get_dapm(component); in snd_soc_component_force_enable_pin()
230 struct snd_soc_component *component, in snd_soc_component_force_enable_pin_unlocked() argument
234 snd_soc_component_get_dapm(component); in snd_soc_component_force_enable_pin_unlocked()
247 int snd_soc_component_set_jack(struct snd_soc_component *component, in snd_soc_component_set_jack() argument
252 if (component->driver->set_jack) in snd_soc_component_set_jack()
253 ret = component->driver->set_jack(component, jack, data); in snd_soc_component_set_jack()
255 return soc_component_ret(component, ret); in snd_soc_component_set_jack()
259 int snd_soc_component_module_get(struct snd_soc_component *component, in snd_soc_component_module_get() argument
264 if (component->driver->module_get_upon_open == !!upon_open && in snd_soc_component_module_get()
265 !try_module_get(component->dev->driver->owner)) in snd_soc_component_module_get()
270 soc_component_mark_push(component, mark, module); in snd_soc_component_module_get()
272 return soc_component_ret(component, ret); in snd_soc_component_module_get()
275 void snd_soc_component_module_put(struct snd_soc_component *component, in snd_soc_component_module_put() argument
278 if (rollback && !soc_component_mark_match(component, mark, module)) in snd_soc_component_module_put()
281 if (component->driver->module_get_upon_open == !!upon_open) in snd_soc_component_module_put()
282 module_put(component->dev->driver->owner); in snd_soc_component_module_put()
285 soc_component_mark_pop(component, mark, module); in snd_soc_component_module_put()
288 int snd_soc_component_open(struct snd_soc_component *component, in snd_soc_component_open() argument
293 if (component->driver->open) in snd_soc_component_open()
294 ret = component->driver->open(component, substream); in snd_soc_component_open()
298 soc_component_mark_push(component, substream, open); in snd_soc_component_open()
300 return soc_component_ret(component, ret); in snd_soc_component_open()
303 int snd_soc_component_close(struct snd_soc_component *component, in snd_soc_component_close() argument
309 if (rollback && !soc_component_mark_match(component, substream, open)) in snd_soc_component_close()
312 if (component->driver->close) in snd_soc_component_close()
313 ret = component->driver->close(component, substream); in snd_soc_component_close()
316 soc_component_mark_pop(component, substream, open); in snd_soc_component_close()
318 return soc_component_ret(component, ret); in snd_soc_component_close()
321 void snd_soc_component_suspend(struct snd_soc_component *component) in snd_soc_component_suspend() argument
323 if (component->driver->suspend) in snd_soc_component_suspend()
324 component->driver->suspend(component); in snd_soc_component_suspend()
325 component->suspended = 1; in snd_soc_component_suspend()
328 void snd_soc_component_resume(struct snd_soc_component *component) in snd_soc_component_resume() argument
330 if (component->driver->resume) in snd_soc_component_resume()
331 component->driver->resume(component); in snd_soc_component_resume()
332 component->suspended = 0; in snd_soc_component_resume()
335 int snd_soc_component_is_suspended(struct snd_soc_component *component) in snd_soc_component_is_suspended() argument
337 return component->suspended; in snd_soc_component_is_suspended()
340 int snd_soc_component_probe(struct snd_soc_component *component) in snd_soc_component_probe() argument
344 if (component->driver->probe) in snd_soc_component_probe()
345 ret = component->driver->probe(component); in snd_soc_component_probe()
347 return soc_component_ret(component, ret); in snd_soc_component_probe()
350 void snd_soc_component_remove(struct snd_soc_component *component) in snd_soc_component_remove() argument
352 if (component->driver->remove) in snd_soc_component_remove()
353 component->driver->remove(component); in snd_soc_component_remove()
356 int snd_soc_component_of_xlate_dai_id(struct snd_soc_component *component, in snd_soc_component_of_xlate_dai_id() argument
361 if (component->driver->of_xlate_dai_id) in snd_soc_component_of_xlate_dai_id()
362 ret = component->driver->of_xlate_dai_id(component, ep); in snd_soc_component_of_xlate_dai_id()
364 return soc_component_ret(component, ret); in snd_soc_component_of_xlate_dai_id()
367 int snd_soc_component_of_xlate_dai_name(struct snd_soc_component *component, in snd_soc_component_of_xlate_dai_name() argument
371 if (component->driver->of_xlate_dai_name) in snd_soc_component_of_xlate_dai_name()
372 return component->driver->of_xlate_dai_name(component, in snd_soc_component_of_xlate_dai_name()
382 void snd_soc_component_setup_regmap(struct snd_soc_component *component) in snd_soc_component_setup_regmap() argument
384 int val_bytes = regmap_get_val_bytes(component->regmap); in snd_soc_component_setup_regmap()
388 component->val_bytes = val_bytes; in snd_soc_component_setup_regmap()
404 void snd_soc_component_init_regmap(struct snd_soc_component *component, in snd_soc_component_init_regmap() argument
407 component->regmap = regmap; in snd_soc_component_init_regmap()
408 snd_soc_component_setup_regmap(component); in snd_soc_component_init_regmap()
423 void snd_soc_component_exit_regmap(struct snd_soc_component *component) in snd_soc_component_exit_regmap() argument
425 regmap_exit(component->regmap); in snd_soc_component_exit_regmap()
426 component->regmap = NULL; in snd_soc_component_exit_regmap()
432 int snd_soc_component_compr_open(struct snd_soc_component *component, in snd_soc_component_compr_open() argument
437 if (component->driver->compress_ops && in snd_soc_component_compr_open()
438 component->driver->compress_ops->open) in snd_soc_component_compr_open()
439 ret = component->driver->compress_ops->open(component, cstream); in snd_soc_component_compr_open()
443 soc_component_mark_push(component, cstream, compr_open); in snd_soc_component_compr_open()
445 return soc_component_ret(component, ret); in snd_soc_component_compr_open()
449 void snd_soc_component_compr_free(struct snd_soc_component *component, in snd_soc_component_compr_free() argument
453 if (rollback && !soc_component_mark_match(component, cstream, compr_open)) in snd_soc_component_compr_free()
456 if (component->driver->compress_ops && in snd_soc_component_compr_free()
457 component->driver->compress_ops->free) in snd_soc_component_compr_free()
458 component->driver->compress_ops->free(component, cstream); in snd_soc_component_compr_free()
461 soc_component_mark_pop(component, cstream, compr_open); in snd_soc_component_compr_free()
468 struct snd_soc_component *component; in snd_soc_component_compr_trigger() local
471 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_trigger()
472 if (component->driver->compress_ops && in snd_soc_component_compr_trigger()
473 component->driver->compress_ops->trigger) { in snd_soc_component_compr_trigger()
474 ret = component->driver->compress_ops->trigger( in snd_soc_component_compr_trigger()
475 component, cstream, cmd); in snd_soc_component_compr_trigger()
477 return soc_component_ret(component, ret); in snd_soc_component_compr_trigger()
489 struct snd_soc_component *component; in snd_soc_component_compr_set_params() local
492 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_set_params()
493 if (component->driver->compress_ops && in snd_soc_component_compr_set_params()
494 component->driver->compress_ops->set_params) { in snd_soc_component_compr_set_params()
495 ret = component->driver->compress_ops->set_params( in snd_soc_component_compr_set_params()
496 component, cstream, params); in snd_soc_component_compr_set_params()
498 return soc_component_ret(component, ret); in snd_soc_component_compr_set_params()
510 struct snd_soc_component *component; in snd_soc_component_compr_get_params() local
513 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_get_params()
514 if (component->driver->compress_ops && in snd_soc_component_compr_get_params()
515 component->driver->compress_ops->get_params) { in snd_soc_component_compr_get_params()
516 ret = component->driver->compress_ops->get_params( in snd_soc_component_compr_get_params()
517 component, cstream, params); in snd_soc_component_compr_get_params()
518 return soc_component_ret(component, ret); in snd_soc_component_compr_get_params()
530 struct snd_soc_component *component; in snd_soc_component_compr_get_caps() local
535 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_get_caps()
536 if (component->driver->compress_ops && in snd_soc_component_compr_get_caps()
537 component->driver->compress_ops->get_caps) { in snd_soc_component_compr_get_caps()
538 ret = component->driver->compress_ops->get_caps( in snd_soc_component_compr_get_caps()
539 component, cstream, caps); in snd_soc_component_compr_get_caps()
546 return soc_component_ret(component, ret); in snd_soc_component_compr_get_caps()
554 struct snd_soc_component *component; in snd_soc_component_compr_get_codec_caps() local
559 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_get_codec_caps()
560 if (component->driver->compress_ops && in snd_soc_component_compr_get_codec_caps()
561 component->driver->compress_ops->get_codec_caps) { in snd_soc_component_compr_get_codec_caps()
562 ret = component->driver->compress_ops->get_codec_caps( in snd_soc_component_compr_get_codec_caps()
563 component, cstream, codec); in snd_soc_component_compr_get_codec_caps()
570 return soc_component_ret(component, ret); in snd_soc_component_compr_get_codec_caps()
577 struct snd_soc_component *component; in snd_soc_component_compr_ack() local
580 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_ack()
581 if (component->driver->compress_ops && in snd_soc_component_compr_ack()
582 component->driver->compress_ops->ack) { in snd_soc_component_compr_ack()
583 ret = component->driver->compress_ops->ack( in snd_soc_component_compr_ack()
584 component, cstream, bytes); in snd_soc_component_compr_ack()
586 return soc_component_ret(component, ret); in snd_soc_component_compr_ack()
598 struct snd_soc_component *component; in snd_soc_component_compr_pointer() local
601 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_pointer()
602 if (component->driver->compress_ops && in snd_soc_component_compr_pointer()
603 component->driver->compress_ops->pointer) { in snd_soc_component_compr_pointer()
604 ret = component->driver->compress_ops->pointer( in snd_soc_component_compr_pointer()
605 component, cstream, tstamp); in snd_soc_component_compr_pointer()
606 return soc_component_ret(component, ret); in snd_soc_component_compr_pointer()
618 struct snd_soc_component *component; in snd_soc_component_compr_copy() local
623 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_copy()
624 if (component->driver->compress_ops && in snd_soc_component_compr_copy()
625 component->driver->compress_ops->copy) { in snd_soc_component_compr_copy()
626 ret = component->driver->compress_ops->copy( in snd_soc_component_compr_copy()
627 component, cstream, buf, count); in snd_soc_component_compr_copy()
634 return soc_component_ret(component, ret); in snd_soc_component_compr_copy()
642 struct snd_soc_component *component; in snd_soc_component_compr_set_metadata() local
645 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_set_metadata()
646 if (component->driver->compress_ops && in snd_soc_component_compr_set_metadata()
647 component->driver->compress_ops->set_metadata) { in snd_soc_component_compr_set_metadata()
648 ret = component->driver->compress_ops->set_metadata( in snd_soc_component_compr_set_metadata()
649 component, cstream, metadata); in snd_soc_component_compr_set_metadata()
651 return soc_component_ret(component, ret); in snd_soc_component_compr_set_metadata()
663 struct snd_soc_component *component; in snd_soc_component_compr_get_metadata() local
666 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_get_metadata()
667 if (component->driver->compress_ops && in snd_soc_component_compr_get_metadata()
668 component->driver->compress_ops->get_metadata) { in snd_soc_component_compr_get_metadata()
669 ret = component->driver->compress_ops->get_metadata( in snd_soc_component_compr_get_metadata()
670 component, cstream, metadata); in snd_soc_component_compr_get_metadata()
671 return soc_component_ret(component, ret); in snd_soc_component_compr_get_metadata()
680 struct snd_soc_component *component, in soc_component_read_no_lock() argument
686 if (component->regmap) in soc_component_read_no_lock()
687 ret = regmap_read(component->regmap, reg, &val); in soc_component_read_no_lock()
688 else if (component->driver->read) { in soc_component_read_no_lock()
690 val = component->driver->read(component, reg); in soc_component_read_no_lock()
696 return soc_component_ret_reg_rw(component, ret, reg); in soc_component_read_no_lock()
708 unsigned int snd_soc_component_read(struct snd_soc_component *component, in snd_soc_component_read() argument
713 mutex_lock(&component->io_mutex); in snd_soc_component_read()
714 val = soc_component_read_no_lock(component, reg); in snd_soc_component_read()
715 mutex_unlock(&component->io_mutex); in snd_soc_component_read()
722 struct snd_soc_component *component, in soc_component_write_no_lock() argument
727 if (component->regmap) in soc_component_write_no_lock()
728 ret = regmap_write(component->regmap, reg, val); in soc_component_write_no_lock()
729 else if (component->driver->write) in soc_component_write_no_lock()
730 ret = component->driver->write(component, reg, val); in soc_component_write_no_lock()
732 return soc_component_ret_reg_rw(component, ret, reg); in soc_component_write_no_lock()
743 int snd_soc_component_write(struct snd_soc_component *component, in snd_soc_component_write() argument
748 mutex_lock(&component->io_mutex); in snd_soc_component_write()
749 ret = soc_component_write_no_lock(component, reg, val); in snd_soc_component_write()
750 mutex_unlock(&component->io_mutex); in snd_soc_component_write()
757 struct snd_soc_component *component, unsigned int reg, in snd_soc_component_update_bits_legacy() argument
763 mutex_lock(&component->io_mutex); in snd_soc_component_update_bits_legacy()
765 old = soc_component_read_no_lock(component, reg); in snd_soc_component_update_bits_legacy()
770 ret = soc_component_write_no_lock(component, reg, new); in snd_soc_component_update_bits_legacy()
772 mutex_unlock(&component->io_mutex); in snd_soc_component_update_bits_legacy()
774 return soc_component_ret_reg_rw(component, ret, reg); in snd_soc_component_update_bits_legacy()
788 int snd_soc_component_update_bits(struct snd_soc_component *component, in snd_soc_component_update_bits() argument
794 if (component->regmap) in snd_soc_component_update_bits()
795 ret = regmap_update_bits_check(component->regmap, reg, mask, in snd_soc_component_update_bits()
798 ret = snd_soc_component_update_bits_legacy(component, reg, in snd_soc_component_update_bits()
802 return soc_component_ret_reg_rw(component, ret, reg); in snd_soc_component_update_bits()
824 int snd_soc_component_update_bits_async(struct snd_soc_component *component, in snd_soc_component_update_bits_async() argument
830 if (component->regmap) in snd_soc_component_update_bits_async()
831 ret = regmap_update_bits_check_async(component->regmap, reg, in snd_soc_component_update_bits_async()
834 ret = snd_soc_component_update_bits_legacy(component, reg, in snd_soc_component_update_bits_async()
838 return soc_component_ret_reg_rw(component, ret, reg); in snd_soc_component_update_bits_async()
851 unsigned int snd_soc_component_read_field(struct snd_soc_component *component, in snd_soc_component_read_field() argument
856 val = snd_soc_component_read(component, reg); in snd_soc_component_read_field()
858 val = (val & mask) >> soc_component_field_shift(component, mask); in snd_soc_component_read_field()
873 int snd_soc_component_write_field(struct snd_soc_component *component, in snd_soc_component_write_field() argument
878 val = (val << soc_component_field_shift(component, mask)) & mask; in snd_soc_component_write_field()
880 return snd_soc_component_update_bits(component, reg, mask, val); in snd_soc_component_write_field()
891 void snd_soc_component_async_complete(struct snd_soc_component *component) in snd_soc_component_async_complete() argument
893 if (component->regmap) in snd_soc_component_async_complete()
894 regmap_async_complete(component->regmap); in snd_soc_component_async_complete()
910 int snd_soc_component_test_bits(struct snd_soc_component *component, in snd_soc_component_test_bits() argument
915 old = snd_soc_component_read(component, reg); in snd_soc_component_test_bits()
924 struct snd_soc_component *component; in snd_soc_pcm_component_pointer() local
928 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_pointer()
929 if (component->driver->pointer) in snd_soc_pcm_component_pointer()
930 return component->driver->pointer(component, substream); in snd_soc_pcm_component_pointer()
936 struct snd_soc_component *component) in snd_soc_component_is_codec_on_rtd() argument
942 if (dai->component == component) in snd_soc_component_is_codec_on_rtd()
954 struct snd_soc_component *component; in snd_soc_pcm_component_delay() local
964 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_delay()
965 if (!component->driver->delay) in snd_soc_pcm_component_delay()
968 delay = component->driver->delay(component, substream); in snd_soc_pcm_component_delay()
970 if (snd_soc_component_is_codec_on_rtd(rtd, component)) in snd_soc_pcm_component_delay()
981 struct snd_soc_component *component; in snd_soc_pcm_component_ioctl() local
985 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_ioctl()
986 if (component->driver->ioctl) in snd_soc_pcm_component_ioctl()
988 component, in snd_soc_pcm_component_ioctl()
989 component->driver->ioctl(component, in snd_soc_pcm_component_ioctl()
998 struct snd_soc_component *component; in snd_soc_pcm_component_sync_stop() local
1001 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_sync_stop()
1002 if (component->driver->sync_stop) { in snd_soc_pcm_component_sync_stop()
1003 ret = component->driver->sync_stop(component, in snd_soc_pcm_component_sync_stop()
1006 return soc_component_ret(component, ret); in snd_soc_pcm_component_sync_stop()
1018 struct snd_soc_component *component; in snd_soc_pcm_component_copy_user() local
1022 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_copy_user()
1023 if (component->driver->copy_user) in snd_soc_pcm_component_copy_user()
1025 component, in snd_soc_pcm_component_copy_user()
1026 component->driver->copy_user( in snd_soc_pcm_component_copy_user()
1027 component, substream, channel, in snd_soc_pcm_component_copy_user()
1037 struct snd_soc_component *component; in snd_soc_pcm_component_page() local
1042 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_page()
1043 if (component->driver->page) { in snd_soc_pcm_component_page()
1044 page = component->driver->page(component, in snd_soc_pcm_component_page()
1058 struct snd_soc_component *component; in snd_soc_pcm_component_mmap() local
1062 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_mmap()
1063 if (component->driver->mmap) in snd_soc_pcm_component_mmap()
1065 component, in snd_soc_pcm_component_mmap()
1066 component->driver->mmap(component, in snd_soc_pcm_component_mmap()
1074 struct snd_soc_component *component; in snd_soc_pcm_component_new() local
1078 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_new()
1079 if (component->driver->pcm_construct) { in snd_soc_pcm_component_new()
1080 ret = component->driver->pcm_construct(component, rtd); in snd_soc_pcm_component_new()
1082 return soc_component_ret(component, ret); in snd_soc_pcm_component_new()
1091 struct snd_soc_component *component; in snd_soc_pcm_component_free() local
1097 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_free()
1098 if (component->driver->pcm_destruct) in snd_soc_pcm_component_free()
1099 component->driver->pcm_destruct(component, rtd->pcm); in snd_soc_pcm_component_free()
1105 struct snd_soc_component *component; in snd_soc_pcm_component_prepare() local
1108 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_prepare()
1109 if (component->driver->prepare) { in snd_soc_pcm_component_prepare()
1110 ret = component->driver->prepare(component, substream); in snd_soc_pcm_component_prepare()
1112 return soc_component_ret(component, ret); in snd_soc_pcm_component_prepare()
1123 struct snd_soc_component *component; in snd_soc_pcm_component_hw_params() local
1126 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_hw_params()
1127 if (component->driver->hw_params) { in snd_soc_pcm_component_hw_params()
1128 ret = component->driver->hw_params(component, in snd_soc_pcm_component_hw_params()
1131 return soc_component_ret(component, ret); in snd_soc_pcm_component_hw_params()
1134 soc_component_mark_push(component, substream, hw_params); in snd_soc_pcm_component_hw_params()
1144 struct snd_soc_component *component; in snd_soc_pcm_component_hw_free() local
1147 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_hw_free()
1148 if (rollback && !soc_component_mark_match(component, substream, hw_params)) in snd_soc_pcm_component_hw_free()
1151 if (component->driver->hw_free) { in snd_soc_pcm_component_hw_free()
1152 ret = component->driver->hw_free(component, substream); in snd_soc_pcm_component_hw_free()
1154 soc_component_ret(component, ret); in snd_soc_pcm_component_hw_free()
1158 soc_component_mark_pop(component, substream, hw_params); in snd_soc_pcm_component_hw_free()
1162 static int soc_component_trigger(struct snd_soc_component *component, in soc_component_trigger() argument
1168 if (component->driver->trigger) in soc_component_trigger()
1169 ret = component->driver->trigger(component, substream, cmd); in soc_component_trigger()
1171 return soc_component_ret(component, ret); in soc_component_trigger()
1178 struct snd_soc_component *component; in snd_soc_pcm_component_trigger() local
1185 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_trigger()
1186 ret = soc_component_trigger(component, substream, cmd); in snd_soc_pcm_component_trigger()
1189 soc_component_mark_push(component, substream, trigger); in snd_soc_pcm_component_trigger()
1195 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_trigger()
1196 if (rollback && !soc_component_mark_match(component, substream, trigger)) in snd_soc_pcm_component_trigger()
1199 r = soc_component_trigger(component, substream, cmd); in snd_soc_pcm_component_trigger()
1202 soc_component_mark_pop(component, substream, trigger); in snd_soc_pcm_component_trigger()
1212 struct snd_soc_component *component; in snd_soc_pcm_component_pm_runtime_get() local
1215 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_pm_runtime_get()
1216 int ret = pm_runtime_get_sync(component->dev); in snd_soc_pcm_component_pm_runtime_get()
1218 pm_runtime_put_noidle(component->dev); in snd_soc_pcm_component_pm_runtime_get()
1219 return soc_component_ret(component, ret); in snd_soc_pcm_component_pm_runtime_get()
1222 soc_component_mark_push(component, stream, pm); in snd_soc_pcm_component_pm_runtime_get()
1231 struct snd_soc_component *component; in snd_soc_pcm_component_pm_runtime_put() local
1234 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_pm_runtime_put()
1235 if (rollback && !soc_component_mark_match(component, stream, pm)) in snd_soc_pcm_component_pm_runtime_put()
1238 pm_runtime_mark_last_busy(component->dev); in snd_soc_pcm_component_pm_runtime_put()
1239 pm_runtime_put_autosuspend(component->dev); in snd_soc_pcm_component_pm_runtime_put()
1242 soc_component_mark_pop(component, stream, pm); in snd_soc_pcm_component_pm_runtime_put()
1249 struct snd_soc_component *component; in snd_soc_pcm_component_ack() local
1253 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_ack()
1254 if (component->driver->ack) in snd_soc_pcm_component_ack()
1255 return component->driver->ack(component, substream); in snd_soc_pcm_component_ack()