[Pkg-alsa-devel] [Debian ALSA CVS] debian/alsa-driver (15 files)

David B Harris dbharris-guest@quantz.debian.org
Mon, 01 Mar 2004 01:13:52 +0100


    Date: Monday, March 1, 2004 @ 01:13:52
  Author: dbharris-guest
    Path: /cvsroot/pkg-alsa/debian/alsa-driver

Modified: alsa-kernel/include/ac97_codec.h alsa-kernel/pci/emu10k1/emufx.c
          configure configure.in debian/changelog include/adriver.h
          include/config.h.in include/config1.h.in
 Removed: doc/MIXART.txt include/ak4117.h pci/mixart/mixart.h
          pci/mixart/mixart_core.h pci/mixart/mixart_hwdep.h
          pci/mixart/mixart_mixer.h pcmcia/pdaudiocf/pdaudiocf.c

New upstream alsa-driver release, 1.0.3


----------------------------------+
 alsa-kernel/include/ac97_codec.h |    4 
 alsa-kernel/pci/emu10k1/emufx.c  |   26 +
 configure                        |  183 ++++++++---
 configure.in                     |   70 +++-
 debian/changelog                 |    3 
 doc/MIXART.txt                   |   84 -----
 include/adriver.h                |    5 
 include/ak4117.h                 |  191 -----------
 include/config.h.in              |    1 
 include/config1.h.in             |    3 
 pci/mixart/mixart.h              |  242 --------------
 pci/mixart/mixart_core.h         |  607 -------------------------------------
 pci/mixart/mixart_hwdep.h        |  155 ---------
 pci/mixart/mixart_mixer.h        |   31 -
 pcmcia/pdaudiocf/pdaudiocf.c     |  455 ---------------------------
 15 files changed, 218 insertions(+), 1842 deletions(-)


Index: debian/alsa-driver/alsa-kernel/include/ac97_codec.h
diff -u debian/alsa-driver/alsa-kernel/include/ac97_codec.h:1.8 debian/alsa-driver/alsa-kernel/include/ac97_codec.h:1.9
--- debian/alsa-driver/alsa-kernel/include/ac97_codec.h:1.8	Tue Feb  3 19:36:41 2004
+++ debian/alsa-driver/alsa-kernel/include/ac97_codec.h	Mon Mar  1 01:13:51 2004
@@ -479,6 +479,8 @@
 
 /* quirk types */
 enum {
+	AC97_TUNE_DEFAULT = -1,	/* use default from quirk list (not valid in list) */
+	AC97_TUNE_NONE = 0,	/* nothing extra to do */
 	AC97_TUNE_HP_ONLY,	/* headphone (true line-out) control as master only */
 	AC97_TUNE_SWAP_HP,	/* swap headphone and master controls */
 	AC97_TUNE_SWAP_SURROUND, /* swap master and surround controls */
@@ -493,7 +495,7 @@
 	int type;		/* quirk type above */
 };
 
-int snd_ac97_tune_hardware(ac97_t *ac97, struct ac97_quirk *quirk);
+int snd_ac97_tune_hardware(ac97_t *ac97, struct ac97_quirk *quirk, int override);
 int snd_ac97_set_rate(ac97_t *ac97, int reg, unsigned short rate);
 
 int snd_ac97_pcm_assign(ac97_bus_t *ac97,
Index: debian/alsa-driver/alsa-kernel/pci/emu10k1/emufx.c
diff -u debian/alsa-driver/alsa-kernel/pci/emu10k1/emufx.c:1.12 debian/alsa-driver/alsa-kernel/pci/emu10k1/emufx.c:1.13
--- debian/alsa-driver/alsa-kernel/pci/emu10k1/emufx.c:1.12	Tue Feb  3 19:36:41 2004
+++ debian/alsa-driver/alsa-kernel/pci/emu10k1/emufx.c	Mon Mar  1 01:13:51 2004
@@ -1330,7 +1330,7 @@
 #define A_ADD_VOLUME_IN(var,vol,input) \
 A_OP(icode, &ptr, iMAC0, A_GPR(var), A_GPR(var), A_GPR(vol), A_EXTIN(input))
 
-	/* AC'97 Playback Volume - used only for mic */
+	/* AC'97 Playback Volume - used only for mic (renamed later) */
 	A_ADD_VOLUME_IN(stereo_mix, gpr, A_EXTIN_AC97_L);
 	A_ADD_VOLUME_IN(stereo_mix+1, gpr+1, A_EXTIN_AC97_R);
 	snd_emu10k1_init_stereo_control(&controls[nctl++], "AMic Playback Volume", gpr, 0);
@@ -1347,12 +1347,16 @@
 	/* Audigy CD Playback Volume */
 	A_ADD_VOLUME_IN(stereo_mix, gpr, A_EXTIN_SPDIF_CD_L);
 	A_ADD_VOLUME_IN(stereo_mix+1, gpr+1, A_EXTIN_SPDIF_CD_R);
-	snd_emu10k1_init_stereo_control(&controls[nctl++], "Audigy CD Playback Volume", gpr, 0);
+	snd_emu10k1_init_stereo_control(&controls[nctl++],
+					emu->no_ac97 ? "CD Playback Volume" : "Audigy CD Playback Volume",
+					gpr, 0);
 	gpr += 2;
 	/* Audigy CD Capture Volume */
 	A_ADD_VOLUME_IN(capture, gpr, A_EXTIN_SPDIF_CD_L);
 	A_ADD_VOLUME_IN(capture+1, gpr+1, A_EXTIN_SPDIF_CD_R);
-	snd_emu10k1_init_stereo_control(&controls[nctl++], "Audigy CD Capture Volume", gpr, 0);
+	snd_emu10k1_init_stereo_control(&controls[nctl++],
+					emu->no_ac97 ? "CD Capture Volume" : "Audigy CD Capture Volume",
+					gpr, 0);
 	gpr += 2;
 
  	/* Optical SPDIF Playback Volume */
@@ -1369,12 +1373,16 @@
 	/* Line2 Playback Volume */
 	A_ADD_VOLUME_IN(stereo_mix, gpr, A_EXTIN_LINE2_L);
 	A_ADD_VOLUME_IN(stereo_mix+1, gpr+1, A_EXTIN_LINE2_R);
-	snd_emu10k1_init_stereo_control(&controls[nctl++], "Line2 Playback Volume", gpr, 0);
+	snd_emu10k1_init_stereo_control(&controls[nctl++],
+					emu->no_ac97 ? "Line Playback Volume" : "Line2 Playback Volume",
+					gpr, 0);
 	gpr += 2;
 	/* Line2 Capture Volume */
 	A_ADD_VOLUME_IN(capture, gpr, A_EXTIN_LINE2_L);
 	A_ADD_VOLUME_IN(capture+1, gpr+1, A_EXTIN_LINE2_R);
-	snd_emu10k1_init_stereo_control(&controls[nctl++], "Line2 Capture Volume", gpr, 0);
+	snd_emu10k1_init_stereo_control(&controls[nctl++],
+					emu->no_ac97 ? "Line Capture Volume" : "Line2 Capture Volume",
+					gpr, 0);
 	gpr += 2;
         
 	/* Philips ADC Playback Volume */
@@ -1391,12 +1399,16 @@
 	/* Aux2 Playback Volume */
 	A_ADD_VOLUME_IN(stereo_mix, gpr, A_EXTIN_AUX2_L);
 	A_ADD_VOLUME_IN(stereo_mix+1, gpr+1, A_EXTIN_AUX2_R);
-	snd_emu10k1_init_stereo_control(&controls[nctl++], "Aux2 Playback Volume", gpr, 0);
+	snd_emu10k1_init_stereo_control(&controls[nctl++],
+					emu->no_ac97 ? "Aux Playback Volume" : "Aux2 Playback Volume",
+					gpr, 0);
 	gpr += 2;
 	/* Aux2 Capture Volume */
 	A_ADD_VOLUME_IN(capture, gpr, A_EXTIN_AUX2_L);
 	A_ADD_VOLUME_IN(capture+1, gpr+1, A_EXTIN_AUX2_R);
-	snd_emu10k1_init_stereo_control(&controls[nctl++], "Aux2 Capture Volume", gpr, 0);
+	snd_emu10k1_init_stereo_control(&controls[nctl++],
+					emu->no_ac97 ? "Aux Capture Volume" : "Aux2 Capture Volume",
+					gpr, 0);
 	gpr += 2;
 	
 	/* Stereo Mix Front Playback Volume */
Index: debian/alsa-driver/configure
diff -u debian/alsa-driver/configure:1.21 debian/alsa-driver/configure:1.22
--- debian/alsa-driver/configure:1.21	Mon Feb  9 06:10:32 2004
+++ debian/alsa-driver/configure	Mon Mar  1 01:13:51 2004
@@ -271,7 +271,7 @@
 
 ac_unique_file="acore/sound.patch"
 ac_default_prefix=/usr
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AR AS CPP EGREP SRCDIR CROSS_COMPILE CONFIG_SND_KERNELDIR kaversion kversion kpatchlevel ksublevel kextraversion NEW_KBUILD CONFIG_SND_MVERSION CONFIG_PCI CONFIG_SGI moddir modsubdir moddir_tree processor LD CONFIG_X86 CONFIG_ALPHA CONFIG_L3 CONFIG_ARM CONFIG_PPC CONFIG_ISA CONFIG_PARISC CONFIG_SND_BIT32_EMUL msmp CONFIG_VIDEO_DEV CONFIG_ISAPNP_KERNEL CONFIG_PNP_KERNEL CONFIG_ISAPNP CONFIG_PNP CONFIG_SND_VERSION CONFIG_SND_DATE CONFIG_SND_SEQUENCER CONFIG_SND_OSSEMUL CONFIG_SND_RTCTIMER CONFIG_RTC CONFIG_USB CONFIG_PCMCIA CONFIG_X86_PC9800 CONFIG_SND_DUMMY CONFIG_SND_VIRMIDI CONFIG_SND_SERIAL_U16550 CONFIG_SND_MTPAV CONFIG_SND_MPU401 CONFIG_SND_ALS100 CONFIG_SND_AZT2320 CONFIG_SND_CMI8330 CONFIG_SND_DT019X CONFIG_SND_ES18XX CONFIG_SND_OPL3SA2 CONFIG_SND_SGALAXY CONFIG_SND_SSCAPE CONFIG_SND_AD1816A CONFIG_SND_AD1848 CONFIG_SND_CS4231 CONFIG_SND_CS4232 CONFIG_SND_CS4236 CONFIG_SND_PC98_CS4232 CONFIG_SND_ES1688 CONFIG_SND_GUSCLASSIC CONFIG_SND_GUSMAX CONFIG_SND_GUSEXTREME CONFIG_SND_INTERWAVE CONFIG_SND_INTERWAVE_STB CONFIG_SND_OPTI92X_AD1848 CONFIG_SND_OPTI92X_CS4231 CONFIG_SND_OPTI93X CONFIG_SND_SB8 CONFIG_SND_SB16 CONFIG_SND_SBAWE CONFIG_SND_ES968 CONFIG_SND_WAVEFRONT CONFIG_SND_ALS4000 CONFIG_SND_AZT3328 CONFIG_SND_BT87X CONFIG_SND_CMIPCI CONFIG_SND_CS4281 CONFIG_SND_ENS1370 CONFIG_SND_ENS1371 CONFIG_SND_ES1938 CONFIG_SND_ES1968 CONFIG_SND_FM801 CONFIG_SND_INTEL8X0 CONFIG_SND_MAESTRO3 CONFIG_SND_RME32 CONFIG_SND_RME96 CONFIG_SND_SONICVIBES CONFIG_SND_VIA82XX CONFIG_SND_ALI5451 CONFIG_SND_CS46XX CONFIG_SND_EMU10K1 CONFIG_SND_ICE1712 CONFIG_SND_ICE1724 CONFIG_SND_KORG1212 CONFIG_SND_NM256 CONFIG_SND_RME9652 CONFIG_SND_HDSP CONFIG_SND_TRIDENT CONFIG_SND_VX222 CONFIG_SND_YMFPCI CONFIG_SND_POWERMAC CONFIG_SND_SA11XX_UDA1341 CONFIG_SND_USB_AUDIO CONFIG_SND_HARMONY CONFIG_SND_VXPOCKET CONFIG_SND_VXP440 CONFIG_SND_SERIALMIDI CONFIG_SND_INTEL8X0M CONFIG_SND_HDSPM CONFIG_SND_PDPLUS CONFIG_SND_MIXART CONFIG_SND_MSND_PINNACLE CONFIG_SND_PDAUDIOCF CONFIG_SND_USB_USX2Y CONFIG_SND_AU8810 CONFIG_SND_AU8820 CONFIG_SND_AU8830 c_opts m_opts GENKSYMS EXTRA_INCLUDES KERNEL_INC LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AR AS CPP EGREP SRCDIR CROSS_COMPILE CONFIG_SND_KERNELDIR kaversion kversion kpatchlevel ksublevel kextraversion NEW_KBUILD CONFIG_SND_MVERSION CONFIG_PCI CONFIG_SGI moddir modsubdir moddir_tree processor LD CONFIG_X86 CONFIG_ALPHA CONFIG_L3 CONFIG_ARM CONFIG_PPC CONFIG_ISA CONFIG_PARISC CONFIG_SND_BIT32_EMUL msmp CONFIG_VIDEO_DEV CONFIG_ISAPNP_KERNEL CONFIG_PNP_KERNEL CONFIG_ISAPNP CONFIG_PNP CONFIG_SND_VERSION CONFIG_SND_DATE CONFIG_SND_SEQUENCER CONFIG_SND_OSSEMUL CONFIG_SND_RTCTIMER CONFIG_RTC CONFIG_USB CONFIG_PCMCIA CONFIG_X86_PC9800 CONFIG_SND_DUMMY CONFIG_SND_VIRMIDI CONFIG_SND_SERIAL_U16550 CONFIG_SND_MTPAV CONFIG_SND_MPU401 CONFIG_SND_ALS100 CONFIG_SND_AZT2320 CONFIG_SND_CMI8330 CONFIG_SND_DT019X CONFIG_SND_ES18XX CONFIG_SND_OPL3SA2 CONFIG_SND_SGALAXY CONFIG_SND_SSCAPE CONFIG_SND_AD1816A CONFIG_SND_AD1848 CONFIG_SND_CS4231 CONFIG_SND_CS4232 CONFIG_SND_CS4236 CONFIG_SND_PC98_CS4232 CONFIG_SND_ES1688 CONFIG_SND_GUSCLASSIC CONFIG_SND_GUSMAX CONFIG_SND_GUSEXTREME CONFIG_SND_INTERWAVE CONFIG_SND_INTERWAVE_STB CONFIG_SND_OPTI92X_AD1848 CONFIG_SND_OPTI92X_CS4231 CONFIG_SND_OPTI93X CONFIG_SND_SB8 CONFIG_SND_SB16 CONFIG_SND_SBAWE CONFIG_SND_ES968 CONFIG_SND_WAVEFRONT CONFIG_SND_ALS4000 CONFIG_SND_AZT3328 CONFIG_SND_BT87X CONFIG_SND_CMIPCI CONFIG_SND_CS4281 CONFIG_SND_ENS1370 CONFIG_SND_ENS1371 CONFIG_SND_ES1938 CONFIG_SND_ES1968 CONFIG_SND_FM801 CONFIG_SND_INTEL8X0 CONFIG_SND_MAESTRO3 CONFIG_SND_RME32 CONFIG_SND_RME96 CONFIG_SND_SONICVIBES CONFIG_SND_VIA82XX CONFIG_SND_ALI5451 CONFIG_SND_CS46XX CONFIG_SND_EMU10K1 CONFIG_SND_ICE1712 CONFIG_SND_ICE1724 CONFIG_SND_KORG1212 CONFIG_SND_MIXART CONFIG_SND_NM256 CONFIG_SND_RME9652 CONFIG_SND_HDSP CONFIG_SND_TRIDENT CONFIG_SND_VX222 CONFIG_SND_YMFPCI CONFIG_SND_POWERMAC CONFIG_SND_SA11XX_UDA1341 CONFIG_SND_USB_AUDIO CONFIG_SND_HARMONY CONFIG_SND_VXPOCKET CONFIG_SND_VXP440 CONFIG_SND_SERIALMIDI CONFIG_SND_INTEL8X0M CONFIG_SND_HDSPM CONFIG_SND_ATIIXP CONFIG_SND_PDPLUS CONFIG_SND_MSND_PINNACLE CONFIG_SND_PDAUDIOCF CONFIG_SND_USB_USX2Y CONFIG_SND_AU8810 CONFIG_SND_AU8820 CONFIG_SND_AU8830 c_opts m_opts GENKSYMS EXTRA_INCLUDES KERNEL_INC LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -834,11 +834,11 @@
                           ens1371, es1938, es1968, fm801, intel8x0,
                           maestro3, rme32, rme96, sonicvibes, via82xx,
                           ali5451, cs46xx, emu10k1, ice1712, ice1724,
-                          korg1212, nm256, rme9652, hdsp, trident, vx222,
-                          ymfpci, powermac, sa11xx-uda1341, usb-audio,
-                          harmony, vxpocket, vxp440, serialmidi, intel8x0m,
-                          hdspm, pdplus, mixart, msnd-pinnacle, pdaudiocf,
-                          usb-usx2y, au8810, au8820, au8830
+                          korg1212, mixart, nm256, rme9652, hdsp, trident,
+                          vx222, ymfpci, powermac, sa11xx-uda1341,
+                          usb-audio, harmony, vxpocket, vxp440, serialmidi,
+                          intel8x0m, hdspm, atiixp, pdplus, msnd-pinnacle,
+                          pdaudiocf, usb-usx2y, au8810, au8820, au8830
 
 Some influential environment variables:
   CC          C compiler command
@@ -1255,7 +1255,7 @@
 
 
 
-CONFIG_SND_VERSION="1.0.2c"
+CONFIG_SND_VERSION="1.0.3"
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -3044,8 +3044,9 @@
   exit 1
 fi
 KERNEL_INC="-I$CONFIG_SND_KERNELDIR/include"
+HACK_KERNEL_INC=""
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 if test "${kaversion+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3146,7 +3147,7 @@
 echo "$as_me:$LINENO: checking for GCC version" >&5
 echo $ECHO_N "checking for GCC version... $ECHO_C" >&6
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 if test "${kernel_gcc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3360,7 +3361,7 @@
   echo "$as_me:$LINENO: checking for built-in ALSA" >&5
 echo $ECHO_N "checking for built-in ALSA... $ECHO_C" >&6
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
@@ -3422,7 +3423,7 @@
   echo "$as_me:$LINENO: checking for existing ALSA module" >&5
 echo $ECHO_N "checking for existing ALSA module... $ECHO_C" >&6
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
@@ -3507,7 +3508,7 @@
   echo "$as_me:$LINENO: checking for Red Hat kernel" >&5
 echo $ECHO_N "checking for Red Hat kernel... $ECHO_C" >&6
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
@@ -4110,7 +4111,7 @@
   echo "$as_me:$LINENO: checking for kernel module symbol versions" >&5
 echo $ECHO_N "checking for kernel module symbol versions... $ECHO_C" >&6
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
@@ -4171,7 +4172,7 @@
   echo "$as_me:$LINENO: checking for PCI support in kernel" >&5
 echo $ECHO_N "checking for PCI support in kernel... $ECHO_C" >&6
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
@@ -4375,7 +4376,7 @@
   echo "$as_me:$LINENO: checking for ISA support in kernel" >&5
 echo $ECHO_N "checking for ISA support in kernel... $ECHO_C" >&6
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
@@ -4441,7 +4442,7 @@
 processor=""
 rm -f processor.id
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
 echo "${ECHO_T}\"unknown\"" >&6;processor=""
@@ -4653,6 +4654,15 @@
     c_opts="$c_opts -Wa,-mev6"
     processor="alpha"
     CONFIG_ALPHA=y
+  cat > $SRCDIR/include/asm/hack-current.h << EOF
+#ifndef _ALPHA_CURRENT_H
+#define _ALPHA_CURRENT_H
+
+extern struct task_struct *current;
+
+#endif /* !(_ALPHA_CURRENT_H) */
+EOF
+    HACK_KERNEL_INC="$HACK_KERNEL_INC --include $SRCDIR/include/asm/hack-current.h"
     ;;
   ppc)
     c_opts="-D__powerpc__ -fsigned-char -fno-builtin -msoft-float -ffixed-r2 -Wno-uninitialized -mmultiple -mstring"
