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()
239 int snd_soc_component_notify_control(struct snd_soc_component *component, in snd_soc_component_notify_control() argument
246 if (component->name_prefix) in snd_soc_component_notify_control()
247 snprintf(name, ARRAY_SIZE(name), "%s %s", component->name_prefix, ctl); in snd_soc_component_notify_control()
251 kctl = snd_soc_card_get_kcontrol(component->card, name); in snd_soc_component_notify_control()
253 return soc_component_ret(component, -EINVAL); in snd_soc_component_notify_control()
255 snd_ctl_notify(component->card->snd_card, in snd_soc_component_notify_control()
270 int snd_soc_component_set_jack(struct snd_soc_component *component, in snd_soc_component_set_jack() argument
275 if (component->driver->set_jack) in snd_soc_component_set_jack()
276 ret = component->driver->set_jack(component, jack, data); in snd_soc_component_set_jack()
278 return soc_component_ret(component, ret); in snd_soc_component_set_jack()
291 struct snd_soc_component *component) in snd_soc_component_get_jack_type() argument
295 if (component->driver->get_jack_type) in snd_soc_component_get_jack_type()
296 ret = component->driver->get_jack_type(component); in snd_soc_component_get_jack_type()
298 return soc_component_ret(component, ret); in snd_soc_component_get_jack_type()
302 int snd_soc_component_module_get(struct snd_soc_component *component, in snd_soc_component_module_get() argument
307 if (component->driver->module_get_upon_open == !!upon_open && in snd_soc_component_module_get()
308 !try_module_get(component->dev->driver->owner)) in snd_soc_component_module_get()
313 soc_component_mark_push(component, mark, module); in snd_soc_component_module_get()
315 return soc_component_ret(component, ret); in snd_soc_component_module_get()
318 void snd_soc_component_module_put(struct snd_soc_component *component, in snd_soc_component_module_put() argument
321 if (rollback && !soc_component_mark_match(component, mark, module)) in snd_soc_component_module_put()
324 if (component->driver->module_get_upon_open == !!upon_open) in snd_soc_component_module_put()
325 module_put(component->dev->driver->owner); in snd_soc_component_module_put()
328 soc_component_mark_pop(component, mark, module); in snd_soc_component_module_put()
331 int snd_soc_component_open(struct snd_soc_component *component, in snd_soc_component_open() argument
336 if (component->driver->open) in snd_soc_component_open()
337 ret = component->driver->open(component, substream); in snd_soc_component_open()
341 soc_component_mark_push(component, substream, open); in snd_soc_component_open()
343 return soc_component_ret(component, ret); in snd_soc_component_open()
346 int snd_soc_component_close(struct snd_soc_component *component, in snd_soc_component_close() argument
352 if (rollback && !soc_component_mark_match(component, substream, open)) in snd_soc_component_close()
355 if (component->driver->close) in snd_soc_component_close()
356 ret = component->driver->close(component, substream); in snd_soc_component_close()
359 soc_component_mark_pop(component, substream, open); in snd_soc_component_close()
361 return soc_component_ret(component, ret); in snd_soc_component_close()
364 void snd_soc_component_suspend(struct snd_soc_component *component) in snd_soc_component_suspend() argument
366 if (component->driver->suspend) in snd_soc_component_suspend()
367 component->driver->suspend(component); in snd_soc_component_suspend()
368 component->suspended = 1; in snd_soc_component_suspend()
371 void snd_soc_component_resume(struct snd_soc_component *component) in snd_soc_component_resume() argument
373 if (component->driver->resume) in snd_soc_component_resume()
374 component->driver->resume(component); in snd_soc_component_resume()
375 component->suspended = 0; in snd_soc_component_resume()
378 int snd_soc_component_is_suspended(struct snd_soc_component *component) in snd_soc_component_is_suspended() argument
380 return component->suspended; in snd_soc_component_is_suspended()
383 int snd_soc_component_probe(struct snd_soc_component *component) in snd_soc_component_probe() argument
387 if (component->driver->probe) in snd_soc_component_probe()
388 ret = component->driver->probe(component); in snd_soc_component_probe()
390 return soc_component_ret(component, ret); in snd_soc_component_probe()
393 void snd_soc_component_remove(struct snd_soc_component *component) in snd_soc_component_remove() argument
395 if (component->driver->remove) in snd_soc_component_remove()
396 component->driver->remove(component); in snd_soc_component_remove()
399 int snd_soc_component_of_xlate_dai_id(struct snd_soc_component *component, in snd_soc_component_of_xlate_dai_id() argument
404 if (component->driver->of_xlate_dai_id) in snd_soc_component_of_xlate_dai_id()
405 ret = component->driver->of_xlate_dai_id(component, ep); in snd_soc_component_of_xlate_dai_id()
407 return soc_component_ret(component, ret); in snd_soc_component_of_xlate_dai_id()
410 int snd_soc_component_of_xlate_dai_name(struct snd_soc_component *component, in snd_soc_component_of_xlate_dai_name() argument
414 if (component->driver->of_xlate_dai_name) in snd_soc_component_of_xlate_dai_name()
415 return component->driver->of_xlate_dai_name(component, in snd_soc_component_of_xlate_dai_name()
425 void snd_soc_component_setup_regmap(struct snd_soc_component *component) in snd_soc_component_setup_regmap() argument
427 int val_bytes = regmap_get_val_bytes(component->regmap); in snd_soc_component_setup_regmap()
431 component->val_bytes = val_bytes; in snd_soc_component_setup_regmap()
447 void snd_soc_component_init_regmap(struct snd_soc_component *component, in snd_soc_component_init_regmap() argument
450 component->regmap = regmap; in snd_soc_component_init_regmap()
451 snd_soc_component_setup_regmap(component); in snd_soc_component_init_regmap()
466 void snd_soc_component_exit_regmap(struct snd_soc_component *component) in snd_soc_component_exit_regmap() argument
468 regmap_exit(component->regmap); in snd_soc_component_exit_regmap()
469 component->regmap = NULL; in snd_soc_component_exit_regmap()
475 int snd_soc_component_compr_open(struct snd_soc_component *component, in snd_soc_component_compr_open() argument
480 if (component->driver->compress_ops && in snd_soc_component_compr_open()
481 component->driver->compress_ops->open) in snd_soc_component_compr_open()
482 ret = component->driver->compress_ops->open(component, cstream); in snd_soc_component_compr_open()
486 soc_component_mark_push(component, cstream, compr_open); in snd_soc_component_compr_open()
488 return soc_component_ret(component, ret); in snd_soc_component_compr_open()
492 void snd_soc_component_compr_free(struct snd_soc_component *component, in snd_soc_component_compr_free() argument
496 if (rollback && !soc_component_mark_match(component, cstream, compr_open)) in snd_soc_component_compr_free()
499 if (component->driver->compress_ops && in snd_soc_component_compr_free()
500 component->driver->compress_ops->free) in snd_soc_component_compr_free()
501 component->driver->compress_ops->free(component, cstream); in snd_soc_component_compr_free()
504 soc_component_mark_pop(component, cstream, compr_open); in snd_soc_component_compr_free()
511 struct snd_soc_component *component; in snd_soc_component_compr_trigger() local
514 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_trigger()
515 if (component->driver->compress_ops && in snd_soc_component_compr_trigger()
516 component->driver->compress_ops->trigger) { in snd_soc_component_compr_trigger()
517 ret = component->driver->compress_ops->trigger( in snd_soc_component_compr_trigger()
518 component, cstream, cmd); in snd_soc_component_compr_trigger()
520 return soc_component_ret(component, ret); in snd_soc_component_compr_trigger()
532 struct snd_soc_component *component; in snd_soc_component_compr_set_params() local
535 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_set_params()
536 if (component->driver->compress_ops && in snd_soc_component_compr_set_params()
537 component->driver->compress_ops->set_params) { in snd_soc_component_compr_set_params()
538 ret = component->driver->compress_ops->set_params( in snd_soc_component_compr_set_params()
539 component, cstream, params); in snd_soc_component_compr_set_params()
541 return soc_component_ret(component, ret); in snd_soc_component_compr_set_params()
553 struct snd_soc_component *component; in snd_soc_component_compr_get_params() local
556 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_get_params()
557 if (component->driver->compress_ops && in snd_soc_component_compr_get_params()
558 component->driver->compress_ops->get_params) { in snd_soc_component_compr_get_params()
559 ret = component->driver->compress_ops->get_params( in snd_soc_component_compr_get_params()
560 component, cstream, params); in snd_soc_component_compr_get_params()
561 return soc_component_ret(component, ret); in snd_soc_component_compr_get_params()
573 struct snd_soc_component *component; in snd_soc_component_compr_get_caps() local
578 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_get_caps()
579 if (component->driver->compress_ops && in snd_soc_component_compr_get_caps()
580 component->driver->compress_ops->get_caps) { in snd_soc_component_compr_get_caps()
581 ret = component->driver->compress_ops->get_caps( in snd_soc_component_compr_get_caps()
582 component, cstream, caps); in snd_soc_component_compr_get_caps()
589 return soc_component_ret(component, ret); in snd_soc_component_compr_get_caps()
597 struct snd_soc_component *component; in snd_soc_component_compr_get_codec_caps() local
602 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_get_codec_caps()
603 if (component->driver->compress_ops && in snd_soc_component_compr_get_codec_caps()
604 component->driver->compress_ops->get_codec_caps) { in snd_soc_component_compr_get_codec_caps()
605 ret = component->driver->compress_ops->get_codec_caps( in snd_soc_component_compr_get_codec_caps()
606 component, cstream, codec); in snd_soc_component_compr_get_codec_caps()
613 return soc_component_ret(component, ret); in snd_soc_component_compr_get_codec_caps()
620 struct snd_soc_component *component; in snd_soc_component_compr_ack() local
623 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_ack()
624 if (component->driver->compress_ops && in snd_soc_component_compr_ack()
625 component->driver->compress_ops->ack) { in snd_soc_component_compr_ack()
626 ret = component->driver->compress_ops->ack( in snd_soc_component_compr_ack()
627 component, cstream, bytes); in snd_soc_component_compr_ack()
629 return soc_component_ret(component, ret); in snd_soc_component_compr_ack()
641 struct snd_soc_component *component; in snd_soc_component_compr_pointer() local
644 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_pointer()
645 if (component->driver->compress_ops && in snd_soc_component_compr_pointer()
646 component->driver->compress_ops->pointer) { in snd_soc_component_compr_pointer()
647 ret = component->driver->compress_ops->pointer( in snd_soc_component_compr_pointer()
648 component, cstream, tstamp); in snd_soc_component_compr_pointer()
649 return soc_component_ret(component, ret); in snd_soc_component_compr_pointer()
661 struct snd_soc_component *component; in snd_soc_component_compr_copy() local
666 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_copy()
667 if (component->driver->compress_ops && in snd_soc_component_compr_copy()
668 component->driver->compress_ops->copy) { in snd_soc_component_compr_copy()
669 ret = component->driver->compress_ops->copy( in snd_soc_component_compr_copy()
670 component, cstream, buf, count); in snd_soc_component_compr_copy()
677 return soc_component_ret(component, ret); in snd_soc_component_compr_copy()
685 struct snd_soc_component *component; in snd_soc_component_compr_set_metadata() local
688 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_set_metadata()
689 if (component->driver->compress_ops && in snd_soc_component_compr_set_metadata()
690 component->driver->compress_ops->set_metadata) { in snd_soc_component_compr_set_metadata()
691 ret = component->driver->compress_ops->set_metadata( in snd_soc_component_compr_set_metadata()
692 component, cstream, metadata); in snd_soc_component_compr_set_metadata()
694 return soc_component_ret(component, ret); in snd_soc_component_compr_set_metadata()
706 struct snd_soc_component *component; in snd_soc_component_compr_get_metadata() local
709 for_each_rtd_components(rtd, i, component) { in snd_soc_component_compr_get_metadata()
710 if (component->driver->compress_ops && in snd_soc_component_compr_get_metadata()
711 component->driver->compress_ops->get_metadata) { in snd_soc_component_compr_get_metadata()
712 ret = component->driver->compress_ops->get_metadata( in snd_soc_component_compr_get_metadata()
713 component, cstream, metadata); in snd_soc_component_compr_get_metadata()
714 return soc_component_ret(component, ret); in snd_soc_component_compr_get_metadata()
723 struct snd_soc_component *component, in soc_component_read_no_lock() argument
729 if (component->regmap) in soc_component_read_no_lock()
730 ret = regmap_read(component->regmap, reg, &val); in soc_component_read_no_lock()
731 else if (component->driver->read) { in soc_component_read_no_lock()
733 val = component->driver->read(component, reg); in soc_component_read_no_lock()
739 return soc_component_ret_reg_rw(component, ret, reg); in soc_component_read_no_lock()
751 unsigned int snd_soc_component_read(struct snd_soc_component *component, in snd_soc_component_read() argument
756 mutex_lock(&component->io_mutex); in snd_soc_component_read()
757 val = soc_component_read_no_lock(component, reg); in snd_soc_component_read()
758 mutex_unlock(&component->io_mutex); in snd_soc_component_read()
765 struct snd_soc_component *component, in soc_component_write_no_lock() argument
770 if (component->regmap) in soc_component_write_no_lock()
771 ret = regmap_write(component->regmap, reg, val); in soc_component_write_no_lock()
772 else if (component->driver->write) in soc_component_write_no_lock()
773 ret = component->driver->write(component, reg, val); in soc_component_write_no_lock()
775 return soc_component_ret_reg_rw(component, ret, reg); in soc_component_write_no_lock()
786 int snd_soc_component_write(struct snd_soc_component *component, in snd_soc_component_write() argument
791 mutex_lock(&component->io_mutex); in snd_soc_component_write()
792 ret = soc_component_write_no_lock(component, reg, val); in snd_soc_component_write()
793 mutex_unlock(&component->io_mutex); in snd_soc_component_write()
800 struct snd_soc_component *component, unsigned int reg, in snd_soc_component_update_bits_legacy() argument
806 mutex_lock(&component->io_mutex); in snd_soc_component_update_bits_legacy()
808 old = soc_component_read_no_lock(component, reg); in snd_soc_component_update_bits_legacy()
813 ret = soc_component_write_no_lock(component, reg, new); in snd_soc_component_update_bits_legacy()
815 mutex_unlock(&component->io_mutex); in snd_soc_component_update_bits_legacy()
817 return soc_component_ret_reg_rw(component, ret, reg); in snd_soc_component_update_bits_legacy()
831 int snd_soc_component_update_bits(struct snd_soc_component *component, in snd_soc_component_update_bits() argument
837 if (component->regmap) in snd_soc_component_update_bits()
838 ret = regmap_update_bits_check(component->regmap, reg, mask, in snd_soc_component_update_bits()
841 ret = snd_soc_component_update_bits_legacy(component, reg, in snd_soc_component_update_bits()
845 return soc_component_ret_reg_rw(component, ret, reg); in snd_soc_component_update_bits()
867 int snd_soc_component_update_bits_async(struct snd_soc_component *component, in snd_soc_component_update_bits_async() argument
873 if (component->regmap) in snd_soc_component_update_bits_async()
874 ret = regmap_update_bits_check_async(component->regmap, reg, in snd_soc_component_update_bits_async()
877 ret = snd_soc_component_update_bits_legacy(component, reg, in snd_soc_component_update_bits_async()
881 return soc_component_ret_reg_rw(component, ret, reg); in snd_soc_component_update_bits_async()
894 unsigned int snd_soc_component_read_field(struct snd_soc_component *component, in snd_soc_component_read_field() argument
899 val = snd_soc_component_read(component, reg); in snd_soc_component_read_field()
901 val = (val & mask) >> soc_component_field_shift(component, mask); in snd_soc_component_read_field()
916 int snd_soc_component_write_field(struct snd_soc_component *component, in snd_soc_component_write_field() argument
921 val = (val << soc_component_field_shift(component, mask)) & mask; in snd_soc_component_write_field()
923 return snd_soc_component_update_bits(component, reg, mask, val); in snd_soc_component_write_field()
934 void snd_soc_component_async_complete(struct snd_soc_component *component) in snd_soc_component_async_complete() argument
936 if (component->regmap) in snd_soc_component_async_complete()
937 regmap_async_complete(component->regmap); in snd_soc_component_async_complete()
953 int snd_soc_component_test_bits(struct snd_soc_component *component, in snd_soc_component_test_bits() argument
958 old = snd_soc_component_read(component, reg); in snd_soc_component_test_bits()
967 struct snd_soc_component *component; in snd_soc_pcm_component_pointer() local
971 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_pointer()
972 if (component->driver->pointer) in snd_soc_pcm_component_pointer()
973 return component->driver->pointer(component, substream); in snd_soc_pcm_component_pointer()
979 struct snd_soc_component *component) in snd_soc_component_is_codec_on_rtd() argument
985 if (dai->component == component) in snd_soc_component_is_codec_on_rtd()
997 struct snd_soc_component *component; in snd_soc_pcm_component_delay() local
1007 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_delay()
1008 if (!component->driver->delay) in snd_soc_pcm_component_delay()
1011 delay = component->driver->delay(component, substream); in snd_soc_pcm_component_delay()
1013 if (snd_soc_component_is_codec_on_rtd(rtd, component)) in snd_soc_pcm_component_delay()
1024 struct snd_soc_component *component; in snd_soc_pcm_component_ioctl() local
1028 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_ioctl()
1029 if (component->driver->ioctl) in snd_soc_pcm_component_ioctl()
1031 component, in snd_soc_pcm_component_ioctl()
1032 component->driver->ioctl(component, in snd_soc_pcm_component_ioctl()
1041 struct snd_soc_component *component; in snd_soc_pcm_component_sync_stop() local
1044 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_sync_stop()
1045 if (component->driver->sync_stop) { in snd_soc_pcm_component_sync_stop()
1046 ret = component->driver->sync_stop(component, in snd_soc_pcm_component_sync_stop()
1049 return soc_component_ret(component, ret); in snd_soc_pcm_component_sync_stop()
1061 struct snd_soc_component *component; in snd_soc_pcm_component_copy() local
1065 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_copy()
1066 if (component->driver->copy) in snd_soc_pcm_component_copy()
1067 return soc_component_ret(component, in snd_soc_pcm_component_copy()
1068 component->driver->copy(component, substream, in snd_soc_pcm_component_copy()
1078 struct snd_soc_component *component; in snd_soc_pcm_component_page() local
1083 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_page()
1084 if (component->driver->page) { in snd_soc_pcm_component_page()
1085 page = component->driver->page(component, in snd_soc_pcm_component_page()
1099 struct snd_soc_component *component; in snd_soc_pcm_component_mmap() local
1103 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_mmap()
1104 if (component->driver->mmap) in snd_soc_pcm_component_mmap()
1106 component, in snd_soc_pcm_component_mmap()
1107 component->driver->mmap(component, in snd_soc_pcm_component_mmap()
1115 struct snd_soc_component *component; in snd_soc_pcm_component_new() local
1119 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_new()
1120 if (component->driver->pcm_construct) { in snd_soc_pcm_component_new()
1121 ret = component->driver->pcm_construct(component, rtd); in snd_soc_pcm_component_new()
1123 return soc_component_ret(component, ret); in snd_soc_pcm_component_new()
1132 struct snd_soc_component *component; in snd_soc_pcm_component_free() local
1138 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_free()
1139 if (component->driver->pcm_destruct) in snd_soc_pcm_component_free()
1140 component->driver->pcm_destruct(component, rtd->pcm); in snd_soc_pcm_component_free()
1146 struct snd_soc_component *component; in snd_soc_pcm_component_prepare() local
1149 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_prepare()
1150 if (component->driver->prepare) { in snd_soc_pcm_component_prepare()
1151 ret = component->driver->prepare(component, substream); in snd_soc_pcm_component_prepare()
1153 return soc_component_ret(component, ret); in snd_soc_pcm_component_prepare()
1164 struct snd_soc_component *component; in snd_soc_pcm_component_hw_params() local
1167 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_hw_params()
1168 if (component->driver->hw_params) { in snd_soc_pcm_component_hw_params()
1169 ret = component->driver->hw_params(component, in snd_soc_pcm_component_hw_params()
1172 return soc_component_ret(component, ret); in snd_soc_pcm_component_hw_params()
1175 soc_component_mark_push(component, substream, hw_params); in snd_soc_pcm_component_hw_params()
1185 struct snd_soc_component *component; in snd_soc_pcm_component_hw_free() local
1188 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_hw_free()
1189 if (rollback && !soc_component_mark_match(component, substream, hw_params)) in snd_soc_pcm_component_hw_free()
1192 if (component->driver->hw_free) { in snd_soc_pcm_component_hw_free()
1193 ret = component->driver->hw_free(component, substream); in snd_soc_pcm_component_hw_free()
1195 soc_component_ret(component, ret); in snd_soc_pcm_component_hw_free()
1199 soc_component_mark_pop(component, substream, hw_params); in snd_soc_pcm_component_hw_free()
1203 static int soc_component_trigger(struct snd_soc_component *component, in soc_component_trigger() argument
1209 if (component->driver->trigger) in soc_component_trigger()
1210 ret = component->driver->trigger(component, substream, cmd); in soc_component_trigger()
1212 return soc_component_ret(component, ret); in soc_component_trigger()
1219 struct snd_soc_component *component; in snd_soc_pcm_component_trigger() local
1226 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_trigger()
1227 ret = soc_component_trigger(component, substream, cmd); in snd_soc_pcm_component_trigger()
1230 soc_component_mark_push(component, substream, trigger); in snd_soc_pcm_component_trigger()
1236 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_trigger()
1237 if (rollback && !soc_component_mark_match(component, substream, trigger)) in snd_soc_pcm_component_trigger()
1240 r = soc_component_trigger(component, substream, cmd); in snd_soc_pcm_component_trigger()
1243 soc_component_mark_pop(component, substream, trigger); in snd_soc_pcm_component_trigger()
1253 struct snd_soc_component *component; in snd_soc_pcm_component_pm_runtime_get() local
1256 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_pm_runtime_get()
1257 int ret = pm_runtime_get_sync(component->dev); in snd_soc_pcm_component_pm_runtime_get()
1259 pm_runtime_put_noidle(component->dev); in snd_soc_pcm_component_pm_runtime_get()
1260 return soc_component_ret(component, ret); in snd_soc_pcm_component_pm_runtime_get()
1263 soc_component_mark_push(component, stream, pm); in snd_soc_pcm_component_pm_runtime_get()
1272 struct snd_soc_component *component; in snd_soc_pcm_component_pm_runtime_put() local
1275 for_each_rtd_components(rtd, i, component) { in snd_soc_pcm_component_pm_runtime_put()
1276 if (rollback && !soc_component_mark_match(component, stream, pm)) in snd_soc_pcm_component_pm_runtime_put()
1279 pm_runtime_mark_last_busy(component->dev); in snd_soc_pcm_component_pm_runtime_put()
1280 pm_runtime_put_autosuspend(component->dev); in snd_soc_pcm_component_pm_runtime_put()
1283 soc_component_mark_pop(component, stream, pm); in snd_soc_pcm_component_pm_runtime_put()
1290 struct snd_soc_component *component; in snd_soc_pcm_component_ack() local
1294 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_ack()
1295 if (component->driver->ack) in snd_soc_pcm_component_ack()
1296 return component->driver->ack(component, substream); in snd_soc_pcm_component_ack()