Sound on developer board Mini2440
From: Ilya Averyanov
Date: Tue Mar 08 2011 - 07:41:12 EST
In the new kernels for some reason the sound does not work in dev kit
[www.friendlyarm.net]
Tried to understand, but something does not work.
static struct platform_driver s3c24xx_uda134x_driver = {
.probe = s3c24xx_uda134x_probe,
.remove = s3c24xx_uda134x_remove,
.driver = {
.name = "s3c24xx_uda134x",
.owner = THIS_MODULE,
},
};
static int __init s3c24xx_uda134x_init(void)
{
return platform_driver_register(&s3c24xx_uda134x_driver);
}
Here everything is ok. s3c24xx_uda134x_probe called. Comes to
snd_soc_instantiate_card (which in linux-2.6 \ sound \ sos \
soc-core.c)
But it comes up here
for (i = 0; i < card->num_links; i++)
soc_bind_dai_link(card, i);
//soc_bind_dai_link
....
find_platform:
/* do we already have the CODEC DAI for this link ? */
if (rtd->platform) {
goto out;
}
/* no, then find CPU DAI from registered DAIs*/
list_for_each_entry(platform, &platform_list, list) {
if (!strcmp(platform->name, dai_link->platform_name)) {
rtd->platform = platform;
goto out;
}
}
...
And here's the problem. platform_list empty. began to look like
filled, found the file linux-2.6 \ sound \ soc \ samsung \ dma.c there
.....
static int __devinit samsung_asoc_platform_probe (struct platform_device * pdev)
{
/ / This function is no longer executes.
return snd_soc_register_platform(&pdev->dev, &samsung_asoc_platform);
}
static int __devexit samsung_asoc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
}
static struct platform_driver asoc_dma_driver = {
.driver = {
.name = "samsung-audio",
.owner = THIS_MODULE,
},
.probe = samsung_asoc_platform_probe,
.remove = __devexit_p(samsung_asoc_platform_remove),
};
static int __init samsung_asoc_init(void)
{
//But this is performed
return platform_driver_register(&asoc_dma_driver);
}
module_init(samsung_asoc_init);
....
Where to look the problem?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/