ASOC v2 driver structure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm trying to write an asoc v2 driver for my powerpc based SOC
(mpc5200) hardware. We have two audio devices on the board, a WM8580
and a TAS5504.  How do you do this with asoc v2? The card is created
in snd_soc_machine_create(); there seems to be an assumption of a
single card per machine.

Or are you supposed to mix the different devices into a single pcm
driver? What would happen in pxa2xx-pcm.c if more than one of these
were defined?

static int pxa2xx_pcm_probe(struct device *dev)
{
	struct snd_soc_platform *platform = to_snd_soc_platform(dev);
	int ret;
	
	platform->pcm_ops = &pxa2xx_pcm_ops;
	platform->pcm_new = pxa2xx_pcm_new,
	platform->pcm_free = pxa2xx_pcm_free_dma_buffers,
#if defined(CONFIG_SND_PXA2XX_SOC_I2S)	
	ret = snd_soc_platform_add_dai(platform, &pxa2xx_i2s, 1);
	if (ret < 0)
		return ret;
#endif
#if defined(CONFIG_SND_PXA2XX_SOC_AC97)	
	ret = snd_soc_platform_add_dai(platform, pxa2xx_ac97, 3);
	if (ret < 0)
		return ret;
#endif
#if defined(CONFIG_SND_PXA2XX_SOC_SSP)	
	ret = snd_soc_platform_add_dai(platform, pxa2xx_ssp, 3);
	if (ret < 0)
		return ret;
#endif	
	ret = snd_soc_register_platform(platform);
	return ret;
}



-- 
Jon Smirl
jonsmirl@xxxxxxxxx
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux