ASoC: soc-component: add snd_soc_component_compr_get_params()
component related function should be implemented at soc-component.c. This patch adds snd_soc_component_compr_get_params(). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/87a6vl7v6x.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
		
							parent
							
								
									ff08cf80ad
								
							
						
					
					
						commit
						77c221ecfe
					
				| @ -451,6 +451,8 @@ void snd_soc_component_compr_free(struct snd_compr_stream *cstream, | ||||
| int snd_soc_component_compr_trigger(struct snd_compr_stream *cstream, int cmd); | ||||
| 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_pcm_component_pointer(struct snd_pcm_substream *substream); | ||||
| int snd_soc_pcm_component_ioctl(struct snd_pcm_substream *substream, | ||||
|  | ||||
| @ -503,6 +503,26 @@ int snd_soc_component_compr_set_params(struct snd_compr_stream *cstream, | ||||
| } | ||||
| EXPORT_SYMBOL_GPL(snd_soc_component_compr_set_params); | ||||
| 
 | ||||
| int snd_soc_component_compr_get_params(struct snd_compr_stream *cstream, | ||||
| 				       struct snd_codec *params) | ||||
| { | ||||
| 	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_params) { | ||||
| 			ret = component->driver->compress_ops->get_params( | ||||
| 				component, cstream, params); | ||||
| 			return soc_component_ret(component, ret); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL_GPL(snd_soc_component_compr_get_params); | ||||
| 
 | ||||
| static unsigned int soc_component_read_no_lock( | ||||
| 	struct snd_soc_component *component, | ||||
| 	unsigned int reg) | ||||
|  | ||||
| @ -394,9 +394,8 @@ static int soc_compr_get_params(struct snd_compr_stream *cstream, | ||||
| 				struct snd_codec *params) | ||||
| { | ||||
| 	struct snd_soc_pcm_runtime *rtd = cstream->private_data; | ||||
| 	struct snd_soc_component *component; | ||||
| 	struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); | ||||
| 	int i, ret = 0; | ||||
| 	int ret = 0; | ||||
| 
 | ||||
| 	mutex_lock_nested(&rtd->card->pcm_mutex, rtd->card->pcm_subclass); | ||||
| 
 | ||||
| @ -404,16 +403,7 @@ static int soc_compr_get_params(struct snd_compr_stream *cstream, | ||||
| 	if (ret < 0) | ||||
| 		goto err; | ||||
| 
 | ||||
| 	for_each_rtd_components(rtd, i, component) { | ||||
| 		if (!component->driver->compress_ops || | ||||
| 		    !component->driver->compress_ops->get_params) | ||||
| 			continue; | ||||
| 
 | ||||
| 		ret = component->driver->compress_ops->get_params( | ||||
| 			component, cstream, params); | ||||
| 		break; | ||||
| 	} | ||||
| 
 | ||||
| 	ret = snd_soc_component_compr_get_params(cstream, params); | ||||
| err: | ||||
| 	mutex_unlock(&rtd->card->pcm_mutex); | ||||
| 	return ret; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user