@@ -4855,7 +4865,7 @@
   echo "$as_me:$LINENO: checking for SMP" >&5
 echo $ECHO_N "checking for SMP... $ECHO_C" >&6
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
@@ -4921,7 +4931,7 @@
   echo "$as_me:$LINENO: checking for Video device support in kernel" >&5
 echo $ECHO_N "checking for Video device support in kernel... $ECHO_C" >&6
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
@@ -5015,7 +5025,7 @@
   echo "$as_me:$LINENO: checking for Kernel ISA-PnP support" >&5
 echo $ECHO_N "checking for Kernel ISA-PnP support... $ECHO_C" >&6
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
@@ -5073,7 +5083,7 @@
   echo "$as_me:$LINENO: checking for Kernel ISA-PnP module support" >&5
 echo $ECHO_N "checking for Kernel ISA-PnP module support... $ECHO_C" >&6
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
@@ -5181,7 +5191,7 @@
 echo $ECHO_N "checking for strlcpy... $ECHO_C" >&6
 strlcpy="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="-Wall -Werror $CFLAGS $KERNEL_INC"
+CFLAGS="-Wall -Werror $CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -5240,7 +5250,7 @@
 echo $ECHO_N "checking for snprintf... $ECHO_C" >&6
 snprintf="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="-Wall -Werror $CFLAGS $KERNEL_INC"
+CFLAGS="-Wall -Werror $CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -5294,11 +5304,69 @@
 
 fi
 
+echo "$as_me:$LINENO: checking for scnprintf" >&5
+echo $ECHO_N "checking for scnprintf... $ECHO_C" >&6
+scnprintf="0"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS="-Wall -Werror $CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define __KERNEL__
+#include "$CONFIG_SND_KERNELDIR/include/linux/config.h"
+#include "$CONFIG_SND_KERNELDIR/include/linux/kernel.h"
+
+int
+main ()
+{
+
+  char buf[128];
+  scnprintf(buf, sizeof(buf), "abcd");
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  echo "$as_me:$LINENO: result: \"yes\"" >&5
+echo "${ECHO_T}\"yes\"" >&6;scnprintf="1"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+echo "$as_me:$LINENO: result: \"no\"" >&5
+echo "${ECHO_T}\"no\"" >&6;scnprintf="0"
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+CFLAGS=$ac_save_CFLAGS
+CONFIG_HAVE_SCNPRINTF=$scnprintf
+if test "$CONFIG_HAVE_SCNPRINTF" = "1"; then
+  cat >>confdefs.h <<\_ACEOF
+#define CONFIG_HAVE_SCNPRINTF 1
+_ACEOF
+
+fi
+
 echo "$as_me:$LINENO: checking for vmalloc_to_page" >&5
 echo $ECHO_N "checking for vmalloc_to_page... $ECHO_C" >&6
 vmalloc_to_page="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -5357,7 +5425,7 @@
 echo $ECHO_N "checking for old kmod... $ECHO_C" >&6
 old_kmod="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -Wall $KERNEL_INC"
+CFLAGS="$CFLAGS -Wall $KERNEL_INC $HACK_KERNEL_INC"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -5414,7 +5482,7 @@
 echo $ECHO_N "checking for PDE... $ECHO_C" >&6
 pde_defined="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -Wall $KERNEL_INC"
+CFLAGS="$CFLAGS -Wall $KERNEL_INC $HACK_KERNEL_INC"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -5473,7 +5541,7 @@
 echo $ECHO_N "checking for pci_set_consistent_dma_mask... $ECHO_C" >&6
 pci_consistent_defined="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -Wall $KERNEL_INC"
+CFLAGS="$CFLAGS -Wall $KERNEL_INC $HACK_KERNEL_INC"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -5531,7 +5599,7 @@
 echo $ECHO_N "checking for tty->count is the atomic type... $ECHO_C" >&6
 tty_count_atomic="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -Wall $KERNEL_INC"
+CFLAGS="$CFLAGS -Wall $KERNEL_INC $HACK_KERNEL_INC"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -5590,7 +5658,7 @@
 echo $ECHO_N "checking for video_get_drvdata... $ECHO_C" >&6
 video_get_drvdata="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -5651,7 +5719,7 @@
 echo $ECHO_N "checking for old kill_fasync... $ECHO_C" >&6
 oldkfasync="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -5713,7 +5781,7 @@
 echo $ECHO_N "checking for dma_addr_t... $ECHO_C" >&6
 dma_addr_t="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -5770,7 +5838,7 @@
 echo $ECHO_N "checking for MUTEX macros... $ECHO_C" >&6
 have_mutex_macros="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -5946,7 +6014,7 @@
 echo $ECHO_N "checking for RTC callback support in kernel... $ECHO_C" >&6
 rtcsup="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
 echo "${ECHO_T}\"unknown\"" >&6;rtcsup=""
@@ -6019,7 +6087,7 @@
   echo "$as_me:$LINENO: checking for USB support" >&5
 echo $ECHO_N "checking for USB support... $ECHO_C" >&6
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
@@ -6077,7 +6145,7 @@
   echo "$as_me:$LINENO: checking for USB module support" >&5
 echo $ECHO_N "checking for USB module support... $ECHO_C" >&6
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
@@ -6157,7 +6225,7 @@
   echo "$as_me:$LINENO: checking for PCMCIA support" >&5
 echo $ECHO_N "checking for PCMCIA support... $ECHO_C" >&6
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
@@ -6215,7 +6283,7 @@
   echo "$as_me:$LINENO: checking for PCMCIA module support" >&5
 echo $ECHO_N "checking for PCMCIA module support... $ECHO_C" >&6
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
@@ -6293,7 +6361,7 @@
   echo "$as_me:$LINENO: checking for PC9800 support in kernel" >&5
 echo $ECHO_N "checking for PC9800 support in kernel... $ECHO_C" >&6
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: \"unknown\"" >&5
@@ -6402,6 +6470,7 @@
 	CONFIG_SND_ICE1712=""
 	CONFIG_SND_ICE1724=""
 	CONFIG_SND_KORG1212=""
+	CONFIG_SND_MIXART=""
 	CONFIG_SND_NM256=""
 	CONFIG_SND_RME9652=""
 	CONFIG_SND_HDSP=""
@@ -6417,8 +6486,8 @@
 	CONFIG_SND_SERIALMIDI=""
 	CONFIG_SND_INTEL8X0M=""
 	CONFIG_SND_HDSPM=""
+	CONFIG_SND_ATIIXP=""
 	CONFIG_SND_PDPLUS=""
-	CONFIG_SND_MIXART=""
 	CONFIG_SND_MSND_PINNACLE=""
 	CONFIG_SND_PDAUDIOCF=""
 	CONFIG_SND_USB_USX2Y=""
@@ -6815,6 +6884,13 @@
 
 	fi
 	if test "$CONFIG_PCI" = "y"; then
+	CONFIG_SND_MIXART="m"
+	cat >>confdefs.h <<\_ACEOF
+#define CONFIG_SND_MIXART_MODULE 1
+_ACEOF
+
+	fi
+	if test "$CONFIG_PCI" = "y"; then
 	CONFIG_SND_NM256="m"
 	cat >>confdefs.h <<\_ACEOF
 #define CONFIG_SND_NM256_MODULE 1
@@ -6918,16 +6994,16 @@
 
 	fi
 	if test "$CONFIG_PCI" = "y"; then
-	CONFIG_SND_PDPLUS="m"
+	CONFIG_SND_ATIIXP="m"
 	cat >>confdefs.h <<\_ACEOF
-#define CONFIG_SND_PDPLUS_MODULE 1
+#define CONFIG_SND_ATIIXP_MODULE 1
 _ACEOF
 
 	fi
 	if test "$CONFIG_PCI" = "y"; then
-	CONFIG_SND_MIXART="m"
+	CONFIG_SND_PDPLUS="m"
 	cat >>confdefs.h <<\_ACEOF
-#define CONFIG_SND_MIXART_MODULE 1
+#define CONFIG_SND_PDPLUS_MODULE 1
 _ACEOF
 
 	fi
@@ -7366,6 +7442,13 @@
 _ACEOF
 
 		;;
+	mixart)
+		CONFIG_SND_MIXART="m"
+		cat >>confdefs.h <<\_ACEOF
+#define CONFIG_SND_MIXART_MODULE 1
+_ACEOF
+
+		;;
 	nm256)
 		CONFIG_SND_NM256="m"
 		cat >>confdefs.h <<\_ACEOF
@@ -7471,17 +7554,17 @@
 _ACEOF
 
 		;;
-	pdplus)
-		CONFIG_SND_PDPLUS="m"
+	atiixp)
+		CONFIG_SND_ATIIXP="m"
 		cat >>confdefs.h <<\_ACEOF
-#define CONFIG_SND_PDPLUS_MODULE 1
+#define CONFIG_SND_ATIIXP_MODULE 1
 _ACEOF
 
 		;;
-	mixart)
-		CONFIG_SND_MIXART="m"
+	pdplus)
+		CONFIG_SND_PDPLUS="m"
 		cat >>confdefs.h <<\_ACEOF
-#define CONFIG_SND_MIXART_MODULE 1
+#define CONFIG_SND_PDPLUS_MODULE 1
 _ACEOF
 
 		;;
