2015-02-28 2 views
0

Я пытаюсь передать 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?

+0

Есть еще нет на этой странице? Проверьте 'sound/soc/bcm/bcm2835-i2s.c'. Обновление: ах, похоже, вы работаете с драйвером PCM ... – 0andriy

ответ

0

Я портировал 4.0 на малину pi, используя следующие шаги, заданные elinux, и я был успешным. Таким образом, вы также можете попробовать: Raspberry pi Upstream

Смежные вопросы