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()
268 struct snd_soc_component *component) in snd_soc_component_get_jack_type() argument
272 if (component->driver->get_jack_type) in snd_soc_component_get_jack_type()
273 ret = component->driver->get_jack_type(component); in snd_soc_component_get_jack_type()
275 return soc_component_ret(component, ret); in snd_soc_component_get_jack_type()
279 int snd_soc_component_module_get(struct snd_soc_component *component, in snd_soc_component_module_get() argument
284 if (component->driver->module_get_upon_open == !!upon_open && in snd_soc_component_module_get()
285 !try_module_get(component->dev->driver->owner)) in snd_soc_component_module_get()
290 soc_component_mark_push(component, mark, module); in snd_soc_component_module_get()
292 return soc_component_ret(component, ret); in snd_soc_component_module_get()
295 void snd_soc_component_module_put(struct snd_soc_component *component, in snd_soc_component_module_put() argument
298 if (rollback && !soc_component_mark_match(component, mark, module)) in snd_soc_component_module_put()
301 if (component->driver->module_get_upon_open == !!upon_open) in snd_soc_component_module_put()
302 module_put(component->dev->driver->owner); in snd_soc_component_module_put()
305 soc_component_mark_pop(component, mark, module); in snd_soc_component_module_put()
308 int snd_soc_component_open(struct snd_soc_component *component, in snd_soc_component_open() argument
313 if (component->driver->open) in snd_soc_component_open()
314 ret = component->driver->open(component, substream); in snd_soc_component_open()
318 soc_component_mark_push(component, substream, open); in snd_soc_component_open()
320 return soc_component_ret(component, ret); in snd_soc_component_open()
323 int snd_soc_component_close(struct snd_soc_component *component, in snd_soc_component_close() argument
329 if (rollback && !soc_component_mark_match(component, substream, open)) in snd_soc_component_close()
332 if (component->driver->close) in snd_soc_component_close()
333 ret = component->driver->close(component, substream); in snd_soc_component_close()
336 soc_component_mark_pop(component, substream, open); in snd_soc_component_close()
338 return soc_component_ret(component, ret); in snd_soc_component_close()
341 void snd_soc_component_suspend(struct snd_soc_component *component) in snd_soc_component_suspend() argument
343 if (component->driver->suspend) in snd_soc_component_suspend()
344 component->driver->suspend(component); in snd_soc_component_suspend()
345 component->suspended = 1; in snd_soc_component_suspend()
348 void snd_soc_component_resume(struct snd_soc_component *component) in snd_soc_component_resume() argument
350 if (component->driver->resume) in snd_soc_component_resume()
351 component->driver->resume(component); in snd_soc_component_resume()
352 component->suspended = 0; in snd_soc_component_resume()
355 int snd_soc_component_is_suspended(struct snd_soc_component *component) in snd_soc_component_is_suspended() argument
357 return component->suspended; in snd_soc_component_is_suspended()
360 int snd_soc_component_probe(struct snd_soc_component *component) in snd_soc_component_probe() argument
364 if (component->driver->probe) in snd_soc_component_probe()
365 ret = component->driver->probe(component); in snd_soc_component_probe()
367 return soc_component_ret(component, ret); in snd_soc_component_probe()
370 void snd_soc_component_remove(struct snd_soc_component *component) in snd_soc_component_remove() argument
372 if (component->driver->remove) in snd_soc_component_remove()
373 component->driver->remove(component); in snd_soc_component_remove()
376 int snd_soc_component_of_xlate_dai_id(struct snd_soc_component *component, in snd_soc_component_of_xlate_dai_id() argument
381 if (component->driver->of_xlate_dai_id) in snd_soc_component_of_xlate_dai_id()
382 ret = component->driver->of_xlate_dai_id(component, ep); in snd_soc_component_of_xlate_dai_id()
384 return soc_component_ret(component, ret); in snd_soc_component_of_xlate_dai_id()
387 int snd_soc_component_of_xlate_dai_name(struct snd_soc_component *component, in snd_soc_component_of_xlate_dai_name() argument
391 if (component->driver->of_xlate_dai_name) in snd_soc_component_of_xlate_dai_name()
392 return component->driver->of_xlate_dai_name(component, in snd_soc_component_of_xlate_dai_name()
402 void snd_soc_component_setup_regmap(struct snd_soc_component *component) in snd_soc_component_setup_regmap() argument
404 int val_bytes = regmap_get_val_bytes(component->regmap); in snd_soc_component_setup_regmap()
408 component->val_bytes = val_bytes; in snd_soc_component_setup_regmap()
424 void snd_soc_component_init_regmap(struct snd_soc_component *component, in snd_soc_component_init_regmap() argument
427 component->regmap = regmap; in snd_soc_component_init_regmap()
428 snd_soc_component_setup_regmap(component); in snd_soc_component_init_regmap()
443 void snd_soc_component_exit_regmap(struct snd_soc_component *component) in snd_soc_component_exit_regmap() argument
445 regmap_exit(component->regmap); in snd_soc_component_exit_regmap()
446 component->regmap = NULL; in snd_soc_component_exit_regmap()
452 int snd_soc_component_compr_open(struct snd_soc_component *component, in snd_soc_component_compr_open() argument
457 if (component->driver->compress_ops && in snd_soc_component_compr_open()
458 component->driver->compress_ops->open) in snd_soc_component_compr_open()
459 ret = component->driver->compress_ops->open(component, cstream); in snd_soc_component_compr_open()
463 soc_component_mark_push(component, cstream, compr_open); in snd_soc_component_compr_open()
465 return soc_component_ret(component, ret); in snd_soc_component_compr_open()
469 void snd_soc_component_compr_free(struct snd_soc_component *component, in snd_soc_component_compr_free() argument
473 if (rollback && !soc_component_mark_match(component, cstream, compr_open)) in snd_soc_component_compr_free()
476 if (component->driver->compress_ops && in snd_soc_component_compr_free()
477 component->driver->compress_ops->free) in snd_soc_component_compr_free()
478 component->driver->compress_ops->free(component, cstream); in snd_soc_component_compr_free()
481 soc_component_mark_pop(component, cstream, compr_open); in snd_soc_component_compr_free()
488 struct snd_soc_component *component; in snd_soc_component_compr_trigger() local
491 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_trigger()
492 if (component->driver->compress_ops && in snd_soc_component_compr_trigger()
493 component->driver->compress_ops->trigger) { in snd_soc_component_compr_trigger()
494 ret = component->driver->compress_ops->trigger( in snd_soc_component_compr_trigger()
495 component, cstream, cmd); in snd_soc_component_compr_trigger()
497 return soc_component_ret(component, ret); in snd_soc_component_compr_trigger()
509 struct snd_soc_component *component; in snd_soc_component_compr_set_params() local
512 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_set_params()
513 if (component->driver->compress_ops && in snd_soc_component_compr_set_params()
514 component->driver->compress_ops->set_params) { in snd_soc_component_compr_set_params()
515 ret = component->driver->compress_ops->set_params( in snd_soc_component_compr_set_params()
516 component, cstream, params); in snd_soc_component_compr_set_params()
518 return soc_component_ret(component, ret); in snd_soc_component_compr_set_params()
530 struct snd_soc_component *component; in snd_soc_component_compr_get_params() local
533 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_get_params()
534 if (component->driver->compress_ops && in snd_soc_component_compr_get_params()
535 component->driver->compress_ops->get_params) { in snd_soc_component_compr_get_params()
536 ret = component->driver->compress_ops->get_params( in snd_soc_component_compr_get_params()
537 component, cstream, params); in snd_soc_component_compr_get_params()
538 return soc_component_ret(component, ret); in snd_soc_component_compr_get_params()
550 struct snd_soc_component *component; in snd_soc_component_compr_get_caps() local
555 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_get_caps()
556 if (component->driver->compress_ops && in snd_soc_component_compr_get_caps()
557 component->driver->compress_ops->get_caps) { in snd_soc_component_compr_get_caps()
558 ret = component->driver->compress_ops->get_caps( in snd_soc_component_compr_get_caps()
559 component, cstream, caps); in snd_soc_component_compr_get_caps()
566 return soc_component_ret(component, ret); in snd_soc_component_compr_get_caps()
574 struct snd_soc_component *component; in snd_soc_component_compr_get_codec_caps() local
579 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_get_codec_caps()
580 if (component->driver->compress_ops && in snd_soc_component_compr_get_codec_caps()
581 component->driver->compress_ops->get_codec_caps) { in snd_soc_component_compr_get_codec_caps()
582 ret = component->driver->compress_ops->get_codec_caps( in snd_soc_component_compr_get_codec_caps()
583 component, cstream, codec); in snd_soc_component_compr_get_codec_caps()
590 return soc_component_ret(component, ret); in snd_soc_component_compr_get_codec_caps()
597 struct snd_soc_component *component; in snd_soc_component_compr_ack() local
600 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_ack()
601 if (component->driver->compress_ops && in snd_soc_component_compr_ack()
602 component->driver->compress_ops->ack) { in snd_soc_component_compr_ack()
603 ret = component->driver->compress_ops->ack( in snd_soc_component_compr_ack()
604 component, cstream, bytes); in snd_soc_component_compr_ack()
606 return soc_component_ret(component, ret); in snd_soc_component_compr_ack()
618 struct snd_soc_component *component; in snd_soc_component_compr_pointer() local
621 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_pointer()
622 if (component->driver->compress_ops && in snd_soc_component_compr_pointer()
623 component->driver->compress_ops->pointer) { in snd_soc_component_compr_pointer()
624 ret = component->driver->compress_ops->pointer( in snd_soc_component_compr_pointer()
625 component, cstream, tstamp); in snd_soc_component_compr_pointer()
626 return soc_component_ret(component, ret); in snd_soc_component_compr_pointer()
638 struct snd_soc_component *component; in snd_soc_component_compr_copy() local
643 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_copy()
644 if (component->driver->compress_ops && in snd_soc_component_compr_copy()
645 component->driver->compress_ops->copy) { in snd_soc_component_compr_copy()
646 ret = component->driver->compress_ops->copy( in snd_soc_component_compr_copy()
647 component, cstream, buf, count); in snd_soc_component_compr_copy()
654 return soc_component_ret(component, ret); in snd_soc_component_compr_copy()
662 struct snd_soc_component *component; in snd_soc_component_compr_set_metadata() local
665 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_set_metadata()
666 if (component->driver->compress_ops && in snd_soc_component_compr_set_metadata()
667 component->driver->compress_ops->set_metadata) { in snd_soc_component_compr_set_metadata()
668 ret = component->driver->compress_ops->set_metadata( in snd_soc_component_compr_set_metadata()
669 component, cstream, metadata); in snd_soc_component_compr_set_metadata()
671 return soc_component_ret(component, ret); in snd_soc_component_compr_set_metadata()
683 struct snd_soc_component *component; in snd_soc_component_compr_get_metadata() local
686 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_get_metadata()
687 if (component->driver->compress_ops && in snd_soc_component_compr_get_metadata()
688 component->driver->compress_ops->get_metadata) { in snd_soc_component_compr_get_metadata()
689 ret = component->driver->compress_ops->get_metadata( in snd_soc_component_compr_get_metadata()
690 component, cstream, metadata); in snd_soc_component_compr_get_metadata()
691 return soc_component_ret(component, ret); in snd_soc_component_compr_get_metadata()
700 struct snd_soc_component *component, in soc_component_read_no_lock() argument
706 if (component->regmap) in soc_component_read_no_lock()
707 ret = regmap_read(component->regmap, reg, &val); in soc_component_read_no_lock()
708 else if (component->driver->read) { in soc_component_read_no_lock()
710 val = component->driver->read(component, reg); in soc_component_read_no_lock()
716 return soc_component_ret_reg_rw(component, ret, reg); in soc_component_read_no_lock()
728 unsigned int snd_soc_component_read(struct snd_soc_component *component, in snd_soc_component_read() argument
733 mutex_lock(&component->io_mutex); in snd_soc_component_read()
734 val = soc_component_read_no_lock(component, reg); in snd_soc_component_read()
735 mutex_unlock(&component->io_mutex); in snd_soc_component_read()
742 struct snd_soc_component *component, in soc_component_write_no_lock() argument
747 if (component->regmap) in soc_component_write_no_lock()
748 ret = regmap_write(component->regmap, reg, val); in soc_component_write_no_lock()
749 else if (component->driver->write) in soc_component_write_no_lock()
750 ret = component->driver->write(component, reg, val); in soc_component_write_no_lock()
752 return soc_component_ret_reg_rw(component, ret, reg); in soc_component_write_no_lock()
763 int snd_soc_component_write(struct snd_soc_component *component, in snd_soc_component_write() argument
768 mutex_lock(&component->io_mutex); in snd_soc_component_write()
769 ret = soc_component_write_no_lock(component, reg, val); in snd_soc_component_write()
770 mutex_unlock(&component->io_mutex); in snd_soc_component_write()
777 struct snd_soc_component *component, unsigned int reg, in snd_soc_component_update_bits_legacy() argument
783 mutex_lock(&component->io_mutex); in snd_soc_component_update_bits_legacy()
785 old = soc_component_read_no_lock(component, reg); in snd_soc_component_update_bits_legacy()
790 ret = soc_component_write_no_lock(component, reg, new); in snd_soc_component_update_bits_legacy()
792 mutex_unlock(&component->io_mutex); in snd_soc_component_update_bits_legacy()
794 return soc_component_ret_reg_rw(component, ret, reg); in snd_soc_component_update_bits_legacy()
808 int snd_soc_component_update_bits(struct snd_soc_component *component, in snd_soc_component_update_bits() argument
814 if (component->regmap) in snd_soc_component_update_bits()
815 ret = regmap_update_bits_check(component->regmap, reg, mask, in snd_soc_component_update_bits()
818 ret = snd_soc_component_update_bits_legacy(component, reg, in snd_soc_component_update_bits()
822 return soc_component_ret_reg_rw(component, ret, reg); in snd_soc_component_update_bits()
844 int snd_soc_component_update_bits_async(struct snd_soc_component *component, in snd_soc_component_update_bits_async() argument
850 if (component->regmap) in snd_soc_component_update_bits_async()
851 ret = regmap_update_bits_check_async(component->regmap, reg, in snd_soc_component_update_bits_async()
854 ret = snd_soc_component_update_bits_legacy(component, reg, in snd_soc_component_update_bits_async()
858 return soc_component_ret_reg_rw(component, ret, reg); in snd_soc_component_update_bits_async()
871 unsigned int snd_soc_component_read_field(struct snd_soc_component *component, in snd_soc_component_read_field() argument
876 val = snd_soc_component_read(component, reg); in snd_soc_component_read_field()
878 val = (val & mask) >> soc_component_field_shift(component, mask); in snd_soc_component_read_field()
893 int snd_soc_component_write_field(struct snd_soc_component *component, in snd_soc_component_write_field() argument
898 val = (val << soc_component_field_shift(component, mask)) & mask; in snd_soc_component_write_field()
900 return snd_soc_component_update_bits(component, reg, mask, val); in snd_soc_component_write_field()
911 void snd_soc_component_async_complete(struct snd_soc_component *component) in snd_soc_component_async_complete() argument
913 if (component->regmap) in snd_soc_component_async_complete()
914 regmap_async_complete(component->regmap); in snd_soc_component_async_complete()
930 int snd_soc_component_test_bits(struct snd_soc_component *component, in snd_soc_component_test_bits() argument
935 old = snd_soc_component_read(component, reg); in snd_soc_component_test_bits()
944 struct snd_soc_component *component; in snd_soc_pcm_component_pointer() local
948 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_pointer()
949 if (component->driver->pointer) in snd_soc_pcm_component_pointer()
950 return component->driver->pointer(component, substream); in snd_soc_pcm_component_pointer()
956 struct snd_soc_component *component) in snd_soc_component_is_codec_on_rtd() argument
962 if (dai->component == component) in snd_soc_component_is_codec_on_rtd()
974 struct snd_soc_component *component; in snd_soc_pcm_component_delay() local
984 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_delay()
985 if (!component->driver->delay) in snd_soc_pcm_component_delay()
988 delay = component->driver->delay(component, substream); in snd_soc_pcm_component_delay()
990 if (snd_soc_component_is_codec_on_rtd(rtd, component)) in snd_soc_pcm_component_delay()
1001 struct snd_soc_component *component; in snd_soc_pcm_component_ioctl() local
1005 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_ioctl()
1006 if (component->driver->ioctl) in snd_soc_pcm_component_ioctl()
1008 component, in snd_soc_pcm_component_ioctl()
1009 component->driver->ioctl(component, in snd_soc_pcm_component_ioctl()
1018 struct snd_soc_component *component; in snd_soc_pcm_component_sync_stop() local
1021 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_sync_stop()
1022 if (component->driver->sync_stop) { in snd_soc_pcm_component_sync_stop()
1023 ret = component->driver->sync_stop(component, in snd_soc_pcm_component_sync_stop()
1026 return soc_component_ret(component, ret); in snd_soc_pcm_component_sync_stop()
1038 struct snd_soc_component *component; in snd_soc_pcm_component_copy_user() local
1042 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_copy_user()
1043 if (component->driver->copy_user) in snd_soc_pcm_component_copy_user()
1045 component, in snd_soc_pcm_component_copy_user()
1046 component->driver->copy_user( in snd_soc_pcm_component_copy_user()
1047 component, substream, channel, in snd_soc_pcm_component_copy_user()
1057 struct snd_soc_component *component; in snd_soc_pcm_component_page() local
1062 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_page()
1063 if (component->driver->page) { in snd_soc_pcm_component_page()
1064 page = component->driver->page(component, in snd_soc_pcm_component_page()
1078 struct snd_soc_component *component; in snd_soc_pcm_component_mmap() local
1082 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_mmap()
1083 if (component->driver->mmap) in snd_soc_pcm_component_mmap()
1085 component, in snd_soc_pcm_component_mmap()
1086 component->driver->mmap(component, in snd_soc_pcm_component_mmap()
1094 struct snd_soc_component *component; in snd_soc_pcm_component_new() local
1098 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_new()
1099 if (component->driver->pcm_construct) { in snd_soc_pcm_component_new()
1100 ret = component->driver->pcm_construct(component, rtd); in snd_soc_pcm_component_new()
1102 return soc_component_ret(component, ret); in snd_soc_pcm_component_new()
1111 struct snd_soc_component *component; in snd_soc_pcm_component_free() local
1117 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_free()
1118 if (component->driver->pcm_destruct) in snd_soc_pcm_component_free()
1119 component->driver->pcm_destruct(component, rtd->pcm); in snd_soc_pcm_component_free()
1125 struct snd_soc_component *component; in snd_soc_pcm_component_prepare() local
1128 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_prepare()
1129 if (component->driver->prepare) { in snd_soc_pcm_component_prepare()
1130 ret = component->driver->prepare(component, substream); in snd_soc_pcm_component_prepare()
1132 return soc_component_ret(component, ret); in snd_soc_pcm_component_prepare()
1143 struct snd_soc_component *component; in snd_soc_pcm_component_hw_params() local
1146 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_hw_params()
1147 if (component->driver->hw_params) { in snd_soc_pcm_component_hw_params()
1148 ret = component->driver->hw_params(component, in snd_soc_pcm_component_hw_params()
1151 return soc_component_ret(component, ret); in snd_soc_pcm_component_hw_params()
1154 soc_component_mark_push(component, substream, hw_params); in snd_soc_pcm_component_hw_params()
1164 struct snd_soc_component *component; in snd_soc_pcm_component_hw_free() local
1167 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_hw_free()
1168 if (rollback && !soc_component_mark_match(component, substream, hw_params)) in snd_soc_pcm_component_hw_free()
1171 if (component->driver->hw_free) { in snd_soc_pcm_component_hw_free()
1172 ret = component->driver->hw_free(component, substream); in snd_soc_pcm_component_hw_free()
1174 soc_component_ret(component, ret); in snd_soc_pcm_component_hw_free()
1178 soc_component_mark_pop(component, substream, hw_params); in snd_soc_pcm_component_hw_free()
1182 static int soc_component_trigger(struct snd_soc_component *component, in soc_component_trigger() argument
1188 if (component->driver->trigger) in soc_component_trigger()
1189 ret = component->driver->trigger(component, substream, cmd); in soc_component_trigger()
1191 return soc_component_ret(component, ret); in soc_component_trigger()
1198 struct snd_soc_component *component; in snd_soc_pcm_component_trigger() local
1205 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_trigger()
1206 ret = soc_component_trigger(component, substream, cmd); in snd_soc_pcm_component_trigger()
1209 soc_component_mark_push(component, substream, trigger); in snd_soc_pcm_component_trigger()
1215 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_trigger()
1216 if (rollback && !soc_component_mark_match(component, substream, trigger)) in snd_soc_pcm_component_trigger()
1219 r = soc_component_trigger(component, substream, cmd); in snd_soc_pcm_component_trigger()
1222 soc_component_mark_pop(component, substream, trigger); in snd_soc_pcm_component_trigger()
1232 struct snd_soc_component *component; in snd_soc_pcm_component_pm_runtime_get() local
1235 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_pm_runtime_get()
1236 int ret = pm_runtime_get_sync(component->dev); in snd_soc_pcm_component_pm_runtime_get()
1238 pm_runtime_put_noidle(component->dev); in snd_soc_pcm_component_pm_runtime_get()
1239 return soc_component_ret(component, ret); in snd_soc_pcm_component_pm_runtime_get()
1242 soc_component_mark_push(component, stream, pm); in snd_soc_pcm_component_pm_runtime_get()
1251 struct snd_soc_component *component; in snd_soc_pcm_component_pm_runtime_put() local
1254 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_pm_runtime_put()
1255 if (rollback && !soc_component_mark_match(component, stream, pm)) in snd_soc_pcm_component_pm_runtime_put()
1258 pm_runtime_mark_last_busy(component->dev); in snd_soc_pcm_component_pm_runtime_put()
1259 pm_runtime_put_autosuspend(component->dev); in snd_soc_pcm_component_pm_runtime_put()
1262 soc_component_mark_pop(component, stream, pm); in snd_soc_pcm_component_pm_runtime_put()
1269 struct snd_soc_component *component; in snd_soc_pcm_component_ack() local
1273 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_ack()
1274 if (component->driver->ack) in snd_soc_pcm_component_ack()
1275 return component->driver->ack(component, substream); in snd_soc_pcm_component_ack()