[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: