Я пытаюсь передать snd_bcm2835 в основное ядро (главным образом потому, что официальное ядро rpi не использует дерево устройств).RaspberryPi: snd_bcm2835 порт для ядра ядра
В настоящее время vcio, vchiq, snd_bcm2835 могут быть встроены в ядро, но до сих пор нет действительного устройства для воспроизведения звука. функция module_init модуля snd_bcm2835 является bcm2835_alsa_device_init(), это основная работа (а Simplify версия):
static int bcm2835_alsa_device_init(void)
{
platform_driver_register(&bcm2835_alsa0_driver);
platform_driver_register(&bcm2835_alsa1_driver);
//...repeat for 8 times
}
эта функция bcm2835_alsa_device_init вызывается, когда я insmod snd_bcm2835, он может работать без ошибок.
и структура bcm2835_alsa0_driver, bcm2835_alsa1_driver выглядеть следующим образом:
static struct platform_driver bcm2835_alsa0_driver = {
.probe = snd_bcm2835_alsa_probe,
.remove = snd_bcm2835_alsa_remove,
//...
}
функция .probe snd_bcm2835_alsa_probe является основной рабочей лошадкой, но это не было названо.
поэтому вопрос в том, когда будет вызван этот вызов snd_bcm2835_alsa_probe?
Есть еще нет на этой странице? Проверьте 'sound/soc/bcm/bcm2835-i2s.c'. Обновление: ах, похоже, вы работаете с драйвером PCM ... – 0andriy