Hi, Hope this info is useful. (It includes instructions for using the alsa kernel patch for 2.5 kernels with 2.4.18 pre1 and some comments on what is likely to be a bug in the YMFPCI driver code. Also a comment on the Neomagic 256XL+ as implemented in the sony PCG-F570 laptop.)
I am starting to maintain Alsa for internal use and was uncertain about the ongoing maintenence on the alsa-driver tarball (beta10) used to make modules for earlier kernels. (This file is about 2 months old.) Most of the current work seems to be focused on getting Alsa into the kernel. (Seems like a good idea to me!) Unfortunatly for me this means that it will (perhaps) be more work for me to keep things working with the 2.4 kernels. The stratigy I used was to make a kernel tree based on 2.5.2p10 and then apply the Alsa patch alsa-2002-01-06-1-linux-2.5.2pre9.patch.gz I made a tarball of the new sound directory and the include/sound directory from inside the 'linux' dir. tar jcvf alsa-2002-01-06-1.tar.bz2 include/sound sound I unzipped the patch and edited it leaving only what I will call the 'core' files. In other words I deleted all the patches against 'drivers/sound', 'include/sound', and 'sound' directories. Fortunatly the files we want to keep are all at the front of the patch file. This leaves a patch that is about 9K in length. Note: It might be nice to maintain this part of the alsa patch separately to aid doing this in the future. I prepared a kernel source directory for 2.4.18-pre1 sources and then applied the alsa-kernel-core.patch and etc like this... cd linux-2.4.18-pre1 gzip -dc alsa-kernel-core.patch.gz | patch -p1 tar jxvf alsa-2002-01-06-1-linux-2.5.2pre9.patch.gz rm -rf drivers/sound This is the point I started at. I found that the change from using MINOR, MAJOR, and MKDEV to minor, major and mk_kdev caused a problem. I hand edited the file linux-2.4.18-pre1/include/linux/kdev_t.h making duplicates of the definitions noted above and renaming them as shown above. At this point the kernel can be compiled. I was doing this on a Sony laptop with a NV256XL+ which does not seem to be supported. (But in the attempt to compile for the NV256 with a number of interesting items in my kernel config (read: I have no idea which parameter caused this) I found that 'sound/core/rawmidi.c needs one of the definitions for major/minor but did not include an appropriate header. I added #include <linux/kdev_t.h> to fix this. I then found that the nv256 does not work on my laptop. A look in /proc/pci reveals that Sony provides a YMF744B on this laptop. (perhaps the NV256XL+ has the sound core stripped out? Or perhaps Sony thought that adding a better supported chip was a good idea?) I recompiled for the YMF744 and found the following bugs. at link time in routine snd_card_ymfpci_probe the following are undefined: snd_opl3_create and snd_opl3_hwdep_new This is fixed by adding a line to 'sound/drivers/opl3/Makefile' obj-$(CONFIG_SND_YMFPCI) += snd-opl3-lib.o I don't know if we need an equivelent line for += snd-opl3-synth.o for these chips. The Makefile in sound/core also is missing the inclusion of a .o file for YMFPCI, add 'snd_hwdep.o' to the line for the YMFPCI chip After recompiling the dsp device seems to work fine. (more testing to follow on several platforms.) Thanks for the great work, Alsa is looking very good! Regards, Curtis -- Curtis Veit email: [EMAIL PROTECTED] Lineo Inc. Where Open Meets Smart 390 South 400 West phone: 801.426.5001 Lindon, Utah, USA 84042 fax: 801.852.8071
alsa-kernel-core.patch.gz
Description: Binary data