On Mon, 2020-06-01 at 10:36 +0900, Kuninori Morimoto wrote: > From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > > component related function should be implemented at > soc-component.c. > This patch moves soc-compress soc_compr_components_open() > to soc-component as snd_soc_component_compr_open(). > > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > --- > include/sound/soc-component.h | 2 ++ > sound/soc/soc-component.c | 23 +++++++++++++++++++++++ > sound/soc/soc-compress.c | 31 ++----------------------------- > 3 files changed, 27 insertions(+), 29 deletions(-) > > diff --git a/include/sound/soc-component.h b/include/sound/soc- > component.h > index bb26d55a9289..4f82839948d6 100644 > --- a/include/sound/soc-component.h > +++ b/include/sound/soc-component.h > @@ -436,6 +436,8 @@ int snd_soc_component_of_xlate_dai_id(struct > snd_soc_component *component, > int snd_soc_component_of_xlate_dai_name(struct snd_soc_component > *component, > struct of_phandle_args *args, > const char **dai_name); > +int snd_soc_component_compr_open(struct snd_compr_stream *cstream, > + struct snd_soc_component **last); > > 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 150b02be0219..c2a6046a6380 100644 > --- a/sound/soc/soc-component.c > +++ b/sound/soc/soc-component.c > @@ -384,6 +384,29 @@ > EXPORT_SYMBOL_GPL(snd_soc_component_exit_regmap); > > #endif > > +int snd_soc_component_compr_open(struct snd_compr_stream *cstream, > + struct snd_soc_component **last) > +{ > + 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->open) { > + ret = component->driver->compress_ops- > >open(component, cstream); > + if (ret < 0) { > + *last = component; > + return soc_component_ret(component, > ret); > + } > + } > + } > + > + *last = NULL; > + return 0; > +} > +EXPORT_SYMBOL_GPL(snd_soc_component_compr_open); > + > int snd_soc_pcm_component_pointer(struct snd_pcm_substream > *substream) > { > struct snd_soc_pcm_runtime *rtd = substream->private_data; > diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c > index 4984b6a2c370..2a0d554013a4 100644 > --- a/sound/soc/soc-compress.c > +++ b/sound/soc/soc-compress.c > @@ -22,33 +22,6 @@ > #include <sound/soc-link.h> > #include <linux/pm_runtime.h> > > -static int soc_compr_components_open(struct snd_compr_stream > *cstream, > - struct snd_soc_component **last) > -{ > - 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->open) > - continue; > - > - ret = component->driver->compress_ops->open(component, > cstream); > - if (ret < 0) { > - dev_err(component->dev, > - "Compress ASoC: can't open platform %s: > %d\n", > - component->name, ret); > - > - *last = component; > - return ret; > - } > - } > - > - *last = NULL; > - return 0; > -} > - > static int soc_compr_components_free(struct snd_compr_stream > *cstream, > struct snd_soc_component *last) > { > @@ -92,7 +65,7 @@ static int soc_compr_open(struct snd_compr_stream > *cstream) > if (ret < 0) > goto out; > > - ret = soc_compr_components_open(cstream, &component); > + ret = snd_soc_component_compr_open(cstream, &component); If you do decide to keep your changes to move all these functions to soc-component.c, we need to include soc-component.h in soc-compress.c isnt it? Thanks, Ranjani