内核驱动,无外乎。
设备--总线--驱动。三者之间的关联。
简介
由于最近在做声卡驱动方面的东西。所以本文分析的是,soc下的wm9713的声卡流程。以及soc的部分。
(1) 从哪里来?
//sound/soc/soc-core.c
static int __devinit snd_soc_init(void)
{
printk(KERN_INFO "ASoC version %s\n", SND_SOC_VERSION);
return platform_driver_register(&soc_driver);
}
/* ASoC platform driver */
static struct platform_driver soc_driver = {
.driver = {
.name = "soc-audio",
},
.probe = soc_probe,
.remove = soc_remove,
.suspend = soc_suspend,
.resume = soc_resume,
};
/* probes a new socdev */
static int soc_probe(struct platform_device *pdev)
{
int ret = 0, i;
struct snd_soc_device *socdev = platform_get_drvdata(pdev);
struct snd_