ALSA: compress: Pass id string to snd_compress_new
Make snd_compress_new take an id string (like snd_pcm_new). This string can be included in the procfs info. This patch also updates soc_new_compress() to create an ID based on the stream and dai name, as done for PCM streams. Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
3174272474
commit
e5241a8c4b
|
@ -163,7 +163,7 @@ struct snd_compr {
|
|||
int snd_compress_register(struct snd_compr *device);
|
||||
int snd_compress_deregister(struct snd_compr *device);
|
||||
int snd_compress_new(struct snd_card *card, int device,
|
||||
int type, struct snd_compr *compr);
|
||||
int type, const char *id, struct snd_compr *compr);
|
||||
|
||||
/* dsp driver callback apis
|
||||
* For playback: driver should call snd_compress_fragment_elapsed() to let the
|
||||
|
|
|
@ -945,6 +945,11 @@ static void snd_compress_proc_done(struct snd_compr *compr)
|
|||
snd_info_free_entry(compr->proc_root);
|
||||
compr->proc_root = NULL;
|
||||
}
|
||||
|
||||
static inline void snd_compress_set_id(struct snd_compr *compr, const char *id)
|
||||
{
|
||||
strlcpy(compr->id, id, sizeof(compr->id));
|
||||
}
|
||||
#else
|
||||
static inline int snd_compress_proc_init(struct snd_compr *compr)
|
||||
{
|
||||
|
@ -954,6 +959,10 @@ static inline int snd_compress_proc_init(struct snd_compr *compr)
|
|||
static inline void snd_compress_proc_done(struct snd_compr *compr)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void snd_compress_set_id(struct snd_compr *compr, const char *id)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
static int snd_compress_dev_free(struct snd_device *device)
|
||||
|
@ -974,7 +983,7 @@ static int snd_compress_dev_free(struct snd_device *device)
|
|||
* @compr: compress device pointer
|
||||
*/
|
||||
int snd_compress_new(struct snd_card *card, int device,
|
||||
int dirn, struct snd_compr *compr)
|
||||
int dirn, const char *id, struct snd_compr *compr)
|
||||
{
|
||||
static struct snd_device_ops ops = {
|
||||
.dev_free = snd_compress_dev_free,
|
||||
|
@ -987,6 +996,8 @@ int snd_compress_new(struct snd_card *card, int device,
|
|||
compr->device = device;
|
||||
compr->direction = dirn;
|
||||
|
||||
snd_compress_set_id(compr, id);
|
||||
|
||||
snd_device_initialize(&compr->dev, card);
|
||||
dev_set_name(&compr->dev, "comprC%iD%i", card->number, device);
|
||||
|
||||
|
|
|
@ -689,7 +689,13 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
|
|||
compr->ops->copy = soc_compr_copy;
|
||||
|
||||
mutex_init(&compr->lock);
|
||||
ret = snd_compress_new(rtd->card->snd_card, num, direction, compr);
|
||||
|
||||
snprintf(new_name, sizeof(new_name), "%s %s-%d",
|
||||
rtd->dai_link->stream_name,
|
||||
rtd->codec_dai->name, num);
|
||||
|
||||
ret = snd_compress_new(rtd->card->snd_card, num, direction,
|
||||
new_name, compr);
|
||||
if (ret < 0) {
|
||||
pr_err("compress asoc: can't create compress for codec %s\n",
|
||||
codec->component.name);
|
||||
|
|
Loading…
Reference in New Issue