@@ -7616,6 +7699,7 @@
 
 
 
+
 c_opts="$c_opts -DLINUX"
 m_opts=""
 if test -r /etc/asound/make_opts; then
@@ -8358,6 +8442,7 @@
 s,@CONFIG_SND_ICE1712@,$CONFIG_SND_ICE1712,;t t
 s,@CONFIG_SND_ICE1724@,$CONFIG_SND_ICE1724,;t t
 s,@CONFIG_SND_KORG1212@,$CONFIG_SND_KORG1212,;t t
+s,@CONFIG_SND_MIXART@,$CONFIG_SND_MIXART,;t t
 s,@CONFIG_SND_NM256@,$CONFIG_SND_NM256,;t t
 s,@CONFIG_SND_RME9652@,$CONFIG_SND_RME9652,;t t
 s,@CONFIG_SND_HDSP@,$CONFIG_SND_HDSP,;t t
@@ -8373,8 +8458,8 @@
 s,@CONFIG_SND_SERIALMIDI@,$CONFIG_SND_SERIALMIDI,;t t
 s,@CONFIG_SND_INTEL8X0M@,$CONFIG_SND_INTEL8X0M,;t t
 s,@CONFIG_SND_HDSPM@,$CONFIG_SND_HDSPM,;t t
+s,@CONFIG_SND_ATIIXP@,$CONFIG_SND_ATIIXP,;t t
 s,@CONFIG_SND_PDPLUS@,$CONFIG_SND_PDPLUS,;t t
-s,@CONFIG_SND_MIXART@,$CONFIG_SND_MIXART,;t t
 s,@CONFIG_SND_MSND_PINNACLE@,$CONFIG_SND_MSND_PINNACLE,;t t
 s,@CONFIG_SND_PDAUDIOCF@,$CONFIG_SND_PDAUDIOCF,;t t
 s,@CONFIG_SND_USB_USX2Y@,$CONFIG_SND_USB_USX2Y,;t t
Index: debian/alsa-driver/configure.in
diff -u debian/alsa-driver/configure.in:1.21 debian/alsa-driver/configure.in:1.22
--- debian/alsa-driver/configure.in:1.21	Mon Feb  9 06:10:32 2004
+++ debian/alsa-driver/configure.in	Mon Mar  1 01:13:51 2004
@@ -4,7 +4,7 @@
 
 AC_INIT(acore/sound.patch)
 AC_PREFIX_DEFAULT(/usr)
-CONFIG_SND_VERSION="1.0.2c"
+CONFIG_SND_VERSION="1.0.3"
 
 dnl Checks for programs.
 AC_PROG_CC
@@ -87,8 +87,9 @@
   exit 1
 fi
 KERNEL_INC="-I$CONFIG_SND_KERNELDIR/include"
