[alsa-devel] New SoC layer codec registration problem
Victor Rodriguez
vm.rod25 at gmail.com
Thu Oct 28 16:07:01 CEST 2010
On Thu, Oct 28, 2010 at 4:12 AM, Alexander <subaparts at yandex.ru> wrote:
> I'm trying to implement new SoC codec in linux-next-20101025 kernel.
>
> Part of the code:
> ---
> #if defined(CONFIG_SPI_MASTER)
> static int __devinit cs4271_spi_probe(struct spi_device *spi)
> {
> struct cs4271_private *cs4271;
> int ret;
>
> cs4271 = kzalloc(sizeof *cs4271, GFP_KERNEL);
> if (!cs4271)
> return -ENOMEM;
>
> spi_set_drvdata(spi, cs4271);
> cs4271->control_data = spi;
> cs4271->bus_type = SND_SOC_SPI;
>
> ret = snd_soc_register_codec(&spi->dev, &soc_codec_dev_cs4271,
> &cs4271_dai, 1);
Sorry for this maybe I am wrong but shouldn't this bee with {}
> if (ret < 0) {
> kfree(cs4271);
> return ret;
}
Thanks
Victor Rodriguez
> }
>
> static int __devexit cs4271_spi_remove(struct spi_device *spi)
> {
> snd_soc_unregister_codec(&spi->dev);
> kfree(spi_get_drvdata(spi));
> return 0;
> }
>
> static struct spi_driver cs4271_spi_driver = {
> .driver = {
> .name = "cs4271-codec",
> .owner = THIS_MODULE,
> },
> .probe = cs4271_spi_probe,
> .remove = __devexit_p(cs4271_spi_remove),
> };
> #endif /* defined(CONFIG_SPI_MASTER) */
> ---
>
> So, codec name I expect is "cs4271-codec", but codec registered with
> name "spi0.0"
>
> Here is boot log:
> ---
> Jan 1 00:00:04 miniCio user.debug kernel: cs4271-codec spi0.0: codec
> register spi0.0
> Jan 1 00:00:04 miniCio user.debug kernel: cs4271-codec spi0.0: dai
> register spi0.0 #1
> Jan 1 00:00:04 miniCio user.debug kernel: Registered DAI 'cs4271-hifi'
> Jan 1 00:00:04 miniCio user.debug kernel: Registered codec 'spi0.0'
> Jan 1 00:00:04 miniCio user.info kernel: Codec driver for CS4271
> registered
> Jan 1 00:00:04 miniCio user.debug kernel: ep93xx-pcm-audio
> ep93xx-pcm-audio: platform register ep93xx-pcm-audio
> Jan 1 00:00:04 miniCio user.debug kernel: Registered platform
> 'ep93xx-pcm-audio'
> Jan 1 00:00:04 miniCio user.debug kernel: ep93xx-i2s ep93xx-i2s: dai
> register ep93xx-i2s
> Jan 1 00:00:04 miniCio user.debug kernel: Registered DAI 'ep93xx-i2s'
> Jan 1 00:00:04 miniCio user.debug kernel: soc-audio soc-audio: binding
> CS4271 at idx 0
> Jan 1 00:00:04 miniCio user.debug kernel: soc-audio soc-audio: CODEC
> cs4271-codec not registered
> Jan 1 00:00:04 miniCio user.debug kernel: soc-audio soc-audio:
> Registered card 'EDB93XX'
> Jan 1 00:00:04 miniCio user.info kernel: EDB93xx Machine ALSA Driver
> Jan 1 00:00:04 miniCio user.info kernel: ALSA device list:
> Jan 1 00:00:04 miniCio user.info kernel: No soundcards found.
> ---
>
> What am I doing wrong?
>
> Alexander.
>
>
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
More information about the Alsa-devel
mailing list