[alsa-devel] Building alsa drivers as part of alsa vs kernel external module
Hi,
I'm trying to compile the AudioScience driver as an external kernel module (i.e. using the alsa in the kernel, rather than as a module within the alsa tree).
What source code transformations can I expect to have to make?
Is there some documentation anywhere on what transformations are performed as standard?
Or is there a proper way that the module should be written so that it compiles both ways?
Of course, I understand that patches will most likely be required for the module to compile against older kernels in particular. This kind of problem is usually dealt with by autoconf. Is there a standard way of doing this for just compiling a module directly for the kernel? I see that alsa has its own set of autoconf macros, and when I compile directly for the kernel (and its embedded alsa) I will lose the benefit of that.
Ben Stanley.
At Mon, 26 May 2008 14:48:12 +1000, Ben Stanley wrote:
Hi,
I'm trying to compile the AudioScience driver as an external kernel module (i.e. using the alsa in the kernel, rather than as a module within the alsa tree).
What source code transformations can I expect to have to make?
Copy alsa-driver/pci/asihpi/*, modify Kconfig and Makefile. Remove inclusion of adriver.h, and eventually fix the build error.
Is there some documentation anywhere on what transformations are performed as standard?
There is no standard for doing this. The only standard is to build the modules in alsa-driver tree.
Or is there a proper way that the module should be written so that it compiles both ways?
Of course, I understand that patches will most likely be required for the module to compile against older kernels in particular. This kind of problem is usually dealt with by autoconf. Is there a standard way of doing this for just compiling a module directly for the kernel? I see that alsa has its own set of autoconf macros, and when I compile directly for the kernel (and its embedded alsa) I will lose the benefit of that.
Yes. The compatible layer for older kernels is really messy, and you just need do trial and error...
Takashi
participants (2)
-
Ben Stanley
-
Takashi Iwai