+HACK_KERNEL_INC=""
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 AC_CACHE_VAL(kaversion,
 [AC_TRY_RUN([
 #include <stdio.h>
@@ -154,7 +155,7 @@
 dnl Check for GCC version...
 AC_MSG_CHECKING(for GCC version)
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 AC_CACHE_VAL(kernel_gcc,
 [AC_TRY_RUN([
 #include <stdio.h>
@@ -342,7 +343,7 @@
   boolvar="$1"
   AC_MSG_CHECKING(for $2)
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   AC_TRY_RUN([
 #include "$CONFIG_SND_KERNELDIR/include/linux/autoconf.h"
@@ -368,7 +369,7 @@
   boolvar1="$1_MODULE"
   AC_MSG_CHECKING(for $2)
   ac_save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $KERNEL_INC"
+  CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
   boolchk=""
   AC_TRY_RUN([
 #include "$CONFIG_SND_KERNELDIR/include/linux/autoconf.h"
@@ -593,7 +594,7 @@
 processor=""
 rm -f processor.id
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 AC_TRY_RUN([
 #include <stdio.h>
 #include "$CONFIG_SND_KERNELDIR/include/linux/autoconf.h"
@@ -773,6 +774,15 @@
     c_opts="$c_opts -Wa,-mev6"
     processor="alpha"
     CONFIG_ALPHA=y
+  cat > $SRCDIR/include/asm/hack-current.h << EOF
+#ifndef _ALPHA_CURRENT_H
+#define _ALPHA_CURRENT_H
+
+extern struct task_struct *current;
+
+#endif /* !(_ALPHA_CURRENT_H) */
+EOF
+    HACK_KERNEL_INC="$HACK_KERNEL_INC --include $SRCDIR/include/asm/hack-current.h"
     ;;
   ppc)
     c_opts="-D__powerpc__ -fsigned-char -fno-builtin -msoft-float -ffixed-r2 -Wno-uninitialized -mmultiple -mstring"
@@ -1019,7 +1029,7 @@
 AC_MSG_CHECKING(for strlcpy)
 strlcpy="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="-Wall -Werror $CFLAGS $KERNEL_INC"
+CFLAGS="-Wall -Werror $CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 AC_TRY_COMPILE([
 #define __KERNEL__
 #include "$CONFIG_SND_KERNELDIR/include/linux/config.h"
@@ -1044,7 +1054,7 @@
 AC_MSG_CHECKING(for snprintf)
 snprintf="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="-Wall -Werror $CFLAGS $KERNEL_INC"
+CFLAGS="-Wall -Werror $CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 AC_TRY_COMPILE([
 #define __KERNEL__
 #include "$CONFIG_SND_KERNELDIR/include/linux/config.h"
@@ -1064,11 +1074,35 @@
   AC_DEFINE(CONFIG_HAVE_SNPRINTF)
 fi
 
+dnl Check for scnprintf...
+AC_MSG_CHECKING(for scnprintf)
+scnprintf="0"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS="-Wall -Werror $CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
+AC_TRY_COMPILE([
+#define __KERNEL__
+#include "$CONFIG_SND_KERNELDIR/include/linux/config.h"
+#include "$CONFIG_SND_KERNELDIR/include/linux/kernel.h"
+],[
+  char buf[128];
+  scnprintf(buf, sizeof(buf), "abcd");
+],
+    AC_MSG_RESULT("yes");scnprintf="1",
+    AC_MSG_RESULT("no");scnprintf="0",
+    AC_MSG_RESULT("unknown");scnprintf="0"
+)
+CFLAGS=$ac_save_CFLAGS
+CONFIG_HAVE_SCNPRINTF=$scnprintf
+dnl AC_SUBST(CONFIG_HAVE_SCNPRINTF)
+if test "$CONFIG_HAVE_SCNPRINTF" = "1"; then
+  AC_DEFINE(CONFIG_HAVE_SCNPRINTF)
+fi
+
 dnl Check for vmalloc_to_page...
 AC_MSG_CHECKING(for vmalloc_to_page)
 vmalloc_to_page="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 AC_TRY_COMPILE([
 #define __KERNEL__
 #include "$CONFIG_SND_KERNELDIR/include/linux/config.h"
@@ -1093,7 +1127,7 @@
 AC_MSG_CHECKING(for old kmod)
 old_kmod="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -Wall $KERNEL_INC"
+CFLAGS="$CFLAGS -Wall $KERNEL_INC $HACK_KERNEL_INC"
 AC_TRY_COMPILE([
 #define __KERNEL__
 #include "$CONFIG_SND_KERNELDIR/include/linux/config.h"
@@ -1116,7 +1150,7 @@
 AC_MSG_CHECKING(for PDE)
 pde_defined="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -Wall $KERNEL_INC"
+CFLAGS="$CFLAGS -Wall $KERNEL_INC $HACK_KERNEL_INC"
 AC_TRY_COMPILE([
 #define __KERNEL__
 #include "$CONFIG_SND_KERNELDIR/include/linux/config.h"
@@ -1141,7 +1175,7 @@
 AC_MSG_CHECKING(for pci_set_consistent_dma_mask)
 pci_consistent_defined="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -Wall $KERNEL_INC"
+CFLAGS="$CFLAGS -Wall $KERNEL_INC $HACK_KERNEL_INC"
 AC_TRY_COMPILE([
 #define __KERNEL__
 #include "$CONFIG_SND_KERNELDIR/include/linux/config.h"
@@ -1164,7 +1198,7 @@
 AC_MSG_CHECKING(for tty->count is the atomic type)
 tty_count_atomic="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -Wall $KERNEL_INC"
+CFLAGS="$CFLAGS -Wall $KERNEL_INC $HACK_KERNEL_INC"
 AC_TRY_COMPILE([
 #define __KERNEL__
 #include "$CONFIG_SND_KERNELDIR/include/linux/config.h"
@@ -1188,7 +1222,7 @@
 AC_MSG_CHECKING(for video_get_drvdata)
 video_get_drvdata="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 AC_TRY_COMPILE([
 #define __KERNEL__
 #include "$CONFIG_SND_KERNELDIR/include/linux/config.h"
@@ -1216,7 +1250,7 @@
 AC_MSG_CHECKING(for old kill_fasync)
 oldkfasync="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 AC_TRY_COMPILE([
 #define __KERNEL__
 #include "$CONFIG_SND_KERNELDIR/include/linux/config.h"
@@ -1244,7 +1278,7 @@
 AC_MSG_CHECKING(for dma_addr_t)
 dma_addr_t="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 AC_TRY_COMPILE([
 #define __KERNEL__
 #include "$CONFIG_SND_KERNELDIR/include/linux/config.h"
@@ -1267,7 +1301,7 @@
 AC_MSG_CHECKING(for MUTEX macros)
 have_mutex_macros="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 AC_TRY_COMPILE([
 #define __KERNEL__
 #include "$CONFIG_SND_KERNELDIR/include/linux/config.h"
@@ -1371,7 +1405,7 @@
 AC_MSG_CHECKING(for RTC callback support in kernel)
 rtcsup="0"
 ac_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $KERNEL_INC"
+CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
 AC_TRY_RUN([
 #include "$CONFIG_SND_KERNELDIR/include/linux/autoconf.h"
 #if defined(__alpha__) || (!defined(CONFIG_RTC) && !defined(CONFIG_RTC_MODULE))
Index: debian/alsa-driver/debian/changelog
diff -u debian/alsa-driver/debian/changelog:1.222 debian/alsa-driver/debian/changelog:1.223
--- debian/alsa-driver/debian/changelog:1.222	Sat Feb 28 21:58:07 2004
+++ debian/alsa-driver/debian/changelog	Mon Mar  1 01:13:51 2004
@@ -1,5 +1,6 @@
-alsa-driver (1.0.2c-4) unstable; urgency=high
+alsa-driver (1.0.3-1) unstable; urgency=high
 
+  * New upstream release
   * Jordi Mallach:
     - debian/control, debian/alsa-source.control: sync descriptions with
       alsa-lib's.
Index: debian/alsa-driver/doc/MIXART.txt
diff -u debian/alsa-driver/doc/MIXART.txt:1.1.1.1 debian/alsa-driver/doc/MIXART.txt:removed
--- debian/alsa-driver/doc/MIXART.txt:1.1.1.1	Tue Jul 22 15:39:10 2003
+++ debian/alsa-driver/doc/MIXART.txt	Mon Mar  1 01:13:53 2004
@@ -1,93 +0,0 @@
-    Alsa driver for Digigram miXart8 and miXart8AES/EBU soundcards
-	    Digigram <alsa@digigram.com>
-
-
-GENERAL
-=======
-
-The miXart8 is a multichannel audio processing and mixing soundcard
-that has 4 stereo audio inputs and 4 stereo audio outputs.
-The miXart8AES/EBU is the same with a add-on card that offers further
-4 digital stereo audio inputs and outputs.
-Furthermore the add-on card offers external clock synchronisation
-(AES/EBU, Word Clock, Time Code and Video Synchro)
-
-The mainboard has a PowerPC that offers onboard mpeg encoding and
-decoding, samplerate conversions and various effects.
-
-The driver don't work properly at all until the certain firmwares
-are loaded, i.e. no PCM nor mixer devices will appear.
-Use the mixartloader that can be found in the alsa-tools package.
-
-
-VERSION 0.1.0
-=============
-
-One miXart8 board will be represented as 4 alsa cards, each with 1
-stereo analog capture 'pcm0c' and 1 stereo analog playback 'pcm0p' device.
-With a miXart8AES/EBU there is in addition 1 stereo digital input
-'pcm1c' and 1 stereo digital output 'pcm1p' per card.
-
-Formats
--------
-U8, S16_LE, S16_BE, S24_3LE, S24_3BE, FLOAT_LE, FLOAT_BE
-Sample rates : 8000 - 48000 Hz continously
-
-Playback
---------
-For instance the playback devices are configured to have max. 4
-substreams performing hardware mixing. This could be changed to a
-maximum of 24 substreams if wished.
-Mono files will be played on the left and right channel. Each channel
-can be muted for each stream to use 8 analog/digital outputs seperately.
-
-Capture
--------
-There is one substream per capture device. For instance only stereo
-formats are supported.
-
-Mixer
------
-<Master> and <Master Capture> : analog volume control of playback and capture PCM.
-<PCM 0-3> and <PCM Capture> : digital volume control of each analog substream.
-<AES 0-3> and <AES Capture> : digital volume control of each AES/EBU substream.
-<Monitoring> : Loopback from 'pcm0c' to 'pcm0p' with digital volume
-and mute control.
-
-Rem : for best audio quality try to keep a 0 attenuation on the PCM
-and AES volume controls which is set by 219 in the range from 0 to 255
-(about 86% with alsamixer)
-
-
-NOT YET IMPLEMENTED
-===================
-
-- external clock support (AES/EBU, Word Clock, Time Code, Video Sync)
-- MPEG audio formats
-- mono record
-- on-board effects and samplerate conversions
-- linked streams
-
-
-FIRMWARE
-========
-
-For loading the firmware automatically after the module is loaded, use
-the post-install command.  For example, add the following entry to
-/etc/modules.conf for miXart driver:
-
-	post-install snd-mixart /usr/bin/mixartloader
-
-The firmware binaries are installed on /usr/share/alsa/firmware
-(or /usr/local/share/alsa/firmware, depending to the prefix option of
-configure).  There will be a miXart.conf file, which define the dsp image
-files.
-
-The firmware files are copyright by Digigram SA
-
-
-COPYRIGHT
-=========
-
-Copyright (c) 2003 Digigram SA <alsa@digigram.com>
-Distributalbe under GPL.
Index: debian/alsa-driver/include/adriver.h
diff -u debian/alsa-driver/include/adriver.h:1.16 debian/alsa-driver/include/adriver.h:1.17
--- debian/alsa-driver/include/adriver.h:1.16	Tue Feb  3 19:36:44 2004
+++ debian/alsa-driver/include/adriver.h	Mon Mar  1 01:13:51 2004
@@ -190,6 +190,11 @@
 #define vsnprintf(buf,size,fmt,args) snd_compat_vsnprintf(buf,size,fmt,args)
 #endif
 
+#ifndef CONFIG_HAVE_SCNPRINTF
+#define scnprintf(buf,size,fmt,args...) snprintf(buf,size,fmt,##args)
+#define vscnprintf(buf,size,fmt,args) vsnprintf(buf,size,fmt,args)
+#endif
+
 #if defined(__alpha__) && LINUX_VERSION_CODE < KERNEL_VERSION(2, 3, 14)
 #include <asm/io.h>
 #undef writeb
Index: debian/alsa-driver/include/ak4117.h
diff -u debian/alsa-driver/include/ak4117.h:1.1.1.3 debian/alsa-driver/include/ak4117.h:removed
--- debian/alsa-driver/include/ak4117.h:1.1.1.3	Mon Jul 14 16:36:45 2003
+++ debian/alsa-driver/include/ak4117.h	Mon Mar  1 01:13:53 2004
@@ -1,191 +0,0 @@
-#ifndef __SOUND_AK4117_H
-#define __SOUND_AK4117_H
-
-/*
- *  Routines for Asahi Kasei AK4117
- *  Copyright (c) by Jaroslav Kysela <perex@suse.cz>,
- *
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
- *
- */
-
-#define AK4117_REG_PWRDN	0x00	/* power down */
-#define AK4117_REG_CLOCK	0x01	/* clock control */
-#define AK4117_REG_IO		0x02	/* input/output control */
-#define AK4117_REG_INT0_MASK	0x03	/* interrupt0 mask */
-#define AK4117_REG_INT1_MASK	0x04	/* interrupt1 mask */
-#define AK4117_REG_RCS0		0x05	/* receiver status 0 */
-#define AK4117_REG_RCS1		0x06	/* receiver status 1 */
-#define AK4117_REG_RCS2		0x07	/* receiver status 2 */
-#define AK4117_REG_RXCSB0	0x08	/* RX channel status byte 0 */
-#define AK4117_REG_RXCSB1	0x09	/* RX channel status byte 1 */
-#define AK4117_REG_RXCSB2	0x0a	/* RX channel status byte 2 */
-#define AK4117_REG_RXCSB3	0x0b	/* RX channel status byte 3 */
-#define AK4117_REG_RXCSB4	0x0c	/* RX channel status byte 4 */
-#define AK4117_REG_Pc0		0x0d	/* burst preamble Pc byte 0 */
-#define AK4117_REG_Pc1		0x0e	/* burst preamble Pc byte 1 */
-#define AK4117_REG_Pd0		0x0f	/* burst preamble Pd byte 0 */
-#define AK4117_REG_Pd1		0x10	/* burst preamble Pd byte 1 */
-#define AK4117_REG_QSUB_ADDR	0x11	/* Q-subcode address + control */
-#define AK4117_REG_QSUB_TRACK	0x12	/* Q-subcode track */
-#define AK4117_REG_QSUB_INDEX	0x13	/* Q-subcode index */
-#define AK4117_REG_QSUB_MINUTE	0x14	/* Q-subcode minute */
-#define AK4117_REG_QSUB_SECOND	0x15	/* Q-subcode second */
-#define AK4117_REG_QSUB_FRAME	0x16	/* Q-subcode frame */
-#define AK4117_REG_QSUB_ZERO	0x17	/* Q-subcode zero */
-#define AK4117_REG_QSUB_ABSMIN	0x18	/* Q-subcode absolute minute */
-#define AK4117_REG_QSUB_ABSSEC	0x19	/* Q-subcode absolute second */
-#define AK4117_REG_QSUB_ABSFRM	0x1a	/* Q-subcode absolute frame */
-
-/* sizes */
-#define AK4117_REG_RXCSB_SIZE	((AK4117_REG_RXCSB4-AK4117_REG_RXCSB0)+1)
-#define AK4117_REG_QSUB_SIZE	((AK4117_REG_QSUB_ABSFRM-AK4117_REG_QSUB_ADDR)+1)
-
-/* AK4117_REG_PWRDN bits */
-#define AK4117_EXCT		(1<<4)	/* 0 = X'tal mode, 1 = external clock mode */
-#define AK4117_XTL1		(1<<3)	/* XTL1=0,XTL0=0 -> 11.2896Mhz; XTL1=0,XTL0=1 -> 12.288Mhz */
-#define AK4117_XTL0		(1<<2)	/* XTL1=1,XTL0=0 -> 24.576Mhz; XTL1=1,XTL0=1 -> use channel status */
-#define AK4117_XTL_11_2896M	(0)
-#define AK4117_XTL_12_288M	AK4117_XTL0
-#define AK4117_XTL_24_576M	AK4117_XTL1
-#define AK4117_XTL_EXT		(AK4117_XTL1|AK4117_XTL0)
-#define AK4117_PWN		(1<<1)	/* 0 = power down, 1 = normal operation */
-#define AK4117_RST		(1<<0)	/* 0 = reset & initialize (except this register), 1 = normal operation */
-
-/* AK4117_REQ_CLOCK bits */
-#define AK4117_LP		(1<<7)	/* 0 = normal mode, 1 = low power mode (Fs up to 48kHz only) */
-#define AK4117_PKCS1		(1<<6)	/* master clock frequency at PLL mode (when LP == 0) */
-#define AK4117_PKCS0		(1<<5)
-#define AK4117_PKCS_512fs	(0)
-#define AK4117_PKCS_256fs	AK4117_PKCS0
-#define AK4117_PKCS_128fs	AK4117_PKCS1
-#define AK4117_DIV		(1<<4)	/* 0 = MCKO == Fs, 1 = MCKO == Fs / 2; X'tal mode only */
-#define AK4117_XCKS1		(1<<3)	/* master clock frequency at X'tal mode */
-#define AK4117_XCKS0		(1<<2)
-#define AK4117_XCKS_128fs	(0)
-#define AK4117_XCKS_256fs	AK4117_XCKS0
-#define AK4117_XCKS_512fs	AK4117_XCKS1
-#define AK4117_XCKS_1024fs	(AK4117_XCKS1|AK4117_XCKS0)
-#define AK4117_CM1		(1<<1)	/* MCKO operation mode select */
-#define AK4117_CM0		(1<<0)
-#define AK4117_CM_PLL		(0)		/* use RX input as master clock */
-#define AK4117_CM_XTAL		(AK4117_CM0)	/* use X'tal as master clock */
-#define AK4117_CM_PLL_XTAL	(AK4117_CM1)	/* use Rx input but X'tal when PLL loses lock */
-#define AK4117_CM_MONITOR	(AK4117_CM0|AK4117_CM1) /* use X'tal as master clock, but use PLL for monitoring */
-
-/* AK4117_REG_IO */
-#define AK4117_IPS		(1<<7)	/* Input Recovery Data Select, 0 = RX0, 1 = RX1 */
-#define AK4117_UOUTE		(1<<6)	/* U-bit output enable to UOUT, 0 = disable, 1 = enable */
-#define AK4117_CS12		(1<<5)	/* channel status select, 0 = channel1, 1 = channel2 */
-#define AK4117_EFH2		(1<<4)	/* INT0 pin hold count select */
-#define AK4117_EFH1		(1<<3)
-#define AK4117_EFH_512LRCLK	(0)
-#define AK4117_EFH_1024LRCLK	(AK4117_EFH1)
-#define AK4117_EFH_2048LRCLK	(AK4117_EFH2)
-#define AK4117_EFH_4096LRCLK	(AK4117_EFH1|AK4117_EFH2)
-#define AK4117_DIF2		(1<<2)	/* audio data format control */
-#define AK4117_DIF1		(1<<1)
-#define AK4117_DIF0		(1<<0)
-#define AK4117_DIF_16R		(0)				/* STDO: 16-bit, right justified */
-#define AK4117_DIF_18R		(AK4117_DIF0)			/* STDO: 18-bit, right justified */
-#define AK4117_DIF_20R		(AK4117_DIF1)			/* STDO: 20-bit, right justified */
-#define AK4117_DIF_24R		(AK4117_DIF1|AK4117_DIF0)	/* STDO: 24-bit, right justified */
-#define AK4117_DIF_24L		(AK4117_DIF2)			/* STDO: 24-bit, left justified */
-#define AK4117_DIF_24I2S	(AK4117_DIF2|AK4117_DIF0)	/* STDO: I2S */
-
-/* AK4117_REG_INT0_MASK & AK4117_INT1_MASK */
-#define AK4117_MULK		(1<<7)	/* mask enable for UNLOCK bit */
-#define AK4117_MPAR		(1<<6)	/* mask enable for PAR bit */
-#define AK4117_MAUTO		(1<<5)	/* mask enable for AUTO bit */
-#define AK4117_MV		(1<<4)	/* mask enable for V bit */
-#define AK4117_MAUD		(1<<3)	/* mask enable for AUDION bit */
-#define AK4117_MSTC		(1<<2)	/* mask enable for STC bit */
-#define AK4117_MCIT		(1<<1)	/* mask enable for CINT bit */
-#define AK4117_MQIT		(1<<0)	/* mask enable for QINT bit */
-
-/* AK4117_REG_RCS0 */
-#define AK4117_UNLCK		(1<<7)	/* PLL lock status, 0 = lock, 1 = unlock */
-#define AK4117_PAR		(1<<6)	/* parity error or biphase error status, 0 = no error, 1 = error */
-#define AK4117_AUTO		(1<<5)	/* Non-PCM or DTS stream auto detection, 0 = no detect, 1 = detect */
-#define AK4117_V		(1<<4)	/* Validity bit, 0 = valid, 1 = invalid */
-#define AK4117_AUDION		(1<<3)	/* audio bit output, 0 = audio, 1 = non-audio */
-#define AK4117_STC		(1<<2)	/* sampling frequency or Pre-emphasis change, 0 = no detect, 1 = detect */
-#define AK4117_CINT		(1<<1)	/* channel status buffer interrupt, 0 = no change, 1 = change */
-#define AK4117_QINT		(1<<0)	/* Q-subcode buffer interrupt, 0 = no change, 1 = changed */
-
-/* AK4117_REG_RCS1 */
-#define AK4117_DTSCD		(1<<6)	/* DTS-CD bit audio stream detect, 0 = no detect, 1 = detect */
-#define AK4117_NPCM		(1<<5)	/* Non-PCM bit stream detection, 0 = no detect, 1 = detect */
-#define AK4117_PEM		(1<<4)	/* Pre-emphasis detect, 0 = OFF, 1 = ON */
-#define AK4117_FS3		(1<<3)	/* sampling frequency detection */
-#define AK4117_FS2		(1<<2)
-#define AK4117_FS1		(1<<1)
-#define AK4117_FS0		(1<<0)
-#define AK4117_FS_44100HZ	(0)
-#define AK4117_FS_48000HZ	(AK4117_FS1)
-#define AK4117_FS_32000HZ	(AK4117_FS1|AK4117_FS0)
-#define AK4117_FS_88200HZ	(AK4117_FS3)
-#define AK4117_FS_96000HZ	(AK4117_FS3|AK4117_FS1)
-#define AK4117_FS_176400HZ	(AK4117_FS3|AK4117_FS2)
-#define AK4117_FS_192000HZ	(AK4117_FS3|AK4117_FS2|AK4117_FS1)
-
-/* AK4117_REG_RCS2 */
-#define AK4117_CCRC		(1<<1)	/* CRC for channel status, 0 = no error, 1 = error */
-#define AK4117_QCRC		(1<<0)	/* CRC for Q-subcode, 0 = no error, 1 = error */
-
-/* flags for snd_ak4117_check_rate_and_errors() */
-#define AK4117_CHECK_NO_STAT	(1<<0)	/* no statistics */
-#define AK4117_CHECK_NO_RATE	(1<<1)	/* no rate check */
-
-#define AK4117_CONTROLS		13
-
-typedef void (ak4117_write_t)(void *private_data, unsigned char addr, unsigned char data);
-typedef unsigned char (ak4117_read_t)(void *private_data, unsigned char addr);
-
-typedef struct ak4117 ak4117_t;
-
-struct ak4117 {
-	snd_card_t * card;
-	ak4117_write_t * write;
-	ak4117_read_t * read;
-	void * private_data;
-	unsigned int init: 1;
-	spinlock_t lock;
-	unsigned char regmap[5];
-	snd_kcontrol_t *kctls[AK4117_CONTROLS];
-	snd_pcm_substream_t *substream;
-	unsigned long parity_errors;
-	unsigned long v_bit_errors;
-	unsigned long qcrc_errors;
-	unsigned long ccrc_errors;
-	unsigned char rcs0;
-	unsigned char rcs1;
-	unsigned char rcs2;
-	struct timer_list timer;	/* statistic timer */
-	void *change_callback_private;
-	void (*change_callback)(ak4117_t *ak4117, unsigned char c0, unsigned char c1);
-};
-
-int snd_ak4117_create(snd_card_t *card, ak4117_read_t *read, ak4117_write_t *write,
-		      unsigned char pgm[5], void *private_data, ak4117_t **r_ak4117);
-void snd_ak4117_reg_write(ak4117_t *chip, unsigned char reg, unsigned char mask, unsigned char val);
-void snd_ak4117_reinit(ak4117_t *chip);
-int snd_ak4117_build(ak4117_t *ak4117, snd_pcm_substream_t *capture_substream);
-int snd_ak4117_external_rate(ak4117_t *ak4117);
-int snd_ak4117_check_rate_and_errors(ak4117_t *ak4117, unsigned int flags);
-
-#endif /* __SOUND_AK4117_H */
-
Index: debian/alsa-driver/include/config.h.in
diff -u debian/alsa-driver/include/config.h.in:1.10 debian/alsa-driver/include/config.h.in:1.11
--- debian/alsa-driver/include/config.h.in:1.10	Mon Feb  9 06:10:34 2004
+++ debian/alsa-driver/include/config.h.in	Mon Mar  1 01:13:51 2004
@@ -42,6 +42,7 @@
 #undef CONFIG_OLD_KILL_FASYNC
 #undef CONFIG_HAVE_DMA_ADDR_T
 #undef CONFIG_HAVE_MUTEX_MACROS
+#undef CONFIG_HAVE_SCNPRINTF
 
 /* 2.4/2.6 kernels */
 #undef CONFIG_HAVE_PCI_CONSISTENT_DMA_MASK
Index: debian/alsa-driver/include/config1.h.in
diff -u debian/alsa-driver/include/config1.h.in:1.10 debian/alsa-driver/include/config1.h.in:1.11
--- debian/alsa-driver/include/config1.h.in:1.10	Mon Feb  9 06:10:34 2004
+++ debian/alsa-driver/include/config1.h.in	Mon Mar  1 01:13:51 2004
@@ -57,6 +57,7 @@
 #undef CONFIG_SND_ICE1712_MODULE
 #undef CONFIG_SND_ICE1724_MODULE
 #undef CONFIG_SND_KORG1212_MODULE
+#undef CONFIG_SND_MIXART_MODULE
 #undef CONFIG_SND_NM256_MODULE
 #undef CONFIG_SND_RME9652_MODULE
 #undef CONFIG_SND_HDSP_MODULE
@@ -72,8 +73,8 @@
 #undef CONFIG_SND_SERIALMIDI_MODULE
 #undef CONFIG_SND_INTEL8X0M_MODULE
 #undef CONFIG_SND_HDSPM_MODULE
+#undef CONFIG_SND_ATIIXP_MODULE
 #undef CONFIG_SND_PDPLUS_MODULE
-#undef CONFIG_SND_MIXART_MODULE
 #undef CONFIG_SND_MSND_PINNACLE_MODULE
 #undef CONFIG_SND_PDAUDIOCF_MODULE
 #undef CONFIG_SND_USB_USX2Y_MODULE
Index: debian/alsa-driver/pci/mixart/mixart.h
diff -u debian/alsa-driver/pci/mixart/mixart.h:1.1.1.1 debian/alsa-driver/pci/mixart/mixart.h:removed
--- debian/alsa-driver/pci/mixart/mixart.h:1.1.1.1	Tue Jul 22 15:39:10 2003
+++ debian/alsa-driver/pci/mixart/mixart.h	Mon Mar  1 01:13:53 2004
@@ -1,242 +0,0 @@
-/*
- * Driver for Digigram miXart soundcards
- *
- * main header file
- *
- * Copyright (c) 2003 by Digigram <alsa@digigram.com>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
- */
-
-#ifndef __SOUND_MIXART_H
-#define __SOUND_MIXART_H
-
-#include <sound/pcm.h>
-
-#define MIXART_DRIVER_VERSION	0x000100	/* 0.1.0 */
-
-
-/*
- */
-
-#define mixart_t_magic		0xa17a3e01
-#define mixart_mgr_t_magic	0xa17a3e02
-
-typedef struct snd_mixart mixart_t;
-typedef struct snd_mixart_mgr mixart_mgr_t;
-
-typedef struct snd_mixart_stream mixart_stream_t;
-typedef struct snd_mixart_pipe mixart_pipe_t;
-
-typedef struct mixart_bufferinfo mixart_bufferinfo_t;
-typedef struct mixart_flowinfo mixart_flowinfo_t;
-typedef struct mixart_uid mixart_uid_t;
-
-struct mixart_uid
-{
-	u32 object_id;
-	u32 desc;
-};
-
-struct mem_area {
-	unsigned long phys;
-	unsigned long virt;
-	struct resource *res;
-};
-
-
-typedef struct mixart_route mixart_route_t;
-struct mixart_route {
-	unsigned char connected;
-	unsigned char phase_inv;
-	int volume;
-};
-
-
-/* firmware status codes  */
-#define MIXART_MOTHERBOARD_XLX_INDEX  0
-#define MIXART_MOTHERBOARD_ELF_INDEX  1
-#define MIXART_AESEBUBOARD_XLX_INDEX  2
-#define MIXART_HARDW_FILES_MAX_INDEX  3  /* xilinx, elf, AESEBU xilinx */
-
-#define MIXART_MAX_CARDS	4
-#define MSG_FIFO_SIZE           16
-
-#define MIXART_MAX_PHYS_CONNECTORS  (MIXART_MAX_CARDS * 2 * 2) /* 4 * stereo * (analog+digital) */
-
-struct snd_mixart_mgr {
-	unsigned int num_cards;
-	mixart_t *chip[MIXART_MAX_CARDS];
-
-	struct pci_dev *pci;
-
-	int irq;
-
-	/* memory-maps */
-	struct mem_area mem[2];
-
-	/* share the name */
-	char shortname[32];         /* short name of this soundcard */
-	char longname[80];          /* name of this soundcard */
-
-	/* message tasklet */
-	struct tasklet_struct msg_taskq;
-
-	/* one and only blocking message or notification may be pending  */
-	u32 pending_event;
-	wait_queue_head_t msg_sleep;
-
-	/* messages stored for tasklet */
-	u32 msg_fifo[MSG_FIFO_SIZE];
-	int msg_fifo_readptr;
-	int msg_fifo_writeptr;
-
-	spinlock_t lock;              /* interrupt spinlock */
-	spinlock_t msg_lock;          /* mailbox spinlock */
-	struct semaphore msg_mutex;   /* mutex for blocking_requests */
-
-	struct semaphore setup_mutex; /* mutex used in hw_params, open and close */
-
-	/* hardware interface */
-	snd_hwdep_t *hwdep;
-	unsigned int board_type;      /* read from embedded once elf file is loaded, 250 = miXart8, 251 = with AES, 252 = with Cobranet */
-
-	mixart_flowinfo_t*   flowinfo_array;
-	dma_addr_t           flowinfo_physaddr;
-	mixart_bufferinfo_t* bufferinfo_array;
-	dma_addr_t           bufferinfo_physaddr;
-
-	mixart_uid_t         uid_console_manager;
-	int sample_rate;
-	int ref_count_rate;
-
-	struct semaphore mixer_mutex; /* mutex for mixer */
-
-};
-
-
-#define MIXART_STREAM_STATUS_FREE	0
-#define MIXART_STREAM_STATUS_OPEN	1
-#define MIXART_STREAM_STATUS_RUNNING	2
-#define MIXART_STREAM_STATUS_DRAINING	3
-#define MIXART_STREAM_STATUS_PAUSE	4
-
-#define MIXART_PLAYBACK_STREAMS		4
-#define MIXART_CAPTURE_STREAMS		1
-
-#define MIXART_PCM_ANALOG		0
-#define MIXART_PCM_DIGITAL		1
-#define MIXART_PCM_TOTAL		2
-
-#define MIXART_MAX_STREAM_PER_CARD  (MIXART_PCM_TOTAL * (MIXART_PLAYBACK_STREAMS + MIXART_CAPTURE_STREAMS) )
-
-
-#define MIXART_NOTIFY_CARD_MASK		0xF000
-#define MIXART_NOTIFY_CARD_OFFSET	12
-#define MIXART_NOTIFY_PCM_MASK		0x0F00
-#define MIXART_NOTIFY_PCM_OFFSET	8
-#define MIXART_NOTIFY_CAPT_MASK		0x0080
-#define MIXART_NOTIFY_SUBS_MASK		0x007F
-
-
-struct snd_mixart_stream {
-	snd_pcm_substream_t *substream;
-	mixart_pipe_t *pipe;
-	int pcm_number;
-
-	int status;      /* nothing, running, draining */
-
-	u64  abs_period_elapsed;  /* last absolute stream position where period_elapsed was called (multiple of runtime->period_size) */
-	u32  buf_periods;         /* periods counter in the buffer (< runtime->periods) */
-	u32  buf_period_frag;     /* defines with buf_period_pos the exact position in the buffer (< runtime->period_size) */
-
-	int channels;
-};
-
-
-enum mixart_pipe_status {
-	PIPE_UNDEFINED,
-	PIPE_STOPPED,
-	PIPE_RUNNING,
-	PIPE_CLOCK_SET
-};
-
-struct snd_mixart_pipe {
-	mixart_uid_t group_uid;			/* id of the pipe, as returned by embedded */
-	int          stream_count;
-	mixart_uid_t uid_left_connector;	/* UID's for the audio connectors */
-	mixart_uid_t uid_right_connector;
-	enum mixart_pipe_status status;
-	int references;             /* number of subs openned */
-	int monitoring;             /* pipe used for monitoring issue */
-};
-
-
-struct snd_mixart {
-	snd_card_t *card;
-	mixart_mgr_t *mgr;
-	int chip_idx;               /* zero based */
-	snd_hwdep_t *hwdep;	    /* DSP loader, only for the first card */
-
-	snd_pcm_t *pcm;             /* PCM analog i/o */
-	snd_pcm_t *pcm_dig;         /* PCM digital i/o */
-
-	/* allocate stereo pipe for instance */
-	mixart_pipe_t pipe_in_ana;
-	mixart_pipe_t pipe_out_ana;
-
-	/* if AES/EBU daughter board is available, additional pipes possible on pcm_dig */
-	mixart_pipe_t pipe_in_dig;
-	mixart_pipe_t pipe_out_dig;
-
-	mixart_stream_t playback_stream[MIXART_PCM_TOTAL][MIXART_PLAYBACK_STREAMS]; /* 0 = pcm, 1 = pcm_dig */
-	mixart_stream_t capture_stream[MIXART_PCM_TOTAL];                           /* 0 = pcm, 1 = pcm_dig */
-
-	/* UID's for the physical io's */
-	mixart_uid_t uid_out_analog_physio;
-	mixart_uid_t uid_in_analog_physio;
-
-	int analog_playback_active[2];		/* Mixer : Master Playback active (!mute) */
-	int analog_playback_volume[2];		/* Mixer : Master Playback Volume */
-	int analog_capture_volume[2];		/* Mixer : Master Capture Volume */
-	int digital_playback_active[2*MIXART_PLAYBACK_STREAMS][2];	/* Mixer : Digital Playback Active [(analog+AES output)*streams][stereo]*/
-	int digital_playback_volume[2*MIXART_PLAYBACK_STREAMS][2];	/* Mixer : Digital Playback Volume [(analog+AES output)*streams][stereo]*/
-	int digital_capture_volume[2][2];	/* Mixer : Digital Capture Volume [analog+AES output][stereo] */
-	int monitoring_active[2];		/* Mixer : Monitoring Active */
-	int monitoring_volume[2];		/* Mixer : Monitoring Volume */
-};
-
-struct mixart_bufferinfo
-{
-	u32 buffer_address;
-	u32 reserved[5];
-	u32 available_length;
-	u32 buffer_id;
-};
-
-struct mixart_flowinfo
-{
-	u32 bufferinfo_array_phy_address;
-	u32 reserved[11];
-	u32 bufferinfo_count;
-	u32 capture;
-};
-
-/* exported */
-int snd_mixart_create_pcm(mixart_t* chip);
-mixart_pipe_t* snd_mixart_add_ref_pipe( mixart_t *chip, int pcm_number, int capture, int monitoring);
-int snd_mixart_kill_ref_pipe( mixart_mgr_t *mgr, mixart_pipe_t *pipe, int monitoring);
-
-#endif /* __SOUND_MIXART_H */
Index: debian/alsa-driver/pci/mixart/mixart_core.h
diff -u debian/alsa-driver/pci/mixart/mixart_core.h:1.1.1.2 debian/alsa-driver/pci/mixart/mixart_core.h:removed
--- debian/alsa-driver/pci/mixart/mixart_core.h:1.1.1.2	Wed Sep 24 18:41:58 2003
+++ debian/alsa-driver/pci/mixart/mixart_core.h	Mon Mar  1 01:13:53 2004
@@ -1,607 +0,0 @@
-/*
- * Driver for Digigram miXart soundcards
- *
- * low level interface with interrupt handling and mail box implementation
- *
- * Copyright (c) 2003 by Digigram <alsa@digigram.com>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
- */
-
-#ifndef __SOUND_MIXART_CORE_H
-#define __SOUND_MIXART_CORE_H
-
-
-enum mixart_message_id {
-	MSG_CONNECTOR_GET_AUDIO_INFO         = 0x050008,
-	MSG_CONNECTOR_GET_OUT_AUDIO_LEVEL    = 0x050009,
-	MSG_CONNECTOR_SET_OUT_AUDIO_LEVEL    = 0x05000A,
-
-	MSG_CONSOLE_MANAGER                  = 0x070000,
-	MSG_CONSOLE_GET_CLOCK_UID            = 0x070003,
-
-	MSG_PHYSICALIO_SET_LEVEL             = 0x0F0008,
-
-	MSG_STREAM_ADD_INPUT_GROUP           = 0x130000,
-	MSG_STREAM_ADD_OUTPUT_GROUP          = 0x130001,
-	MSG_STREAM_DELETE_GROUP              = 0x130004,
-	MSG_STREAM_START_STREAM_GRP_PACKET   = 0x130006,
-	MSG_STREAM_START_INPUT_STAGE_PACKET  = 0x130007,
-	MSG_STREAM_START_OUTPUT_STAGE_PACKET = 0x130008,
-	MSG_STREAM_STOP_STREAM_GRP_PACKET    = 0x130009,
-	MSG_STREAM_STOP_INPUT_STAGE_PACKET   = 0x13000A,
-	MSG_STREAM_STOP_OUTPUT_STAGE_PACKET  = 0x13000B,
-	MSG_STREAM_SET_INPUT_STAGE_PARAM     = 0x13000F,
-	MSG_STREAM_SET_OUTPUT_STAGE_PARAM    = 0x130010,
-	MSG_STREAM_SET_IN_AUDIO_LEVEL        = 0x130015,
-	MSG_STREAM_SET_OUT_STREAM_LEVEL      = 0x130017,
-
-	MSG_SYSTEM_FIRST_ID                  = 0x160000,
-	MSG_SYSTEM_ENUM_PHYSICAL_IO          = 0x16000E,
-	MSG_SYSTEM_ENUM_PLAY_CONNECTOR       = 0x160017,
-	MSG_SYSTEM_ENUM_RECORD_CONNECTOR     = 0x160018,
-	MSG_SYSTEM_WAIT_SYNCHRO_CMD          = 0x16002C,
-	MSG_SYSTEM_SEND_SYNCHRO_CMD          = 0x16002D,
-
-	MSG_SERVICES_TIMER_NOTIFY            = 0x1D0404,
-	MSG_SERVICES_REPORT_TRACES           = 0x1D0700,
-
-	MSG_CLOCK_CHECK_PROPERTIES           = 0x200001,
-	MSG_CLOCK_SET_PROPERTIES             = 0x200002,
-};
-
-
-typedef struct mixart_msg mixart_msg_t;
-struct mixart_msg
-{
-	u32          message_id;
-	mixart_uid_t uid;
-	void*        data;
-	size_t       size;
-};
-
-/* structs used to communicate with miXart */
-
-typedef struct mixart_enum_connector_resp mixart_enum_connector_resp_t;
-struct mixart_enum_connector_resp
-{
-	u32  error_code;
-	u32  first_uid_offset;
-	u32  uid_count;
-	u32  current_uid_index;
-	mixart_uid_t uid[MIXART_MAX_PHYS_CONNECTORS];
-} __attribute__((packed));
-
-
-/* used for following struct */
-#define MIXART_FLOAT_P_22_0_TO_HEX      0x41b00000  /* 22.0f */
-#define MIXART_FLOAT_M_20_0_TO_HEX      0xc1a00000  /* -20.0f */
-#define MIXART_FLOAT____0_0_TO_HEX      0x00000000  /* 0.0f */
-
-typedef struct mixart_audio_info_req mixart_audio_info_req_t;
-struct mixart_audio_info_req
-{
-	u32 line_max_level;    /* float */
-	u32 micro_max_level;   /* float */
-	u32 cd_max_level;      /* float */
-} __attribute__((packed));
-
-typedef struct mixart_analog_hw_info mixart_analog_hw_info_t;
-struct mixart_analog_hw_info
-{
-	u32 is_present;
-	u32 hw_connection_type;
-	u32 max_level;         /* float */
-	u32 min_var_level;     /* float */
-	u32 max_var_level;     /* float */
-	u32 step_var_level;    /* float */
-	u32 fix_gain;          /* float */
-	u32 zero_var;          /* float */
-} __attribute__((packed));
-
-typedef struct mixart_digital_hw_info mixart_digital_hw_info_t;
-struct mixart_digital_hw_info
-{
-	u32   hw_connection_type;
-	u32   presence;
-	u32   clock;
-	u32   reserved;
-} __attribute__((packed));
-
-typedef struct mixart_analog_info mixart_analog_info_t;
-struct mixart_analog_info
-{
-	u32                     type_mask;
-	mixart_analog_hw_info_t micro_info;
-	mixart_analog_hw_info_t line_info;
-	mixart_analog_hw_info_t cd_info;
-	u32                     analog_level_present;
-} __attribute__((packed));
-
-typedef struct mixart_digital_info mixart_digital_info_t;
-struct mixart_digital_info
-{
-	u32 type_mask;
-	mixart_digital_hw_info_t aes_info;
-	mixart_digital_hw_info_t adat_info;
-} __attribute__((packed));
-
-typedef struct mixart_audio_info mixart_audio_info_t;
-struct mixart_audio_info
-{
-	u32                   clock_type_mask;
-	mixart_analog_info_t  analog_info;
-	mixart_digital_info_t digital_info;
-} __attribute__((packed));
-
-typedef struct mixart_audio_info_resp mixart_audio_info_resp_t;
-struct mixart_audio_info_resp
-{
-	u32                 txx_status;
-	mixart_audio_info_t info;
-} __attribute__((packed));
-
-
-/* used for nb_bytes_max_per_sample */
-#define MIXART_FLOAT_P__4_0_TO_HEX      0x40800000  /* +4.0f */
-#define MIXART_FLOAT_P__8_0_TO_HEX      0x41000000  /* +8.0f */
-
-typedef struct mixart_stream_info mixart_stream_info_t;
-struct mixart_stream_info
-{
-	u32 size_max_byte_frame;
-	u32 size_max_sample_frame;
-	u32 nb_bytes_max_per_sample;  /* float */
-} __attribute__((packed));
-
-/*  MSG_STREAM_ADD_INPUT_GROUP */
-/*  MSG_STREAM_ADD_OUTPUT_GROUP */
-
-typedef struct mixart_streaming_group_req mixart_streaming_group_req_t;
-struct mixart_streaming_group_req
-{
-	u32 stream_count;
-	u32 channel_count;
-	u32 user_grp_number;
-	u32 first_phys_audio;
-	u32 latency;
-	mixart_stream_info_t stream_info[32];
-	mixart_uid_t connector;
-	u32 flow_entry[32];
-} __attribute__((packed));
-
-typedef struct mixart_stream_desc mixart_stream_desc_t;
-struct mixart_stream_desc
-{
-	mixart_uid_t stream_uid;
-	u32          stream_desc;
-} __attribute__((packed));
-
-typedef struct mixart_streaming_group mixart_streaming_group_t;
-struct mixart_streaming_group
-{
-	u32                  status;
-	mixart_uid_t         group;
-	u32                  pipe_desc;
-	u32                  stream_count;
-	mixart_stream_desc_t stream[32];
-} __attribute__((packed));
-
-/* MSG_STREAM_DELETE_GROUP */
-
-/* request : mixart_uid_t group */
-
-typedef struct mixart_delete_group_resp mixart_delete_group_resp_t;
-struct mixart_delete_group_resp
-{
-	u32  status;
-	u32  unused[2];
-} __attribute__((packed));
-
-
-/* 	MSG_STREAM_START_INPUT_STAGE_PACKET  = 0x130000 + 7,
-	MSG_STREAM_START_OUTPUT_STAGE_PACKET = 0x130000 + 8,
-	MSG_STREAM_STOP_INPUT_STAGE_PACKET   = 0x130000 + 10,
-	MSG_STREAM_STOP_OUTPUT_STAGE_PACKET  = 0x130000 + 11,
- */
-
-typedef struct mixart_fx_couple_uid mixart_fx_couple_uid_t;
-struct mixart_fx_couple_uid
-{
-	mixart_uid_t uid_fx_code;
-	mixart_uid_t uid_fx_data;
-} __attribute__((packed));
-
-typedef struct mixart_txx_stream_desc mixart_txx_stream_desc_t;
-struct mixart_txx_stream_desc
-{
-	mixart_uid_t            uid_pipe;
-	u32                     stream_idx;
-	u32                     fx_number;
-	mixart_fx_couple_uid_t  uid_fx[4];
-} __attribute__((packed));
-
-typedef struct mixart_flow_info mixart_flow_info_t;
-struct mixart_flow_info
-{
-	mixart_txx_stream_desc_t  stream_desc;
-	u32                       flow_entry;
-	u32                       flow_phy_addr;
-} __attribute__((packed));
-
-typedef struct mixart_stream_state_req mixart_stream_state_req_t;
-struct mixart_stream_state_req
-{
-	u32                 delayed;
-	u64                 scheduler;
-	u32                 reserved4np[3];
-	u32                 stream_count;  /* set to 1 for instance */
-	mixart_flow_info_t  stream_info;   /* could be an array[stream_count] */
-} __attribute__((packed));
-
-/* 	MSG_STREAM_START_STREAM_GRP_PACKET   = 0x130000 + 6
-	MSG_STREAM_STOP_STREAM_GRP_PACKET    = 0x130000 + 9
- */
-
-typedef struct mixart_group_state_req mixart_group_state_req_t;
-struct mixart_group_state_req
-{
-	u32           delayed;
-	u64           scheduler;
-	u32           reserved4np[2];
-	u32           pipe_count;    /* set to 1 for instance */
-	mixart_uid_t  pipe_uid[1];   /* could be an array[pipe_count] */
-} __attribute__((packed));
-
-typedef struct mixart_group_state_resp mixart_group_state_resp_t;
-struct mixart_group_state_resp
-{
-	u32           txx_status;
-	u64           scheduler;
-} __attribute__((packed));
-
-
-
-/* Structures used by the MSG_SERVICES_TIMER_NOTIFY command */
-
-typedef struct mixart_sample_pos mixart_sample_pos_t;
-struct mixart_sample_pos
-{
-	u32   buffer_id;
-	u32   validity;
-	u32   sample_pos_high_part;
-	u32   sample_pos_low_part;
-} __attribute__((packed));
-
-typedef struct mixart_timer_notify mixart_timer_notify_t;
-struct mixart_timer_notify
-{
-	u32                  stream_count;
-	mixart_sample_pos_t  streams[MIXART_MAX_STREAM_PER_CARD * MIXART_MAX_CARDS];
-} __attribute__((packed));
-
-
-/*	MSG_CONSOLE_GET_CLOCK_UID            = 0x070003,
- */
-
-/* request is a uid with desc = MSG_CONSOLE_MANAGER | cardindex */
-
-typedef struct mixart_return_uid mixart_return_uid_t;
-struct mixart_return_uid
-{
-	u32 error_code;
-	mixart_uid_t uid;
-} __attribute__((packed));
-
-/*	MSG_CLOCK_CHECK_PROPERTIES           = 0x200001,
-	MSG_CLOCK_SET_PROPERTIES             = 0x200002,
-*/
-
-enum mixart_clock_generic_type {
-	CGT_NO_CLOCK,
-	CGT_INTERNAL_CLOCK,
-	CGT_PROGRAMMABLE_CLOCK,
-	CGT_INTERNAL_ENSLAVED_CLOCK,
-	CGT_EXTERNAL_CLOCK,
-	CGT_CURRENT_CLOCK
-};
-
-enum mixart_clock_mode {
-	CM_UNDEFINED,
-	CM_MASTER,
-	CM_SLAVE,
-	CM_STANDALONE,
-	CM_NOT_CONCERNED
-};
-
-
-typedef struct mixart_clock_properties mixart_clock_properties_t;
-struct mixart_clock_properties
-{
-	u32 error_code;
-	u32 validation_mask;
-	u32 frequency;
-	u32 reference_frequency;
-	u32 clock_generic_type;
-	u32 clock_mode;
-	mixart_uid_t uid_clock_source;
-	mixart_uid_t uid_event_source;
-	u32 event_mode;
-	u32 synchro_signal_presence;
-	u32 format;
-	u32 board_mask;
-	u32 nb_callers; /* set to 1 (see below) */
-	mixart_uid_t uid_caller[1];
-} __attribute__((packed));
-
-typedef struct mixart_clock_properties_resp mixart_clock_properties_resp_t;
-struct mixart_clock_properties_resp
-{
-	u32 status;
-	u32 clock_mode;
-} __attribute__((packed));
-
-
-/*	MSG_STREAM_SET_INPUT_STAGE_PARAM     = 0x13000F */
-/*	MSG_STREAM_SET_OUTPUT_STAGE_PARAM    = 0x130010 */
-
-enum mixart_coding_type {
-	CT_NOT_DEFINED,
-	CT_LINEAR,
-	CT_MPEG_L1,
-	CT_MPEG_L2,
-	CT_MPEG_L3,
-	CT_MPEG_L3_LSF,
-	CT_GSM
-};
-enum mixart_sample_type {
-	ST_NOT_DEFINED,
-	ST_FLOATING_POINT_32BE,
-	ST_FLOATING_POINT_32LE,
-	ST_FLOATING_POINT_64BE,
-	ST_FLOATING_POINT_64LE,
-	ST_FIXED_POINT_8,
-	ST_FIXED_POINT_16BE,
-	ST_FIXED_POINT_16LE,
-	ST_FIXED_POINT_24BE,
-	ST_FIXED_POINT_24LE,
-	ST_FIXED_POINT_32BE,
-	ST_FIXED_POINT_32LE,
-	ST_INTEGER_8,
-	ST_INTEGER_16BE,
-	ST_INTEGER_16LE,
-	ST_INTEGER_24BE,
-	ST_INTEGER_24LE,
-	ST_INTEGER_32BE,
-	ST_INTEGER_32LE
-};
-
-typedef struct mixart_stream_param_desc mixart_stream_param_desc_t;
-struct mixart_stream_param_desc
-{
-	u32 coding_type;  /* use enum mixart_coding_type */
-	u32 sample_type;  /* use enum mixart_sample_type */
-
-	union {
-		struct {
-			u32 linear_endian_ness;
-			u32 linear_bits;
-			u32 is_signed;
-			u32 is_float;
-		} linear_format_info;
-
-		struct {
-			u32 mpeg_layer;
-			u32 mpeg_mode;
-			u32 mpeg_mode_extension;
-			u32 mpeg_pre_emphasis;
-			u32 mpeg_has_padding_bit;
-			u32 mpeg_has_crc;
-			u32 mpeg_has_extension;
-			u32 mpeg_is_original;
-			u32 mpeg_has_copyright;
-		} mpeg_format_info;
-	} format_info;
-
-	u32 delayed;
-	u64 scheduler;
-	u32 sample_size;
-	u32 has_header;
-	u32 has_suffix;
-	u32 has_bitrate;
-	u32 samples_per_frame;
-	u32 bytes_per_frame;
-	u32 bytes_per_sample;
-	u32 sampling_freq;
-	u32 number_of_channel;
-	u32 stream_number;
-	u32 buffer_size;
-	u32 differed_time;
-	u32 reserved4np[3];
-	u32 pipe_count;                           /* set to 1 (array size !) */
-	u32 stream_count;                         /* set to 1 (array size !) */
-	mixart_txx_stream_desc_t stream_desc[1];  /* only one stream per command, but this could be an array */
-
-} __attribute__((packed));
-
-
-/*	MSG_CONNECTOR_GET_OUT_AUDIO_LEVEL    = 0x050009,
- */
-
-
-typedef struct mixart_get_out_audio_level mixart_get_out_audio_level_t;
-struct mixart_get_out_audio_level
-{
-	u32 txx_status;
-	u32 digital_level;   /* float */
-	u32 analog_level;    /* float */
-	u32 monitor_level;   /* float */
-	u32 mute;
-	u32 monitor_mute1;
-	u32 monitor_mute2;
-} __attribute__((packed));
-
-
-/*	MSG_CONNECTOR_SET_OUT_AUDIO_LEVEL    = 0x05000A,
- */
-
-/* used for valid_mask below */
-#define MIXART_AUDIO_LEVEL_ANALOG_MASK	0x01
-#define MIXART_AUDIO_LEVEL_DIGITAL_MASK	0x02
-#define MIXART_AUDIO_LEVEL_MONITOR_MASK	0x04
-#define MIXART_AUDIO_LEVEL_MUTE_MASK	0x08
-#define MIXART_AUDIO_LEVEL_MUTE_M1_MASK	0x10
-#define MIXART_AUDIO_LEVEL_MUTE_M2_MASK	0x20
-
-typedef struct mixart_set_out_audio_level mixart_set_out_audio_level_t;
-struct mixart_set_out_audio_level
-{
-	u32 delayed;
-	u64 scheduler;
-	u32 valid_mask1;
-	u32 valid_mask2;
-	u32 digital_level;   /* float */
-	u32 analog_level;    /* float */
-	u32 monitor_level;   /* float */
-	u32 mute;
-	u32 monitor_mute1;
-	u32 monitor_mute2;
-	u32 reserved4np;
-} __attribute__((packed));
-
-
-/*	MSG_SYSTEM_ENUM_PHYSICAL_IO          = 0x16000E,
- */
-
-#define MIXART_MAX_PHYS_IO  (MIXART_MAX_CARDS * 2 * 2) /* 4 * (analog+digital) * (playback+capture) */
-
-typedef struct mixart_uid_enumeration mixart_uid_enumeration_t;
-struct mixart_uid_enumeration
-{
-	u32 error_code;
-	u32 first_uid_offset;
-	u32 nb_uid;
-	u32 current_uid_index;
-	mixart_uid_t uid[MIXART_MAX_PHYS_IO];
-} __attribute__((packed));
-
-
-/*	MSG_PHYSICALIO_SET_LEVEL             = 0x0F0008,
-	MSG_PHYSICALIO_GET_LEVEL             = 0x0F000C,
-*/
-
-typedef struct mixart_io_channel_level mixart_io_channel_level_t;
-struct mixart_io_channel_level
-{
-	u32 analog_level;   /* float */
-	u32 unused[2];
-} __attribute__((packed));
-
-typedef struct mixart_io_level mixart_io_level_t;
-struct mixart_io_level
-{
-	s32 channel; /* 0=left, 1=right, -1=both, -2=both same */
-	mixart_io_channel_level_t level[2];
-} __attribute__((packed));
-
-
-/*	MSG_STREAM_SET_IN_AUDIO_LEVEL        = 0x130015,
- */
-
-typedef struct mixart_in_audio_level_info mixart_in_audio_level_info_t;
-struct mixart_in_audio_level_info
-{
-	mixart_uid_t connector;
-	u32 valid_mask1;
-	u32 valid_mask2;
-	u32 digital_level;
-	u32 analog_level;
-} __attribute__((packed));
-
-typedef struct mixart_set_in_audio_level_req mixart_set_in_audio_level_req_t;
-struct mixart_set_in_audio_level_req
-{
-	u32 delayed;
-	u64 scheduler;
-	u32 audio_count;  /* set to <= 2 */
-	u32 reserved4np;
-	mixart_in_audio_level_info_t level[2];
-} __attribute__((packed));
-
-/* response is a 32 bit status */
-
-
-/*	MSG_STREAM_SET_OUT_STREAM_LEVEL      = 0x130017,
- */
-
-/* defines used for valid_mask1 */
-#define MIXART_OUT_STREAM_SET_LEVEL_LEFT_AUDIO1		0x01
-#define MIXART_OUT_STREAM_SET_LEVEL_LEFT_AUDIO2		0x02
-#define MIXART_OUT_STREAM_SET_LEVEL_RIGHT_AUDIO1	0x04
-#define MIXART_OUT_STREAM_SET_LEVEL_RIGHT_AUDIO2	0x08
-#define MIXART_OUT_STREAM_SET_LEVEL_STREAM_1		0x10
-#define MIXART_OUT_STREAM_SET_LEVEL_STREAM_2		0x20
-#define MIXART_OUT_STREAM_SET_LEVEL_MUTE_1		0x40
-#define MIXART_OUT_STREAM_SET_LEVEL_MUTE_2		0x80
-
-typedef struct mixart_out_stream_level_info mixart_out_stream_level_info_t;
-struct mixart_out_stream_level_info
-{
-	u32 valid_mask1;
-	u32 valid_mask2;
-	u32 left_to_out1_level;
-	u32 left_to_out2_level;
-	u32 right_to_out1_level;
-	u32 right_to_out2_level;
-	u32 digital_level1;
-	u32 digital_level2;
-	u32 mute1;
-	u32 mute2;
-} __attribute__((packed));
-
-typedef struct mixart_set_out_stream_level mixart_set_out_stream_level_t;
-struct mixart_set_out_stream_level
-{
-	mixart_txx_stream_desc_t desc;
-	mixart_out_stream_level_info_t out_level;
-} __attribute__((packed));
-
-typedef struct mixart_set_out_stream_level_req mixart_set_out_stream_level_req_t;
-struct mixart_set_out_stream_level_req
-{
-	u32 delayed;
-	u64 scheduler;
-	u32 reserved4np[2];
-	u32 nb_of_stream;  /* set to 1 */
-	mixart_set_out_stream_level_t stream_level; /* could be an array */
-} __attribute__((packed));
-
-/* response to this request is a u32 status value */
-
-
-/* exported */
-void snd_mixart_init_mailbox(mixart_mgr_t *mgr);
-void snd_mixart_exit_mailbox(mixart_mgr_t *mgr);
-
-int  snd_mixart_send_msg(mixart_mgr_t *mgr, mixart_msg_t *request, int max_resp_size, void *resp_data);
-int  snd_mixart_send_msg_wait_notif(mixart_mgr_t *mgr, mixart_msg_t *request, u32 notif_event);
-int  snd_mixart_send_msg_nonblock(mixart_mgr_t *mgr, mixart_msg_t *request);
-
-irqreturn_t snd_mixart_interrupt(int irq, void *dev_id, struct pt_regs *regs);
-void snd_mixart_msg_tasklet( unsigned long arg);
-
-void snd_mixart_reset_board(mixart_mgr_t *mgr);
-
-#endif /* __SOUND_MIXART_CORE_H */
Index: debian/alsa-driver/pci/mixart/mixart_hwdep.h
diff -u debian/alsa-driver/pci/mixart/mixart_hwdep.h:1.1.1.2 debian/alsa-driver/pci/mixart/mixart_hwdep.h:removed
--- debian/alsa-driver/pci/mixart/mixart_hwdep.h:1.1.1.2	Wed Sep 24 18:41:58 2003
+++ debian/alsa-driver/pci/mixart/mixart_hwdep.h	Mon Mar  1 01:13:53 2004
@@ -1,155 +0,0 @@
-/*
- * Driver for Digigram miXart soundcards
- *
- * definitions and makros for basic card access
- *
- * Copyright (c) 2003 by Digigram <alsa@digigram.com>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
- */
-
-#ifndef __SOUND_MIXART_HWDEP_H
-#define __SOUND_MIXART_HWDEP_H
-
-#include <sound/hwdep.h>
-
-#ifdef LINUX_2_2
-#ifdef __i386__
-#define __raw_readl(x) readl(x)
-#define __raw_writel(x,y) writel(x,y)
-#else
-#warning This architecture will not work correctly!
-#endif
-#endif
-
-#define readl_be(x) be32_to_cpu(__raw_readl(x))
-#define writel_be(data,addr) __raw_writel(cpu_to_be32(data),addr)
-
-#define readl_le(x) le32_to_cpu(__raw_readl(x))
-#define writel_le(data,addr) __raw_writel(cpu_to_le32(data),addr)
-
-#define MIXART_MEM(mgr,x)	((mgr)->mem[0].virt + (x))
-#define MIXART_REG(mgr,x)	((mgr)->mem[1].virt + (x))
-
-
-/* Daughter board Type */
-#define DAUGHTER_TYPE_MASK     0x0F 
-#define DAUGHTER_VER_MASK      0xF0 
-#define DAUGHTER_TYPEVER_MASK  (DAUGHTER_TYPE_MASK|DAUGHTER_VER_MASK)
- 
-#define MIXART_DAUGHTER_TYPE_NONE     0x00 
-#define MIXART_DAUGHTER_TYPE_COBRANET 0x08 
-#define MIXART_DAUGHTER_TYPE_AES      0x0E
-
-
-
-#define MIXART_BA0_SIZE 	(16 * 1024 * 1024) /* 16M */
-#define MIXART_BA1_SIZE 	(4  * 1024)        /* 4k */
-
-/*
- * -----------BAR 0 --------------------------------------------------------------------------------------------------------
- */
-#define  MIXART_PSEUDOREG                          0x2000                    /* base address for pseudoregister */
-
-#define  MIXART_PSEUDOREG_BOARDNUMBER              MIXART_PSEUDOREG+0        /* board number */
-
-/* perfmeter (available when elf loaded)*/
-#define  MIXART_PSEUDOREG_PERF_STREAM_LOAD_OFFSET  MIXART_PSEUDOREG+0x70     /* streaming load */
-#define  MIXART_PSEUDOREG_PERF_SYSTEM_LOAD_OFFSET  MIXART_PSEUDOREG+0x78     /* system load (reference)*/
-#define  MIXART_PSEUDOREG_PERF_MAILBX_LOAD_OFFSET  MIXART_PSEUDOREG+0x7C     /* mailbox load */
-#define  MIXART_PSEUDOREG_PERF_INTERR_LOAD_OFFSET  MIXART_PSEUDOREG+0x74     /* interrupt handling  load */
-
-/* motherboard xilinx loader info */
-#define  MIXART_PSEUDOREG_MXLX_BASE_ADDR_OFFSET    MIXART_PSEUDOREG+0x9C     /* 0x00600000 */ 
-#define  MIXART_PSEUDOREG_MXLX_SIZE_OFFSET         MIXART_PSEUDOREG+0xA0     /* xilinx size in bytes */ 
-#define  MIXART_PSEUDOREG_MXLX_STATUS_OFFSET       MIXART_PSEUDOREG+0xA4     /* status = EMBEBBED_STAT_XXX */ 
-
-/* elf loader info */
-#define  MIXART_PSEUDOREG_ELF_STATUS_OFFSET        MIXART_PSEUDOREG+0xB0     /* status = EMBEBBED_STAT_XXX */ 
-
-/* 
-*  after the elf code is loaded, and the flowtable info was passed to it,
-*  the driver polls on this address, until it shows 1 (presence) or 2 (absence)
-*  once it is non-zero, the daughter board type may be read
-*/
-#define  MIXART_PSEUDOREG_DBRD_PRESENCE_OFFSET     MIXART_PSEUDOREG+0x990   
-
-/* Global info structure */
-#define  MIXART_PSEUDOREG_DBRD_TYPE_OFFSET         MIXART_PSEUDOREG+0x994    /* Type and version of daughterboard  */
-
-
-/* daughterboard xilinx loader info */
-#define  MIXART_PSEUDOREG_DXLX_BASE_ADDR_OFFSET    MIXART_PSEUDOREG+0x998    /* get the address here where to write the file */ 
-#define  MIXART_PSEUDOREG_DXLX_SIZE_OFFSET         MIXART_PSEUDOREG+0x99C    /* xilinx size in bytes */ 
-#define  MIXART_PSEUDOREG_DXLX_STATUS_OFFSET       MIXART_PSEUDOREG+0x9A0    /* status = EMBEBBED_STAT_XXX */ 
-
-/*  */
-#define  MIXART_FLOWTABLE_PTR                      0x3000                    /* pointer to flow table */
-
-/* mailbox addresses  */
-
-/* message DRV -> EMB */
-#define MSG_INBOUND_POST_HEAD       0x010008	/* DRV posts MF + increment4 */
-#define	MSG_INBOUND_POST_TAIL       0x01000C	/* EMB gets MF + increment4 */
-/* message EMB -> DRV */
-#define	MSG_OUTBOUND_POST_TAIL      0x01001C	/* DRV gets MF + increment4 */
-#define	MSG_OUTBOUND_POST_HEAD      0x010018	/* EMB posts MF + increment4 */
-/* Get Free Frames */
-#define MSG_INBOUND_FREE_TAIL       0x010004	/* DRV gets MFA + increment4 */
-#define MSG_OUTBOUND_FREE_TAIL      0x010014	/* EMB gets MFA + increment4 */
-/* Put Free Frames */
-#define MSG_OUTBOUND_FREE_HEAD      0x010010	/* DRV puts MFA + increment4 */
-#define MSG_INBOUND_FREE_HEAD       0x010000    /* EMB puts MFA + increment4 */
-
-/* firmware addresses of the message fifos */
-#define MSG_BOUND_STACK_SIZE        0x004000    /* size of each following stack */
-/* posted messages */
-#define MSG_OUTBOUND_POST_STACK     0x108000    /* stack of messages to the DRV */
-#define MSG_INBOUND_POST_STACK      0x104000    /* stack of messages to the EMB */
-/* available empty messages */
-#define MSG_OUTBOUND_FREE_STACK     0x10C000    /* stack of free enveloped for EMB */
-#define MSG_INBOUND_FREE_STACK      0x100000    /* stack of free enveloped for DRV */
-
-
-/* defines for mailbox message frames */
-#define MSG_FRAME_OFFSET            0x64
-#define MSG_FRAME_SIZE              0x6400
-#define MSG_FRAME_NUMBER            32
-#define MSG_FROM_AGENT_ITMF_OFFSET  (MSG_FRAME_OFFSET + (MSG_FRAME_SIZE * MSG_FRAME_NUMBER))
-#define MSG_TO_AGENT_ITMF_OFFSET    (MSG_FROM_AGENT_ITMF_OFFSET + MSG_FRAME_SIZE)
-#define MSG_HOST_RSC_PROTECTION     (MSG_TO_AGENT_ITMF_OFFSET + MSG_FRAME_SIZE)
-#define MSG_AGENT_RSC_PROTECTION    (MSG_HOST_RSC_PROTECTION + 4)
-
-
-/*
- * -----------BAR 1 --------------------------------------------------------------------------------------------------------
- */
-
-/* interrupt addresses and constants */
-#define MIXART_PCI_OMIMR_OFFSET                 0x34    /* outbound message interrupt mask register */
-#define MIXART_PCI_OMISR_OFFSET                 0x30    /* outbound message interrupt status register */
-#define MIXART_PCI_ODBR_OFFSET                  0x60    /* outbound doorbell register */
-
-#define MIXART_BA1_BRUTAL_RESET_OFFSET          0x68    /* write 1 in LSBit to reset board */
-
-#define MIXART_HOST_ALL_INTERRUPT_MASKED        0x02B   /* 0000 0010 1011 */
-#define MIXART_ALLOW_OUTBOUND_DOORBELL          0x023   /* 0000 0010 0011 */
-#define MIXART_OIDI                             0x008   /* 0000 0000 1000 */
-
-
-/* exported */
-int snd_mixart_hwdep_new(mixart_mgr_t *mgr);
-
-#endif /* __SOUND_MIXART_HWDEP_H */
Index: debian/alsa-driver/pci/mixart/mixart_mixer.h
diff -u debian/alsa-driver/pci/mixart/mixart_mixer.h:1.1.1.1 debian/alsa-driver/pci/mixart/mixart_mixer.h:removed
--- debian/alsa-driver/pci/mixart/mixart_mixer.h:1.1.1.1	Tue Jul 22 15:39:10 2003
+++ debian/alsa-driver/pci/mixart/mixart_mixer.h	Mon Mar  1 01:13:53 2004
@@ -1,31 +0,0 @@
-/*
- * Driver for Digigram miXart soundcards
- *
- * include file for mixer
- *
- * Copyright (c) 2003 by Digigram <alsa@digigram.com>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
- */
-
-#ifndef __SOUND_MIXART_MIXER_H
-#define __SOUND_MIXART_MIXER_H
-
-/* exported */
-int mixart_update_playback_stream_level(mixart_t* chip, int is_aes, int idx);
-int mixart_update_capture_stream_level(mixart_t* chip, int is_aes);
-int snd_mixart_create_mixer(mixart_mgr_t* mgr);
-
-#endif /* __SOUND_MIXART_MIXER_H */
Index: debian/alsa-driver/pcmcia/pdaudiocf/pdaudiocf.c
diff -u debian/alsa-driver/pcmcia/pdaudiocf/pdaudiocf.c:1.1.1.2 debian/alsa-driver/pcmcia/pdaudiocf/pdaudiocf.c:removed
--- debian/alsa-driver/pcmcia/pdaudiocf/pdaudiocf.c:1.1.1.2	Wed Sep 24 18:43:53 2003
+++ debian/alsa-driver/pcmcia/pdaudiocf/pdaudiocf.c	Mon Mar  1 01:13:53 2004
@@ -1,455 +0,0 @@
-/*
- * Driver for Sound Core PDAudioCF soundcard
- *
- * Copyright (c) 2003 by Jaroslav Kysela <perex@suse.cz>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
- */
-
-/*
- *  please copy pdacf.conf to /etc/pcmcia directory
- */
-
-#include <sound/driver.h>
-#include <sound/core.h>
-#include <linux/slab.h>
-#include <pcmcia/version.h>
-#include <pcmcia/ciscode.h>
-#include <pcmcia/cisreg.h>
-#include "compat_cs.h"	/* remove from 2.5 tree */
-#include "pdaudiocf.h"
-#define SNDRV_GET_ID
-#include <sound/initval.h>
-
-/*
- */
-
-#define CARD_NAME	"PDAudio-CF"
-
-MODULE_AUTHOR("Jaroslav Kysela <perex@suse.cz>");
-MODULE_DESCRIPTION("Sound Core " CARD_NAME);
-MODULE_LICENSE("GPL");
-MODULE_CLASSES("{sound}");
-MODULE_DEVICES("{{Sound Core," CARD_NAME "}}");
-
-static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX;	/* Index 0-MAX */
-static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR;	/* ID for this card */
-static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP;	/* Enable switches */
-static unsigned int irq_mask = 0xffff;
-static int irq_list[4] = { -1 };
-
-MODULE_PARM(index, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
-MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard.");
-MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC);
-MODULE_PARM(id, "1-" __MODULE_STRING(SNDRV_CARDS) "s");
-MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard.");
-MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC);
-MODULE_PARM(enable, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
-MODULE_PARM_DESC(enable, "Enable " CARD_NAME " soundcard.");
-MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC);
-MODULE_PARM(irq_mask, "i");
-MODULE_PARM_DESC(irq_mask, "IRQ bitmask for " CARD_NAME " soundcard.");
-MODULE_PARM(irq_list, "1-4i");
-MODULE_PARM_DESC(irq_list, "List of Available interrupts for " CARD_NAME " soundcard.");
- 
-
-/*
- */
-
-static dev_info_t dev_info = "snd-pdaudiocf";
-static snd_card_t *card_list[SNDRV_CARDS];
-static dev_link_t *dev_list;
-
-/*
- * prototypes
- */
-static void pdacf_config(dev_link_t *link);
-static int pdacf_event(event_t event, int priority, event_callback_args_t *args);
-static void snd_pdacf_detach(dev_link_t *link);
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
-/*
- * print the error message related with cs
- */
-static void cs_error(client_handle_t handle, int func, int ret)
-{
-	error_info_t err = { func, ret };
-	CardServices(ReportError, handle, &err);
-}
-#endif
-
-static void pdacf_release(dev_link_t *link)
-{
-	if (link->state & DEV_CONFIG) {
-		/* release cs resources */
-		CardServices(ReleaseConfiguration, link->handle);
-		CardServices(ReleaseIO, link->handle, &link->io);
-		CardServices(ReleaseIRQ, link->handle, &link->irq);
-		link->state &= ~DEV_CONFIG;
-	}
-}
-
-/*
- * destructor
- */
-static int snd_pdacf_free(pdacf_t *pdacf)
-{
-	dev_link_t *link = &pdacf->link;
-
-	pdacf_release(link);
-
-	/* Break the link with Card Services */
-	if (link->handle)
-		CardServices(DeregisterClient, link->handle);
-
-	card_list[pdacf->index] = NULL;
-	pdacf->card = NULL;
-
-	snd_magic_kfree(pdacf);
-	return 0;
-}
-
-static int snd_pdacf_dev_free(snd_device_t *device)
-{
-	pdacf_t *chip = snd_magic_cast(pdacf_t, device->device_data, return -ENXIO);
-	return snd_pdacf_free(chip);
-}
-
-/*
- * snd_pdacf_attach - attach callback for cs
- */
-static dev_link_t *snd_pdacf_attach(void)
-{
-	client_reg_t client_reg;	/* Register with cardmgr */
-	dev_link_t *link;		/* Info for cardmgr */
-	int i, ret;
-	pdacf_t *pdacf;
-	snd_card_t *card;
-	static snd_device_ops_t ops = {
-		.dev_free =	snd_pdacf_dev_free,
-	};
-
-	snd_printdd(KERN_DEBUG "pdacf_attach called\n");
-	/* find an empty slot from the card list */
-	for (i = 0; i < SNDRV_CARDS; i++) {
-		if (! card_list[i])
-			break;
-	}
-	if (i >= SNDRV_CARDS) {
-		snd_printk(KERN_ERR "pdacf: too many cards found\n");
-		return NULL;
-	}
-	if (! enable[i])
-		return NULL; /* disabled explicitly */
-
-	/* ok, create a card instance */
-	card = snd_card_new(index[i], id[i], THIS_MODULE, 0);
-	if (card == NULL) {
-		snd_printk(KERN_ERR "pdacf: cannot create a card instance\n");
-		return NULL;
-	}
-
-	pdacf = snd_pdacf_create(card);
-	if (! pdacf)
-		return NULL;
-
-	if (snd_device_new(card, SNDRV_DEV_LOWLEVEL, pdacf, &ops) < 0) {
-		snd_magic_kfree(pdacf);
-		snd_card_free(card);
-		return NULL;
-	}
-
-	pdacf->index = i;
-	card_list[i] = card;
-
-	link = &pdacf->link;
-	link->priv = pdacf;
-
-	link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO;
-	link->io.NumPorts1 = 16;
-
-	link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT | IRQ_FORCED_PULSE;
-	// link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING|IRQ_FIRST_SHARED;
-
-	link->irq.IRQInfo1 = IRQ_INFO2_VALID /* | IRQ_LEVEL_ID */;
-	if (irq_list[0] == -1)
-		link->irq.IRQInfo2 = irq_mask;
-	else
-		for (i = 0; i < 4; i++)
-			link->irq.IRQInfo2 |= 1 << irq_list[i];
-	link->irq.Handler = pdacf_interrupt;
-	link->irq.Instance = pdacf;
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0) /* correct version? */
-	link->release.function = (void (*)(unsigned long))pdacf_release;
-	link->release.data = (u_long)link;
-#endif
-	link->conf.Attributes = CONF_ENABLE_IRQ;
-	link->conf.IntType = INT_MEMORY_AND_IO;
-	link->conf.ConfigIndex = 1;
-	link->conf.Present = PRESENT_OPTION;
-
-	/* Chain drivers */
-	link->next = dev_list;
-	dev_list = link;
-
-	/* Register with Card Services */
-	client_reg.dev_info = &dev_info;
-	client_reg.Attributes = INFO_IO_CLIENT | INFO_CARD_SHARE;
-	client_reg.EventMask = 
-		CS_EVENT_CARD_INSERTION | CS_EVENT_CARD_REMOVAL
-#ifdef CONFIG_PM
-		| CS_EVENT_RESET_PHYSICAL | CS_EVENT_CARD_RESET
-		| CS_EVENT_PM_SUSPEND | CS_EVENT_PM_RESUME
-#endif
-		;
-	client_reg.event_handler = &pdacf_event;
-	client_reg.Version = 0x0210;
-	client_reg.event_callback_args.client_data = link;
-
-	ret = CardServices(RegisterClient, &link->handle, &client_reg);
-	if (ret != CS_SUCCESS) {
-		cs_error(link->handle, RegisterClient, ret);
-		snd_pdacf_detach(link);
-		return NULL;
-	}
-
-	return link;
-}
-
-
-/**
- * snd_pdacf_assign_resources - initialize the hardware and card instance.
- * @port: i/o port for the card
- * @irq: irq number for the card
- *
- * this function assigns the specified port and irq, boot the card,
- * create pcm and control instances, and initialize the rest hardware.
- *
- * returns 0 if successful, or a negative error code.
- */
-static int snd_pdacf_assign_resources(pdacf_t *pdacf, int port, int irq)
-{
-	int err;
-	snd_card_t *card = pdacf->card;
-
-	snd_printdd(KERN_DEBUG "pdacf assign resources: port = 0x%x, irq = %d\n", port, irq);
-	pdacf->port = port;
-	pdacf->irq = irq;
-	pdacf->chip_status |= PDAUDIOCF_STAT_IS_CONFIGURED;
-
-	err = snd_pdacf_ak4117_create(pdacf);
-	if (err < 0)
-		return err;	
-
-	err = snd_pdacf_pcm_new(pdacf);
-	if (err < 0)
-		return err;
-
-	strcpy(card->driver, "PDAudio-CF");
-	sprintf(card->shortname, "Core Sound %s", card->driver);
-	sprintf(card->longname, "%s at 0x%x, irq %i",
-		card->shortname, port, irq);
-
-#ifdef CONFIG_PM
-	card->power_state_private_data = pdacf;
-	card->set_power_state = snd_pdacf_set_power_state;
-#endif
-
-	if ((err = snd_card_register(card)) < 0)
-		return err;
-
-	return 0;
-}
-
-
-/*
- * snd_pdacf_detach - detach callback for cs
- */
-static void snd_pdacf_detach(dev_link_t *link)
-{
-	pdacf_t *chip = snd_magic_cast(pdacf_t, link->priv, return);
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0) /* correct version? */
-	del_timer(&link->release);
-#endif
-	snd_printdd(KERN_DEBUG "pdacf_detach called\n");
-	/* Remove the interface data from the linked list */
-	{
-		dev_link_t **linkp;
-		/* Locate device structure */
-		for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
-			if (*linkp == link)
-				break;
-		if (*linkp)
-			*linkp = link->next;
-	}
-	if (chip->chip_status & PDAUDIOCF_STAT_IS_CONFIGURED)
-		snd_pdacf_powerdown(chip);
-	chip->chip_status |= PDAUDIOCF_STAT_IS_STALE; /* to be sure */
-	snd_card_disconnect(chip->card);
-	snd_card_free_in_thread(chip->card);
-}
-
-/*
- * snd_pdacf_detach_all - detach all instances linked to the hw
- */
-static void snd_pdacf_detach_all(void)
-{
-	while (dev_list != NULL)
-		snd_pdacf_detach(dev_list);
-}
-
-/*
- * configuration callback
- */
-
-#define CS_CHECK(fn, args...) \
-while ((last_ret=CardServices(last_fn=(fn), args))!=0) goto cs_failed
-
-static void pdacf_config(dev_link_t *link)
-{
-	client_handle_t handle = link->handle;
-	pdacf_t *pdacf = snd_magic_cast(pdacf_t, link->priv, return);
-	tuple_t tuple;
-	cisparse_t parse;
-	config_info_t conf;
-	u_short buf[32];
-	int last_fn, last_ret;
-
-	snd_printdd(KERN_DEBUG "pdacf_config called\n");
-	tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY;
-	tuple.Attributes = 0;
-	tuple.TupleData = (cisdata_t *)buf;
-	tuple.TupleDataMax = sizeof(buf);
-	tuple.TupleOffset = 0;
-	tuple.DesiredTuple = CISTPL_CONFIG;
-	CS_CHECK(GetFirstTuple, handle, &tuple);
-	CS_CHECK(GetTupleData, handle, &tuple);
-	CS_CHECK(ParseTuple, handle, &tuple, &parse);
-	link->conf.ConfigBase = parse.config.base;
-	link->conf.ConfigIndex = 0x5;
-
-	CS_CHECK(GetConfigurationInfo, handle, &conf);
-	link->conf.Vcc = conf.Vcc;
-
-	/* Configure card */
-	link->state |= DEV_CONFIG;
-
-	CS_CHECK(RequestIO, handle, &link->io);
-	CS_CHECK(RequestIRQ, link->handle, &link->irq);
-	CS_CHECK(RequestConfiguration, link->handle, &link->conf);
-
-	if (snd_pdacf_assign_resources(pdacf, link->io.BasePort1, link->irq.AssignedIRQ) < 0)
-		goto failed;
-
-	link->dev = &pdacf->node;
-	link->state &= ~DEV_CONFIG_PENDING;
-	return;
-
-cs_failed:
-	cs_error(link->handle, last_fn, last_ret);
-failed:
-	CardServices(ReleaseConfiguration, link->handle);
-	CardServices(ReleaseIO, link->handle, &link->io);
-	CardServices(ReleaseIRQ, link->handle, &link->irq);
-}
-
-/*
- * event callback
- */
-static int pdacf_event(event_t event, int priority, event_callback_args_t *args)
-{
-	dev_link_t *link = args->client_data;
-	pdacf_t *chip = link->priv;
-
-	switch (event) {
-	case CS_EVENT_CARD_REMOVAL:
-		snd_printdd(KERN_DEBUG "CARD_REMOVAL..\n");
-		link->state &= ~DEV_PRESENT;
-		if (link->state & DEV_CONFIG) {
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0) /* correct version? */
-			mod_timer(&link->release, jiffies + HZ/20);
-#endif
-			chip->chip_status |= PDAUDIOCF_STAT_IS_STALE;
-		}
-		break;
-	case CS_EVENT_CARD_INSERTION:
-		snd_printdd(KERN_DEBUG "CARD_INSERTION..\n");
-		link->state |= DEV_PRESENT;
-		pdacf_config(link);
-		break;
-#ifdef CONFIG_PM
-	case CS_EVENT_PM_SUSPEND:
-		snd_printdd(KERN_DEBUG "SUSPEND\n");
-		link->state |= DEV_SUSPEND;
-		if (chip) {
-			snd_printdd(KERN_DEBUG "snd_pdacf_suspend calling\n");
-			snd_pdacf_suspend(chip);
-		}
-		/* Fall through... */
-	case CS_EVENT_RESET_PHYSICAL:
-		snd_printdd(KERN_DEBUG "RESET_PHYSICAL\n");
-		if (link->state & DEV_CONFIG)
-			CardServices(ReleaseConfiguration, link->handle);
-		break;
-	case CS_EVENT_PM_RESUME:
-		snd_printdd(KERN_DEBUG "RESUME\n");
-		link->state &= ~DEV_SUSPEND;
-		/* Fall through... */
-	case CS_EVENT_CARD_RESET:
-		snd_printdd(KERN_DEBUG "CARD_RESET\n");
-		if (DEV_OK(link)) {
-			snd_printdd(KERN_DEBUG "requestconfig...\n");
-			CardServices(RequestConfiguration, link->handle, &link->conf);
-			if (chip) {
-				snd_printdd(KERN_DEBUG "calling snd_pdacf_resume\n");
-				snd_pdacf_resume(chip);
-			}
-		}
-		snd_printdd(KERN_DEBUG "resume done!\n");
-		break;
-#endif
-	}
-	return 0;
-}
-
-/*
- * Module entry points
- */
-static struct pcmcia_driver pdacf_cs_driver = {
-	.owner          = THIS_MODULE,
-	.drv            = {
-		.name   = "snd-pdaudiocf",
-	},
-	.attach         = snd_pdacf_attach,
-	.detach         = snd_pdacf_detach
-};
-
-static int __init init_pdacf(void)
-{
-	return pcmcia_register_driver(&pdacf_cs_driver);
-}
-
-static void __exit exit_pdacf(void)
-{
-	pcmcia_unregister_driver(&pdacf_cs_driver);
-	snd_pdacf_detach_all();
-}
-
-module_init(init_pdacf);
-module_exit(exit_pdacf);
-
-
-EXPORT_NO_SYMBOLS; /* FIXME: for old kernels */