Re: ALSA Driver for Sparc DBRI chips
Am Montag, 6. Dezember 2004 15:40 schrieb Martin Habets:
> > I have another problem compiling the driver (although compiling
> > sun-amd7930 shows the same problems). I did a "make clean" prior to
> > "make" and still get the following errors:
>
> I think most of the redefined warnings are caused because the old OSS
> drivers are still enabled: turn off CONFIG_SPARCAUDIO_AMD7930 and
> CONFIG_SPARCAUDIO_DBRI.
>
> I do not know the cause of the error on sbus_root yet. As I am currently
> travelling I do not have access to my sparc to investigate this in detail,
> but I'll try to look into this the best I can.
>
> The strange function suffixes are because module versioning is turned
> on I think. But that should not pose a problem.
I recompiled linux-2.4.27 without audio drivers and without initrd and without
versioned symbols.
The drivers compile now cleanly but they fail to load because of another
problem:
# modprobe snd-sun-dbri
/lib/modules/2.4.27/kernel/sound/acore/snd-page-alloc.o: /lib/modules/2.4.27/kernel/sound/acore/snd-page-alloc.o:
unresolved symbol pci_free_consistent
/lib/modules/2.4.27/kernel/sound/acore/snd-page-alloc.o: /lib/modules/2.4.27/kernel/sound/acore/snd-page-alloc.o:
unresolved symbol pci_alloc_consistent
/lib/modules/2.4.27/kernel/sound/acore/snd-page-alloc.o:
insmod /lib/modules/2.4.27/kernel/sound/acore/snd-page-alloc.o failed
/lib/modules/2.4.27/kernel/sound/acore/snd-page-alloc.o: insmod snd-sun-dbri
failed
I already localized the lines that cause the problem:
acore/memalloc.c:125:
/* for 2.2/2.4 kernels */
#define dma_alloc_coherent(dev,size,addr,flags) pci_alloc_consistent((struct
pci_dev *)(dev),size,addr)
#define dma_free_coherent(dev,size,ptr,addr) pci_free_consistent((struct
pci_dev *)(dev),size,ptr,addr)
Most probably, those pci_* functions are only available if the kernel was
compiled with PCI support. However, that does not quite make sense on systems
that do not have a PCI bus (e.g. ISA-only, SBUS-only, etc.).
I did not try to build a kernel that includes PCI support, would be strange to
do that just to satisfy a #define :-/
Maybe there is a possible work-around for this? I am not sure that the
snd-sun-* modules actually use functions that involve those defines. Maybe
it's just a build rules failure, don't know.
This seems to be the last step to actually be able to test those modules...
I already wrote the above lines to the authors of the above file but got no
reply, yet.
If the alsa drivers work and alsa comes with those files and that alsa version
is shipped with Debian, maybe the default sparc kernel config can be without
the audio drivers and provide a pre-compiled alsa instead.
HS
--
Mein GPG-Key ist auf meiner Homepage verfügbar: http://www.hendrik-sattler.de
oder über pgp.net
PingoS - Linux-User helfen Schulen: http://www.pingos.org
Reply to: