On Thu, 2020-11-12 at 13:37 +0900, Kuninori Morimoto wrote:
From: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
component related function should be implemented at soc-component.c. This patch adds snd_soc_component_compr_get_caps().
Signed-off-by: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
include/sound/soc-component.h | 2 ++ sound/soc/soc-component.c | 21 +++++++++++++++++++++ sound/soc/soc-compress.c | 13 ++----------- 3 files changed, 25 insertions(+), 11 deletions(-)
diff --git a/include/sound/soc-component.h b/include/sound/soc- component.h index 6841c3037548..7fd45462963e 100644 --- a/include/sound/soc-component.h +++ b/include/sound/soc-component.h @@ -453,6 +453,8 @@ int snd_soc_component_compr_set_params(struct snd_compr_stream *cstream, struct snd_compr_params *params); int snd_soc_component_compr_get_params(struct snd_compr_stream *cstream, struct snd_codec *params); +int snd_soc_component_compr_get_caps(struct snd_compr_stream *cstream,
struct snd_compr_caps *caps);
int snd_soc_pcm_component_pointer(struct snd_pcm_substream *substream); int snd_soc_pcm_component_ioctl(struct snd_pcm_substream *substream, diff --git a/sound/soc/soc-component.c b/sound/soc/soc-component.c index 7d2b31948854..6f560238e2f9 100644 --- a/sound/soc/soc-component.c +++ b/sound/soc/soc-component.c @@ -524,6 +524,27 @@ int snd_soc_component_compr_get_params(struct snd_compr_stream *cstream, } EXPORT_SYMBOL_GPL(snd_soc_component_compr_get_params);
+int snd_soc_component_compr_get_caps(struct snd_compr_stream *cstream,
struct snd_compr_caps *caps)
+{
- struct snd_soc_pcm_runtime *rtd = cstream->private_data;
- struct snd_soc_component *component;
- int i, ret;
- for_each_rtd_components(rtd, i, component) {
if (component->driver->compress_ops &&
component->driver->compress_ops->get_caps) {
ret = component->driver->compress_ops-
get_caps(
component, cstream, caps);
if (ret < 0)
return soc_component_ret(component,
ret);
}
- }
- return 0;
+} +EXPORT_SYMBOL_GPL(snd_soc_component_compr_get_caps);
static unsigned int soc_component_read_no_lock( struct snd_soc_component *component, unsigned int reg) diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c index a98defdecad7..c62aa1a52c28 100644 --- a/sound/soc/soc-compress.c +++ b/sound/soc/soc-compress.c @@ -413,20 +413,11 @@ static int soc_compr_get_caps(struct snd_compr_stream *cstream, struct snd_compr_caps *caps) { struct snd_soc_pcm_runtime *rtd = cstream->private_data;
- struct snd_soc_component *component;
- int i, ret = 0;
int ret;
mutex_lock_nested(&rtd->card->pcm_mutex, rtd->card-
pcm_subclass);
- for_each_rtd_components(rtd, i, component) {
if (!component->driver->compress_ops ||
!component->driver->compress_ops->get_caps)
continue;
ret = component->driver->compress_ops->get_caps(
component, cstream, caps);
break;
- }
- ret = snd_soc_component_compr_get_caps(cstream, caps);
Morimoto-san,
Do you think it makes sense to remove soc_compr_get_caps() altogether after adding snd_soc_component_cpmpr_get_caps() and calling it directly instead?
Thanks, Ranjani