Linux - KernelThis forum is for all discussion relating to the Linux kernel.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I am trying to create a simple driver for my PCI sound card in which I will use the ALSA api. And of course I face a problem: I can't make my driver work.
So here are some details:
1. As I mentioned my sound card is a PCI device. In order to start my driver I had to stop the originally running snd_intel8x0 driver, as it had occupied the device and it was not accessible(the probe function of my driver was never executed). So I blacklisted the snd_intel8x0 driver (added line in /etc/modporbe.d/blacklist.conf).
From this moment on my driver can be started - the probe function is started.
2. Unfortunately when snd_intel8x0 driver is blacklisted ALSA api also seems to disappear. I observe the following:
- when I start my driver I get these errors in dmesg:
[...] alsa: Unknown symbol snd_card_register (err 0)
[...] alsa: Unknown symbol snd_card_create (err 0)
[...] alsa: Unknown symbol snd_card_free (err 0)
[...] alsa: Unknown symbol snd_device_new (err 0)
- in file /proc/kallsyms there are no snd* symbols (if the original driver snd_intel8x0 is running all of the above mentioned snd* functions are available in /proc/kallsyms)
- there is folder /proc/asound (if snd_intel8x0 is running asound folder is present)
So my questions:
1. How can I make my PCI audio card use my driver and not snd_intel8x0?
2. How do I make ALSA available for my driver?
3. In general: why does ALSA disappear when snd_intel8x0 is blacklisted?