[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 */