--- alsa-driver-1.0.16.orig/alsa-kernel/i2c/other/ak4114.c +++ alsa-driver-1.0.16/alsa-kernel/i2c/other/ak4114.c @@ -27,6 +27,7 @@ #include #include #include +#include MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("AK4114 IEC958 (S/PDIF) receiver by Asahi Kasei"); @@ -446,6 +447,26 @@ } }; + +static void snd_ak4114_proc_regs_read(struct snd_info_entry *entry, + struct snd_info_buffer *buffer) +{ + struct ak4114 *ak4114 = entry->private_data; + int reg, val; + /* all ak4114 registers 0x00 - 0x1f */ + for (reg = 0; reg < 0x20; reg++) { + val = reg_read(ak4114, reg); + snd_iprintf(buffer, "0x%02x = 0x%02x\n", reg, val); + } +} + +static void snd_ak4114_proc_init(struct ak4114 *ak4114) +{ + struct snd_info_entry *entry; + if (!snd_card_proc_new(ak4114->card, "ak4114", &entry)) + snd_info_set_text_ops(entry, ak4114, snd_ak4114_proc_regs_read); +} + int snd_ak4114_build(struct ak4114 *ak4114, struct snd_pcm_substream *ply_substream, struct snd_pcm_substream *cap_substream) @@ -478,6 +499,7 @@ return err; ak4114->kctls[idx] = kctl; } + snd_ak4114_proc_init(ak4114); /* trigger workq */ schedule_delayed_work(&ak4114->work, HZ / 10); return 0; --- alsa-driver-1.0.16.orig/alsa-kernel/drivers/dummy.c +++ alsa-driver-1.0.16/alsa-kernel/drivers/dummy.c @@ -181,10 +181,10 @@ struct snd_dummy *dummy; spinlock_t lock; struct timer_list timer; - unsigned int pcm_size; - unsigned int pcm_count; + unsigned int pcm_buffer_size; + unsigned int pcm_period_size; unsigned int pcm_bps; /* bytes per second */ - unsigned int pcm_jiffie; /* bytes per one jiffie */ + unsigned int pcm_hz; /* HZ */ unsigned int pcm_irq_pos; /* IRQ position */ unsigned int pcm_buf_pos; /* position in buffer */ struct snd_pcm_substream *substream; @@ -238,11 +238,15 @@ if (bps <= 0) return -EINVAL; dpcm->pcm_bps = bps; - dpcm->pcm_jiffie = bps / HZ; - dpcm->pcm_size = snd_pcm_lib_buffer_bytes(substream); - dpcm->pcm_count = snd_pcm_lib_period_bytes(substream); + dpcm->pcm_hz = HZ; + dpcm->pcm_buffer_size = snd_pcm_lib_buffer_bytes(substream); + dpcm->pcm_period_size = snd_pcm_lib_period_bytes(substream); dpcm->pcm_irq_pos = 0; dpcm->pcm_buf_pos = 0; + + snd_pcm_format_set_silence(runtime->format, runtime->dma_area, + bytes_to_samples(runtime, runtime->dma_bytes)); + return 0; } @@ -254,11 +258,11 @@ spin_lock_irqsave(&dpcm->lock, flags); dpcm->timer.expires = 1 + jiffies; add_timer(&dpcm->timer); - dpcm->pcm_irq_pos += dpcm->pcm_jiffie; - dpcm->pcm_buf_pos += dpcm->pcm_jiffie; - dpcm->pcm_buf_pos %= dpcm->pcm_size; - if (dpcm->pcm_irq_pos >= dpcm->pcm_count) { - dpcm->pcm_irq_pos %= dpcm->pcm_count; + dpcm->pcm_irq_pos += dpcm->pcm_bps; + if (dpcm->pcm_irq_pos >= dpcm->pcm_period_size * dpcm->pcm_hz) { + dpcm->pcm_irq_pos %= dpcm->pcm_period_size * dpcm->pcm_hz; + dpcm->pcm_buf_pos += dpcm->pcm_period_size; + dpcm->pcm_buf_pos %= dpcm->pcm_buffer_size; spin_unlock_irqrestore(&dpcm->lock, flags); snd_pcm_period_elapsed(dpcm->substream); } else --- alsa-driver-1.0.16.orig/debian/control +++ alsa-driver-1.0.16/debian/control @@ -0,0 +1,64 @@ +Source: alsa-driver +Section: sound +Priority: optional +Maintainer: Ubuntu Core Developers +XSBC-Original-Maintainer: Debian ALSA Maintainers +Uploaders: Jordi Mallach , Elimar Riesebieter +Build-Depends-Indep: bzip2, cpio +Build-Depends: debhelper (>= 5.0.37), quilt (>= 0.40), po-debconf +Standards-Version: 3.7.3 +Homepage: http://www.alsa-project.org/ +Vcs-Svn: svn://svn.debian.org/pkg-alsa/trunk/alsa-driver +Vcs-Browser: http://svn.debian.org/wsvn/pkg-alsa/trunk/alsa-driver/ +Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/alsa-driver/ubuntu.new + +Package: linux-sound-base +Architecture: all +Depends: ${misc:Depends}, module-init-tools (>= 3.2.1) +Suggests: alsa-base (>= 1.0.15-1) +Conflicts: alsa-base (<= 1.0.8-7) +Replaces: alsa-base (<= 1.0.8-7) +Description: base package for ALSA and OSS sound systems + This package allows the administrator to choose between + the OSS and ALSA sound systems. + +Package: alsa-base +Architecture: all +Provides: alsa +Depends: ${misc:Depends}, lsof (>= 4.64), module-init-tools (>= 3.2.1), linux-sound-base +Recommends: alsa-utils +Suggests: apmd (>= 3.0.2-1), alsa-oss +Conflicts: modutils (= 2.3.20-1), lsof-2.2 (<< 4.64), discover1 (<< 1.7.3), discover (<< 2.0.7-1), alsa-utils (<< 1.0.9a-4) +Description: ALSA driver configuration files + This package contains various configuration files for + the ALSA drivers. + . + For ALSA to work on a system with a given sound card, + there must be an ALSA driver for that card in the kernel. + Linux 2.6 as shipped in linux-image packages contains + ALSA drivers for all supported sound cards in the form + of loadable modules. For either Linux 2.6 or Linux 2.4 + a custom alsa-modules package can be built from the + sources in the alsa-source package using the make-kpkg + utility (included in the kernel-package package). Some + pre-built alsa-modules packages are available in the + Debian archive. Please read the README.Debian file for + information about loading modules. + . + ALSA is the Advanced Linux Sound Architecture. + http://alsa.sourceforge.net + OSS is the free version of the Open Sound System. + +Package: alsa-source +Architecture: all +Depends: ${misc:Depends}, make, gcc | c-compiler, dpkg-dev, debhelper (>= 5.0.37), debconf-utils, bzip2 +Recommends: kernel-package, fakeroot, module-assistant, linux-headers +Description: ALSA driver sources + This package contains the source code for the ALSA drivers. + The source code can be compiled into an alsa-modules package + using the make-kpkg utility (available in the kernel-package + package). Please note that the kernel headers must be + installed to compile these modules. + . + ALSA is the Advanced Linux Sound Architecture. + --- alsa-driver-1.0.16.orig/debian/alsa-base.dirs +++ alsa-driver-1.0.16/debian/alsa-base.dirs @@ -0,0 +1,8 @@ +etc/modprobe.d +etc/apm/scripts.d +etc/apm/resume.d +etc/apm/suspend.d +usr/share/alsa-base +usr/share/lintian/overrides +usr/share/bug/alsa-base +sbin --- alsa-driver-1.0.16.orig/debian/po/vi.po +++ alsa-driver-1.0.16/debian/po/vi.po @@ -0,0 +1,176 @@ +# Vietnamese Translation for Alsa-driver. +# Copyright © 2007 Free Software Foundation, Inc. +# Clytie Siddall , 2005-2007. +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver 1.0.14~rc3-2\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-06-02 16:23+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.6.3b1\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "" +"Xây dựng các trình điều khiển ALSA cũng có khả năng hỗ trợ ISA PnP không?" + +# msgid "" +# If you agree then the ALSA drivers will be built with support for the isa- +# pnp driver. +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Bật tùy chọn này thì các trình điều khiển ALSA sẽ được xây dựng với khả năng " +"hỗ trợ trình điều khiển « isa-pnp »." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "Xây dựng các trình điều khiển ALSA với mã gỡ lỗi không?" + +# msgid "" +# If you agree then the ALSA drivers will be built with code to help with +# debugging. +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Bật tùy chọn này thì các trình điều khiển ALSA sẽ được xây dựng với mã để " +"giúp đỡ gỡ lỗi." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "tất cả" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "Các trình điều khiển ALSA cần xây dựng:" + +# msgid "" +# Select the ALSA sound card drivers that should be included in alsa- +# modules packages that are built from the sources included in the alsa- +# source package. +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Hãy chọn những trình điều khiển thẻ âm thanh nên bao gồm trong gói « alsa-" +"modules » được xây dựng từ các mã nguồn này." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"Theo đây có danh sách các trình điều khiển thẻ âm thanh có mô tả ngắn kèm " +"theo." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "mặc định" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Hệ thống âm thanh cần dùng:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "" +"ALSA và OSS là hai hệ thống trình điều khiển xen kẽ cho phần cứng âm thanh." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" +"Việc chọn ALSA hay OSS sẽ ép buộc sử dụng trình điều khiển như vậy, ngay cả " +"trong trường hợp có cả hai trình điều khiển." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"Chọn « mặc định » thì ủy quyền quyết định cho cơ chế phát hiện phần cứng, mà " +"có thể phụ thuộc vào phiên bản hạt nhân. Việc gỡ bỏ gói « linux-sound-base » " +"có kết quả là hệ thống vào chế độ « mặc định »." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "Rất khuyên bạn chọn hệ thống âm thanh ALSA." + +#~ msgid "" +#~ "If either ALSA or OSS is selected then in cases where both systems offer " +#~ "a driver, only the driver from the selected sound system will be " +#~ "automatically loaded by hotplug or discover. If \"default\" is selected " +#~ "then the choice of which drivers to load automatically will be left up to " +#~ "hotplug or discover and may depend upon the kernel version. Removing the " +#~ "linux-sound-base package effectively puts the system into \"default\" " +#~ "mode." +#~ msgstr "" +#~ "Nếu bạn chọn hoặc ALSA hoặc OSS, trong trường hợp khi cả hai hệ thống " +#~ "cung cấp trình điều khiển, chỉ trình điều khiển từ hệ thống âm thanh đã " +#~ "chọn sẽ được tải tự động bởi tiến trình « hotplug » hay « discover ». Nếu " +#~ "bạn chọn « mặc định », tiến trình « hotplug » hay « discover » sẽ chọn " +#~ "trình điều khiển nào cần tải tự động, mà có thể phụ thuộc vào phiên bản " +#~ "hạt nhân riêng. Việc gỡ bỏ gói « linux-sound-base » có kết quả là để hệ " +#~ "thống trong chế độ « mặc định »." + +#~ msgid "" +#~ "The ALSA sound system is recommended. Select OSS only if you are using a " +#~ "2.4 kernel and you do not want to install an alsa-modules package, or if " +#~ "the OSS driver works with your hardware and the ALSA driver does not." +#~ msgstr "" +#~ "Đệ nghị bạn sử dụng hệ thống âm thanh ALSA. Hãy chọn OSS chỉ nếu bạn đang " +#~ "sử dụng một hạt nhân phiên bản 2.4, và không muốn cài đặt gói « alsa-" +#~ "modules » nào, hoặc nếu trình điều khiển OSS hỗ trợ phần cứng riêng của " +#~ "bạn, còn trình điều khiển ALSA không." + +#~ msgid "all, ${alsa_cards}" +#~ msgstr "tất cả, ${alsa_cards}" + +#~ msgid "${alsa_cards_with_descriptions}" +#~ msgstr "${alsa_cards_with_descriptions}" + +#~ msgid "ALSA, OSS, default" +#~ msgstr "ALSA, OSS, mặc định" --- alsa-driver-1.0.16.orig/debian/po/es.po +++ alsa-driver-1.0.16/debian/po/es.po @@ -0,0 +1,184 @@ +# Spanish translation of alsa-driver templates +# +# Traductores, si no conoce el formato PO, merece la pena leer la +# documentacin de gettext, especialmente las secciones dedicadas a este +# formato, por ejemplo ejecutando: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Equipo de traduccin al espaol, por favor lean antes de traducir +# los siguientes documentos: +# +# - El proyecto de traduccin de Debian al espaol +# http://www.debian.org/intl/spanish/coordinacion +# especialmente las notas de traduccin en +# http://www.debian.org/intl/spanish/notas +# +# - La gua de traduccin de po's de debconf: +# /usr/share/doc/po-debconf/README-trans +# o http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Copyright (C) 2004 Software in the Public Interest +# +# Original translator: Carlos Galisteo de Cabo +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver 1.0.9b-4\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2004-11-28 15:32+0100\n" +"Last-Translator: Carlos Galisteo de Cabo \n" +"Language-Team: Debian l10n spanish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "Construir los controladores ALSA con soporte para PnP ISA ?" + +# | msgid "" +# | "If you agree then the ALSA drivers will be built with support for the isa-" +# | "pnp driver." +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +#, fuzzy +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Si acepta, los controladores ALSA se construirn con soporte para isa-pnp" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "Construir los controladores ALSA con cdigo de depuracin?" + +# | msgid "" +# | "If you agree then the ALSA drivers will be built with code to help with " +# | "debugging." +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +#, fuzzy +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Si acepta, los controladores ALSA se construirn con cdigo de ayuda para la " +"depuracin" + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "todos" + +# | msgid "ALSAdrivers to build:" +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +#, fuzzy +msgid "ALSA drivers to build:" +msgstr "Controladores ALSA a construir:" + +# | msgid "" +# | "Select the ALSA sound card drivers that should be included in alsa-" +# | "modules packages that are built from the sources included in the alsa-" +# | "source package." +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +#, fuzzy +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Seleccione las tarjetas de sonido ALSA que deben ser incluidas en los " +"paquetes que se construyan a partir de las fuentes incluidas en el paquete " +"alsa-source." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"Lo siguiente es una lista de controladores de sonido disponibles con " +"descripciones cortas." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "por omisin" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Sistema de sonido a usar:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "" +"ALSA y OSS son sistemas de controladores alternativos para hardware de " +"sonido." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "" + +#~ msgid "" +#~ "If either ALSA or OSS is selected then in cases where both systems offer " +#~ "a driver, only the driver from the selected sound system will be " +#~ "automatically loaded by hotplug or discover. If \"default\" is selected " +#~ "then the choice of which drivers to load automatically will be left up to " +#~ "hotplug or discover and may depend upon the kernel version. Removing the " +#~ "linux-sound-base package effectively puts the system into \"default\" " +#~ "mode." +#~ msgstr "" +#~ "Si se selecciona ALSA u OSS, en el caso de que ambos sistemas ofrezcan un " +#~ "controlador, hotplug o discover slo cargarn automticamente, el " +#~ "controlador del sistema de sonido seleccionado. Si selecciona " +#~ "predeterminado se dejar a hotplug o discover la eleccin de qu " +#~ "controladores cargar automticamente, y puede depender de la versin del " +#~ "kernel. La desinstalacin del paquete linux-sound-base deja el sistema en " +#~ "el modo predeterminado." + +#~ msgid "" +#~ "The ALSA sound system is recommended. Select OSS only if you are using a " +#~ "2.4 kernel and you do not want to install an alsa-modules package, or if " +#~ "the OSS driver works with your hardware and the ALSA driver does not." +#~ msgstr "" +#~ "Se recomienda el sistema de sonido ALSA. Seleccione OSS slo si est " +#~ "usando un kernel 2.4 y no quiere instalar el paquete alsa-modules, o si " +#~ "el controlador de OSS funciona con su hardware y el de ALSA no lo hace." --- alsa-driver-1.0.16.orig/debian/po/sv.po +++ alsa-driver-1.0.16/debian/po/sv.po @@ -0,0 +1,179 @@ +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# Developers do not need to manually edit POT or PO files. +# , fuzzy +# +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver 1.0.12-2\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2006-09-14 15:26+0100\n" +"Last-Translator: Daniel Nylander \n" +"Language-Team: Swedish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "Bygg ALSA-drivrutiner med std fr ISA-PnP?" + +# | msgid "" +# | "If you agree then the ALSA drivers will be built with support for the isa-" +# | "pnp driver." +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +#, fuzzy +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Om du godknner s kommer ALSA-drivrutiner att byggas med std fr ISA-PnP." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "Bygg ALSA-drivrutin med inkluderad kod fr felskning?" + +# | msgid "" +# | "If you agree then the ALSA drivers will be built with code to help with " +# | "debugging." +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +#, fuzzy +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Om du godknner s kommer ALSA-drivrutiner att byggas med kod fr att hjlpa " +"till med felskning." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "alla" + +# | msgid "ALSAdrivers to build:" +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +#, fuzzy +msgid "ALSA drivers to build:" +msgstr "ALSA-drivrutiner att bygga:" + +# | msgid "" +# | "Select the ALSA sound card drivers that should be included in alsa-" +# | "modules packages that are built from the sources included in the alsa-" +# | "source package." +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +#, fuzzy +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Vlj de ALSA-ljudkortsdrivrutiner som ska inkluderas i alsa-modules-paketen " +"som byggs frn kllkoden inkluderad i paketet alsa-source." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"Fljande r en lista p tillgngliga ljudkortsdrivrutiner tillsammans med en " +"kort beskrivning." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "standard" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Ljudsystem att anvnda:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "ALSA och OSS r alternativa system fr drivrutiner fr ljudhrdvara." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "" + +#~ msgid "" +#~ "If either ALSA or OSS is selected then in cases where both systems offer " +#~ "a driver, only the driver from the selected sound system will be " +#~ "automatically loaded by hotplug or discover. If \"default\" is selected " +#~ "then the choice of which drivers to load automatically will be left up to " +#~ "hotplug or discover and may depend upon the kernel version. Removing the " +#~ "linux-sound-base package effectively puts the system into \"default\" " +#~ "mode." +#~ msgstr "" +#~ "Om antingen ALSA eller OSS vljs, dr bda systemen erbjuder en " +#~ "drivrutin, kommer endast drivrutinen frn det valda ljudsystemet att " +#~ "automatiskt lsas in av hotplug eller discover. Om \"standard\" vljs r " +#~ "det upp till hotplug eller discover som gr valet av vilken drivrutin som " +#~ "ska lsas in automatiskt och kan bero p versionen av krnan. Borttagning " +#~ "av paketet linux-sound-base kommer att frstta systemet i \"standard\"-" +#~ "lget." + +#~ msgid "" +#~ "The ALSA sound system is recommended. Select OSS only if you are using a " +#~ "2.4 kernel and you do not want to install an alsa-modules package, or if " +#~ "the OSS driver works with your hardware and the ALSA driver does not." +#~ msgstr "" +#~ "Ljudsystemet ALSA r rekommenderat. Vlj endast OSS om du anvnder en 2.4-" +#~ "krna och du inte vill installera ett paket med alsa-moduler, eller om " +#~ "OSS-drivrutinen fungerar med din hrdvara och ALSA-drivrutinen inte gr " +#~ "det." + +#~ msgid "all, ${alsa_cards}" +#~ msgstr "alla, ${alsa_cards}" + +#~ msgid "${alsa_cards_with_descriptions}" +#~ msgstr "${alsa_cards_with_descriptions}" + +#~ msgid "ALSA, OSS, default" +#~ msgstr "ALSA, OSS, standard" --- alsa-driver-1.0.16.orig/debian/po/be.po +++ alsa-driver-1.0.16/debian/po/be.po @@ -0,0 +1,116 @@ +# translation of alsa-driver_1.0.14-2_templates.po to Belarusian +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Pavel Piatruk , 2007. +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver_1.0.14-2_templates\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-10-15 09:22+0300\n" +"Last-Translator: Pavel Piatruk \n" +"Language-Team: Belarusian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "Ці збудаваць драйверы ALSA з падтрымкай ISA PnP?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "Калі выберыце гэта, драйверы ALSA будуць збудаваны з падтрымкай драйвера isa-pnp." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "Ці збудаваць драйверы ALSA з кодам адладкі?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "Калі выберыце гэта, драйверы ALSA будуць збудаваны з кодам адладкі." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "усё" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "Будаваць драйверы ALSA " + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "Вылучыце драйверы ALSA гукавай карткі, якія будуць збудаваны з гэтых крыніц і ўключаны ў пакеты alsa-modules." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "Гэта ліст дасяжных драйвераў гукавых картак разам з кароткім апісаннем." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "прадвызначана" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Выкарыстоўваць гукавую сістэму:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "ALSA ды OSS - узаемавыключныя сістэмы драйвераў для гукавай апаратары." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "Вылучэнне ALSA або OSS вымусіць выкарыстанне такога ж драйвера, нават калі абодва драйверы існуюць." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "Выбар пункта \"прадвызначана\" азначае пакінуць гэта рашэнне за механізмам вызначэння апаратуры; гэта залежыць, аднак, ад версіі ядра. Выдаленне пакета linux-sound-base ставіць сістэму ў \"прадвызначаны\" рэжым." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "Выбар гукавай сістэмы ALSA настойліва рэкамендавана.." + --- alsa-driver-1.0.16.orig/debian/po/ja.po +++ alsa-driver-1.0.16/debian/po/ja.po @@ -0,0 +1,124 @@ +# Japanese translation of alsa-driver templates +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver 1.0.14~rc3-2\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-05-25 23:41+0900\n" +"Last-Translator: Kenshi Muto \n" +"Language-Team: Japanese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "ISA PnP サポート付きで ALSA ドライバを構築しますか?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"この選択肢に「はい」と答えると、ALSA ドライバは isa-pnp ドライバのサポート付" +"きで構築されます。" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "デバッグコード付きで ALSA ドライバを構築しますか?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"この選択肢に「はい」と答えると、ALSA ドライバはデバッグに役立つコード付きで構" +"築されます。" + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "すべて" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "構築する ALSA ドライバ:" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"これらのソースから構築される、alsa-modules パッケージに含めたい ALSA サウンド" +"カードドライバを選択してください。" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "以下は利用可能なサウンドカードドライバおよびその短い説明のリストです。" + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "デフォルト" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "利用するサウンドシステム:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "" +"ALSA と OSS はサウンドハードウェア用ドライバのシステムで、どちらかを利用しま" +"す。" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" +"ALSA または OSS の選択は、両方のドライバが存在する場合にどのドライバを使うか" +"を強制します。" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"「デフォルト」を選ぶと、この決定はハードウェア検出機構に任され、どのドライバ" +"が使われるかはカーネルバージョンに依存します。linux-sound-base パッケージを削" +"除すると、システムを「デフォルト」モードにすることになります。" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "ALSA サウンドシステムを選択することを強く推奨します。" --- alsa-driver-1.0.16.orig/debian/po/bg.po +++ alsa-driver-1.0.16/debian/po/bg.po @@ -0,0 +1,127 @@ +# translation of bg.po to Bulgarian +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Damyan Ivanov , 2007. +msgid "" +msgstr "" +"Project-Id-Version: bg\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-05-24 17:01+0300\n" +"Last-Translator: Damyan Ivanov \n" +"Language-Team: Bulgarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "Компилиране на драйверите на ALSA с поддръжка на ISA PnP?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Ако изберете тази настройка, драйверите на ALSA ще бъдат компилирани с " +"поддръжка на драйвера isa-pnp." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "Компилиране на драйверите на ALSA с debug?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Ако изберете тази настройка, драйверите на ALSA ще бъдат компилирани с код, " +"помагащ откриването на грешки." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "всички" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "Драйвери на ALSA, които да бъдат компилирани:" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Изберете, драйвери за кои звукови карти да бъдат включени в пакета alsa-" +"modules." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "Следва списък на поддържаните звукови карти с кратко описание." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "по подразбиране" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Използвана звукова система:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "" +"ALSA и OSS са алтернативни системи от драйвери за достъп до звуковия хардуер." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" +"Изберете предпочитаната звукова система, която да се изпозлва в случаите, " +"когато и двете поддържат звуковия хардуер." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"Избирането на „по подразбиране“ оставя избора на системата за откриване на " +"хардуер, която може да зависи от версията на ядрото. Изтриването на пакета " +"linux-sound-base е същото като избирането на „по подразбиране“." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "Препоръчително е избирането на звуковата система ALSA." --- alsa-driver-1.0.16.orig/debian/po/gl.po +++ alsa-driver-1.0.16/debian/po/gl.po @@ -0,0 +1,152 @@ +# Galician translation of alsa-driver's debconf templates. +# Jacobo Tarrio , 2006, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-05-24 09:02+0200\n" +"Last-Translator: Jacobo Tarrio \n" +"Language-Team: Galician \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "¿Compilar os controladores de ALSA con soporte de ISA PnP?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Se escolle esta opción, os controladores de ALSA hanse compilar con soporte " +"de Plug-and-Play ISA empregando o controlador isa-pnp." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "¿Compilar os controladores de ALSA con código de depuración?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Se escolle esta opción, os controladores de ALSA hanse compilar con código " +"que auxilia á depuración." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "todos" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "Controladores ALSA a compilar:" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Escolla os controladores de tarxeta de son ALSA que se teñen que incluír nos " +"paquetes de alsa-modules que se compilen a partires dese código fonte." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"A seguir hai unha lista de controladores de tarxeta de son dispoñibles con " +"algunhas descricións curtas." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "por defecto" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Sistema de son a empregar:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "" +"ALSA e OSS son sistemas alternativos de controladores para hardware de son." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" +"Escoller ALSA ou OSS ha facer que se empregue un controlador dese tipo " +"incluso nos casos nos que existan controladores de ámbolos dous tipos." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"Se escolle a opción \"por defecto\" ha deixar a decisión ao mecanismo de " +"detección de hardware, e o resultado pode depender da versión do núcleo. " +"Eliminar o paquete linux-sound-base ten un resultado equivalente a poñer o " +"sistema en modo \"por defecto\"." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "Recoméndase encarecidamente escoller o sistema de son ALSA." + +#~ msgid "" +#~ "If either ALSA or OSS is selected then in cases where both systems offer " +#~ "a driver, only the driver from the selected sound system will be " +#~ "automatically loaded by hotplug or discover. If \"default\" is selected " +#~ "then the choice of which drivers to load automatically will be left up to " +#~ "hotplug or discover and may depend upon the kernel version. Removing the " +#~ "linux-sound-base package effectively puts the system into \"default\" " +#~ "mode." +#~ msgstr "" +#~ "Se selecciona ALSA ou OSS, nos casos nos que ámbolos dous sistemas " +#~ "ofrezan un controlador, hotplug e discover só han cargar automaticamente " +#~ "o controlador do sistema de son seleccionado. Se está seleccionado \"por " +#~ "defecto\", a elección do módulo a cargar ha quedar para hotplug ou " +#~ "discover e pode depender da versión do núcleo. Se elimina o paquete linux-" +#~ "sound-base ha poñer o sistema en modo \"por defecto\" de xeito efectivo." + +#~ msgid "" +#~ "The ALSA sound system is recommended. Select OSS only if you are using a " +#~ "2.4 kernel and you do not want to install an alsa-modules package, or if " +#~ "the OSS driver works with your hardware and the ALSA driver does not." +#~ msgstr "" +#~ "Recoméndase que empregue o sistema de son ALSA. Escolla OSS só se emprega " +#~ "un núcleo 2.4 e non quere instalar un paquete alsa-modules, ou só se o " +#~ "controlador OSS funciona co seu hardware e o controlador ALSA non." --- alsa-driver-1.0.16.orig/debian/po/fr.po +++ alsa-driver-1.0.16/debian/po/fr.po @@ -0,0 +1,133 @@ +# translation of fr.po to French +# French translation of alsa-driver templates +# +# Original translator: Denis Barbier +# +# Christian Perrier , 2004, 2006, 2007. +msgid "" +msgstr "" +"Project-Id-Version: fr\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-05-24 07:42+0200\n" +"Last-Translator: Christian Perrier \n" +"Language-Team: French \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n>1;\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "Faut-il compiler les pilotes ALSA avec la gestion de « ISA PnP » ?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Si vous choisissez cette option, les pilotes ALSA seront compilés avec la " +"gestion du pilote « Plug and Play » ISA." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "Faut-il compiler les pilotes ALSA en mode de débogage ?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Si vous choisissez cette option, les pilotes ALSA comporteront du code " +"additionnel permettant leur débogage." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "tous" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "Pilotes ALSA à compiler :" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Veuillez choisir les pilotes ALSA pour cartes son qui seront inclus dans les " +"paquets alsa-modules créés à partir de ces sources." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"La liste affichée propose les pilotes disponibles avec une description " +"sommaire." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "Système par défaut" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Système de gestion du son à utiliser :" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "" +"ALSA et OSS sont deux systèmes différents de pilotes pour les périphériques " +"de gestion du son." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" +"Choisir ALSA ou OSS revient à forcer l'utilisation du pilote concerné même " +"lorsque les deux pilotes sont disponibles." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"En choisissant « Système par défaut », le pilote à utiliser sera choisi " +"automatiquement par le mécanisme de détection du matériel et pourra dépendre " +"de la version du noyau. Si le paquet « linux-sound-base » est supprimé, le " +"système utilisera le mode « Système par défaut »." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "Il est conseillé de choisir « ALSA »." --- alsa-driver-1.0.16.orig/debian/po/nl.po +++ alsa-driver-1.0.16/debian/po/nl.po @@ -0,0 +1,164 @@ +# Dutch translation of alsa-driver templates +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver 1.0.7-1\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-05-25 18:29+0100\n" +"Last-Translator: Bart Cornelis \n" +"Language-Team: debian-l10n-dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "ALSA-stuurprogramma's bouwen met ISA PnP ondersteuning?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Als u deze optie kiest zullen de ALSA-stuurprogramma's met ondersteuning " +"voor het 'isa-pnp'-stuurprogramma gebouwd worden." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "ALSA-stuurprogramma's bouwen met debug code?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Als u deze optie kiest zullen de ALSA-stuurprogramma's met ondersteuning " +"voor debuggen gebouwd worden." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "allemaal" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "Welke ALSA-stuurprogramma's dienen gebouwd te worden?" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Welke ALSA-stuurprogramma's dienen in het van deze broncodes gebouwde 'alsa-" +"modules'-pakket opgenomen te worden?" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"Wat volgt zijn de namen van beschikbare stuurprogramma's samen met korte " +"omschrijvingen." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "standaard" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Welk geluidssysteem wilt u gebruiken?" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "" +"ALSA en OSS zijn alternatieve systemen voor stuurprogramma's voor " +"geluidshardware." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" +"Als u hier expliciet kiest voor ALSA of OSS wordt de keuze van een " +"overeenkomstig stuurprogramma afgedwongen in die gevallen waar beide een " +"stuurprogramma beschikbaar hebben." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"Als u de optie 'standaard' kiest wordt deze beslissing aan het hardware-" +"detectie-mechanisme overgelaten, wat inhoudt dat dit afhankelijk is van de " +"kernelversie. Verwijderen van het pakket 'linux-sound-base' heeft hetzelfde " +"effect als hier voor de 'standaard'-modus kiezen.''" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "U wordt sterk aangeraden om voor het ALSA-geluidssysteem te kiezen." + +#~ msgid "" +#~ "If either ALSA or OSS is selected then in cases where both systems offer " +#~ "a driver, only the driver from the selected sound system will be " +#~ "automatically loaded by hotplug or discover. If \"default\" is selected " +#~ "then the choice of which drivers to load automatically will be left up to " +#~ "hotplug or discover and may depend upon the kernel version. Removing the " +#~ "linux-sound-base package effectively puts the system into \"default\" " +#~ "mode." +#~ msgstr "" +#~ "Als of 'ALSA' of 'OSS' geselecteerd is en beide systemen een " +#~ "stuurprogramma ter beschikking stellen, zal alleen het stuurprogramma van " +#~ "het geselecteerde systeem automatisch worden geladen door hotplug of " +#~ "discover. Wanneer 'standaard' geselecteerd is, wordt de " +#~ "stuurprogrammakeuze overgelaten aan hotplug of discover, en kan deze " +#~ "afhankelijk zijn van de kernel-versie. Verwijderen van het 'linux-sound-" +#~ "base'-pakket plaatst dit systeem in 'standaard'-modus." + +#~ msgid "" +#~ "The ALSA sound system is recommended. Select OSS only if you are using a " +#~ "2.4 kernel and you do not want to install an alsa-modules package, or if " +#~ "the OSS driver works with your hardware and the ALSA driver does not." +#~ msgstr "" +#~ "Het ALSA geluidssysteem is aanbevolen. Selecteer OSS wanneer u een 2.4 " +#~ "kernel gebruikt en u een overeenkomstige 'alsa-modules'-pakket niet wilt " +#~ "installeren, of wanneer het ALSA-stuurprogramma voor uw hardware niet " +#~ "werkt en het OSS-stuurprogramma wel." + +#~ msgid "all, ${alsa_cards}" +#~ msgstr "allemaal, ${alsa_cards}" + +#~ msgid "${alsa_cards_with_descriptions}" +#~ msgstr "${alsa_cards_with_descriptions}" + +#~ msgid "ALSA, OSS, default" +#~ msgstr "ALSA, OSS, standaard" --- alsa-driver-1.0.16.orig/debian/po/ru.po +++ alsa-driver-1.0.16/debian/po/ru.po @@ -0,0 +1,129 @@ +# translation of ru.po to Russian +# Russian translation of alsa-driver templates +# +# Yuri Kozlov , 2007. +# Serge Winitzki , 2004, 2007. +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver 1.0.14\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-06-09 13:34+0400\n" +"Last-Translator: Serge Winitzki \n" +"Language-Team: Russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "Компилировать драйверы ALSA с поддержкой ISA PnP?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Если вы скажете ДА, то ALSA-драйверы будут скомпилированы с поддержкой " +"драйвера isa-pnp." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "Скомпилировать драйверы ALSA с отладочным кодом?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Если вы скажете ДА, то ALSA-драйверы будут скомпилированы с кодом, " +"помогающим отладке." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "все" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "Собираемые драйверы ALSA:" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Выберите те ALSA-драйверы звуковых карт, которые нужно будет включить в " +"пакеты alsa-modules, собираемые из исходников." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "Вот список имеющихся драйверов звуковых карт и краткие описания." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "по умолчанию" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Используемая звуковая систем:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "ALSA и OSS -- это альтернативные системы драйверов для звуковых карт." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" +"Если вы отметите ALSA или OSS, то будет использован драйвер именно выбранной " +"системы, даже если в принципе доступны оба драйвера." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"Если вы выберете \"по умолчанию\", то решение будет принято автоматически " +"механизмом определения аппаратного обеспечения, и может зависеть от версии " +"ядра. Удаление пакета linux-sound-base переводит систему в режим \"по " +"умолчанию\"." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "Настоятельно рекомендуется выбрать звуковую систему ALSA." --- alsa-driver-1.0.16.orig/debian/po/ta.po +++ alsa-driver-1.0.16/debian/po/ta.po @@ -0,0 +1,123 @@ +# translation of alsa-driver.po to TAMIL +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Dr.T.Vasudevan , 2007. +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-05-26 10:59+0530\n" +"Last-Translator: Dr.T.Vasudevan \n" +"Language-Team: TAMIL \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "ஐஎஸ்ஏ பிஎன்பி ஆதரவுடன் அல்ஸா இயக்கிகளை கட்டுமானம் செய்யலாமா?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "இதை தேர்ந்தெடுத்தால் ஐஎஸ்ஏ பிஎன்பி ஆதரவுடன் அல்ஸா இயக்கிகள் கட்டுமானம் செய்யப்படும்." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "வழுநீக்கும் குறிமுறையுடன் அல்ஸா இயக்கிகளை கட்டுமானம் செய்யலாமா?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"இதை தேர்ந்தெடுத்தால் வழுநீக்கும் குறிமுறையுடன் அல்ஸா இயக்கிகள் கட்டுமானம் செய்யப்படும். " + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "அனைத்தும்" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "கட்டுமானம் செய்யப்பட வேண்டிய அல்ஸா இயக்கிகள்:" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"தயை செய்து இந்த மூலங்களிலிருந்து கட்டுமானம் செய்யப்படும் அல்ஸா தொகுப்பு பொதிகளில் சேர்க்க " +"வேண்டிய அல்ஸா ஒலி அட்டை இயக்கிகளை தேர்ந்தெடுங்கள்." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "கீழ் காண்பது இருப்பில் உள்ள ஒலி அட்டை இயக்கிகளின் பட்டியல். (சிறுகுறிப்புகளுடன்)" + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "முன்னிருப்பு" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "பயன்படுத்த வேண்டிய ஒலி அமைப்பு:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "ஒலி வன்பொருட்களுக்கு அல்ஸாவும் ஓஎஸ்எஸ் உம் மாற்று இயக்கி அமைப்புகள்." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" +"இரண்டு இயக்கிகளும் உள்ள போது அல்ஸா அல்லது ஓஎஸ்எஸ் ஐ தேர்ந்தெடுப்பது அந்த இயக்கியை " +"பயன்படுத்துவதை உறுதி செய்யும்." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"முன்னிருப்பு என தேர்ந்தெடுப்பது (\"default\" )இந்த முடிவு வன்பொருள் கண்டு பிடிக்கும் " +"நிரலுக்கு விடப்படச்செய்யும். இது உட்கூறைப்பொருத்தது ஆகிவிடும். லீனக்ஸ் ஒலி ஆதார பொதியை " +"நீக்குவது கணினியை இந்த முன்னிருப்பில் அமைத்து விடும்." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "அல்ஸா ஒலி அமைப்பை தேர்ந்தெடுத்தல் பலமாக பரிந்துரைக்கப்படுகிறது." --- alsa-driver-1.0.16.orig/debian/po/pt.po +++ alsa-driver-1.0.16/debian/po/pt.po @@ -0,0 +1,131 @@ +# translation of pt.po to Portuguese +# Portuguese translation of apt-build's debconf messages. +# 2005, Rui Branco +# 2005-09-25 - Rui Branco +# 2005-11-17 - Bruno Miguel da Silva Queiros +# 2007-05-26 - Rui Branco +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-05-26 11:57+0100\n" +"Last-Translator: Rui Branco \n" +"Language-Team: Portuguese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "Compilar os controladores ALSA com suporte para ISA PnP?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Se aceitar os controladores ALSA serão compilados com suporte para o driver " +"isa-pnp." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "Compilar os controladores ALSA com código de depuração?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Se aceitar os controladores ALSA serão compilados com código de ajuda para o " +"ajudar na depuração." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "todos" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "Controladores ALSA a compilar:" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Por favor seleccione os controladores da placa de som ALSA que devem ser " +"incluídos nos pacotes do alsa-modules que são criados a partir destas fontes." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"A lista seguinte mostra os controladores da placa de som disponíveis " +"acompanhados de uma pequena descrição." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "padrão" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Sistema de som a usar:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "" +"ALSA e OSS são sistemas alternativos de controladores de hardware de som." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" +"Ao seleccionar ALSA ou OSS irá forçar a utilização do driver respectivo " +"mesmo em casos em que ambos os drivers existam." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"Escolher a opção \"default\" (padrão) significa que a decisão é deixada para " +"o mecanismo de detecção de hardware, podendo depender da versão do kernel. " +"Remover o pacote linux-sound-base coloca efectivamente o sistema em modo " +"\"default\" (padrão)." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "Recomenda-se fortemente a escolha do sistema de som ALSA." --- alsa-driver-1.0.16.orig/debian/po/ml.po +++ alsa-driver-1.0.16/debian/po/ml.po @@ -0,0 +1,128 @@ +# translation of alsa-driver to malayalam +# Santhosh Thottingal , 2007. +# Reviewed and updated by Praveen|പ്രവീണ്‍‌‌‌ A|എ , 2007. +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver_1.0.13-5_ml\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-05-27 23:09+0530\n" +"Last-Translator: Praveen|പ്രവീണ്‍‌‌‌ A|എ \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "" +"അല്‍സ (ALSA) പ്രവര്‍ത്തകങ്ങള്‍ ഇസ പിഎന്‍പി (ISA PnP) പിന്തുണയോടുകൂടി കൂടി നിര്‍മ്മിക്കട്ടെ?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"നിങ്ങള്‍ ഈ ഐച്ഛികം തിരഞ്ഞെടുക്കുകയാണെങ്കില്‍, അല്‍സ (ALSA) പ്രവര്‍ത്തകങ്ങള്‍ ഇസ-പിഎന്‍പി (isa-" +"pnp) പ്രവര്‍ത്തകത്തിനുള്ള പിന്തുണയോടുകൂടി നിര്‍മ്മിക്കുന്നതായിരിയ്ക്കും." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "അല്‍സ (ALSA) പ്രവര്‍ത്തകങ്ങള്‍ പ്രശ്നനിര്‍ധാരണ കോഡു സഹിതം നിര്‍മ്മിക്കട്ടെ?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"നിങ്ങള്‍ ഈ ഐച്ഛികം തിരഞ്ഞെടുക്കുകയാണെങ്കില്‍, അല്‍സ (ALSA) പ്രവര്‍ത്തകങ്ങള്‍ പ്രശ്നനിര്‍ധാരണത്തിന് " +"സഹായിയ്ക്കുന്ന കോഡ് സഹിതം നിര്‍മ്മിയ്ക്കും." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "എല്ലാം" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "നിര്‍മ്മിക്കേണ്ട അല്‍സ (ALSA) പ്രവര്‍ത്തകങ്ങള്‍:" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"ദയവായി ഈ സ്രോതസ്സുകളില്‍ നിന്നും നിര്‍മിക്കപ്പെട്ട അല്‍സ-മൊഡ്യൂള്‍സ് (alsa-modules) പാക്കേജുകളില്‍ " +"ഉള്‍പ്പെടുത്തേണ്ട അല്‍സ (ALSA) ശബ്ദ കാര്‍ഡ് പ്രവര്‍ത്തകങ്ങള്‍ ‍തിരഞ്ഞെടുക്കുക." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "ലഭ്യമായ ശബ്ദ കാര്‍ഡ് പ്രവര്‍ത്തകങ്ങളും അവയുടെ ലഘുവിവരണവും." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "സഹജമായ" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "ഉപയോഗിക്കേണ്ട ശബ്ദസംവിധാനം :" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "" +"അല്‍സ (ALSA) യും ഒഎസ്എസ് (OSS) ഉം ശബ്ദ ഉപകരണങ്ങള്‍ക്കുള്ള വ്യത്യസ്ത പ്രവര്‍ത്തക സംവിധാനങ്ങള്‍ ആണ്." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" +"അല്‍സ (ALSA) അല്ലെങ്കില്‍ ഒഎസ്എസ് (OSS) തിരഞ്ഞെടുക്കുന്നത് രണ്ട് പ്രവര്‍ത്തകങ്ങളും നിലവിലുള്ള " +"സന്ദര്‍ബങ്ങളില്‍ പോലും അത്തരമൊരു പ്രവര്‍ത്തകത്തിന്റെ ഉപയോഗത്തെ ഉറപ്പാക്കും." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"\"സഹജമായ\"എന്ന ഐച്ഛികം തിരഞ്ഞെടുക്കുന്നതിനര്‍ത്ഥം ഈ തീരുമാനം ഹാര്‍ഡ്‌വെയര്‍ കണ്ടുപിടിയ്ക്കല്‍ " +"ഉപാധിയ്ക്കായി വിട്ടുകൊടുത്തിരിയ്ക്കുന്നു എന്നതും കെര്‍ണല്‍ ലക്കത്തിനനുസരിച്ച് മാറാവുന്നതുമാണെന്നാണ്. " +"ലിനക്സ്-സൌണ്ട്-ബേസ് (linux-sound-base) നീക്കം ചെയ്യുന്നത് ഫലത്തില്‍ സിസ്റ്റത്തിനെ \"സഹജമായ" +"\"എന്ന മോഡിലേയ്ക്ക് എത്തിയ്ക്കും." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "അല്‍സ (ALSA) ശബ്ദസംവിധാനം തിരഞ്ഞെടുക്കുന്നത് ശക്തമായി ശുപാര്‍ശ ചെയ്തിരിയ്ക്കുന്നു." --- alsa-driver-1.0.16.orig/debian/po/it.po +++ alsa-driver-1.0.16/debian/po/it.po @@ -0,0 +1,128 @@ +# Italian (it) translation of debconf templates for alsa-driver +# Copyright (C) 2007 Software in the Public Interest +# This file is distributed under the same license as the alsa-driver package. +# Luca Monducci , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver italian debconf templates\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-05-26 16:10+0200\n" +"Last-Translator: Luca Monducci \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "Compilare i driver ALSA con il supporto per il PnP ISA?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Se si sceglie questa opzione, i driver ALSA verranno compilati con il " +"supporto per il driver isa-pnp." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "Compilare i driver ALSA con il codice di debug?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Se si sceglie questa opzione, i driver ALSA verranno compilati con il codice " +"che aiuta nel debug." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "tutti" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "Driver ALSA da compilare:" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Selezionare i driver ALSA per la scheda sonora da includere nei pacchetti " +"alsa-modules creati a partire da questi sorgenti." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"Segue un elenco dei driver per schede sonore disponibili con una breve " +"descrizione." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "predefinito" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Sistema sonoro da usare:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "ALSA e OSS sono sistemi alternativi di driver per schede sonore." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" +"La scelta fra ALSA o OSS comporta l'uso di quel driver nei casi in cui " +"entrambi i sistemi offrono un driver." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"Se si sceglie l'opzione \"predefinito\", la scelta del driver è lasciata al " +"sistema di riconoscimento dell'hardware e potrebbe dipendere dalla versione " +"del kernel. La rimozione del pacchetto linux-sound-base ha l'effetto di " +"impostare il sistema nella modalità \"predefinito\"." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "Si raccomanda la scelta del sistema sonoro ALSA." --- alsa-driver-1.0.16.orig/debian/po/ar.po +++ alsa-driver-1.0.16/debian/po/ar.po @@ -0,0 +1,125 @@ +# translation of ar.po to Arabic +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Ossama M. Khayat , 2007. +msgid "" +msgstr "" +"Project-Id-Version: ar\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-06-09 14:09+0300\n" +"Last-Translator: Ossama M. Khayat \n" +"Language-Team: Arabic \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=6; plural=n==1 ? 0 : n==0 ? 1 : n==2 ? 2: n%100>=3 && " +"n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "إنشاء مشغّلات ALSA مع دعم ISA PnP؟" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"إن قمت بانتقاء هذا الخيار، سيتم إنشاء مشغّلات ALSA مع دعم لمشغّلات isa-pnp." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "إنشاء مشغّلات ALSA مع شيفرة إزالة العلل؟" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"إن قمت بانتقاء هذا الخيار، سيتم إنشاء مشغّلات ALSA مع شيفرة مساعدة في إزالة " +"العلل. " + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "الكل" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "مشغّل ALSA المطلوب إنشاءه:" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"الرجاء اختيار مشغّلات بطاقات صوت ALSA التي يجب إضافتها في حزم وحدات alsa-" +"modules التي سوف تنشأ من هذه المصادر." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "فيما يلي قائمة بمشغّلات بطاقات الصوت المتوفرة إضافة إلى وصف مختصر عنها." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "الافتراضي" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "نظام الصوت المطلوب استخدامه:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "ALSA و OSS هما نظاما مشغّلات بديلان لعتاد الصوت." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "انتقاء ALSA أو OSS سوف يُجبر استخدام هذا المشغّل في حال توفّر كلاهما." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"انتقاء الخيار \"الافتراضي\" يعني أن هذا القرار متروك لآلية اكتشاف العتاد، " +"وقد يعتمد على نسخة النواة. إزالة الحزمة linux-sound-base يضع النظام في الوضع " +"\"الافتراضي\"." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "اختيار نظام الصوت ALSA مستحسن جداً." --- alsa-driver-1.0.16.orig/debian/po/eu.po +++ alsa-driver-1.0.16/debian/po/eu.po @@ -0,0 +1,128 @@ +# alsa-drivers debconf +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Piarres Beobide +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-drivers debconf\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-05-24 09:34+0200\n" +"Last-Translator: Piarres Beobide \n" +"Language-Team: Euskara \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Pootle 0.11\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "ALSA kontrolgailuak ISA PnP onarpenarekin eraiki?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Aukera hau hautatuaz, ALSA kontrolagailuak isa-pnp kontrolagailuarentzat " +"onarpenarekin eraikiko dira." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "ALSA kontrolagailuak arazpen kodeaz eraiki?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Aukera hau hautatuaz, ALSA kontrolagailuak arazpenean laguntzeko kodeaz " +"eraikiko dira." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "dena" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "Eraiki behar diren ALSA kontrolatzaileak:" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Mesedez hautatu iturburu honetatik eraikiko den alsa-modules paketeak eduki " +"behar dituen ALSA soinu txartel kontrolagailuak." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"Hurrengoa erabilgarri dauden soinu txartel kontrolagailu eta haien azalpen " +"laburren zerrenda bat da." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "lehenetsia" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Erabiliko den soinu sistema:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "ALSA eta OSS soinu hardwarearentzat sistema aukera ezberdinak dira." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" +"ALSA edo OSS hautatuaz biak posible diren kasuetan kontrolagailu hori " +"erabiltzea behartzea eragingo du." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"\"lehenetsia\" hautatuaz hautapen hau hardware antzemate mekanismoaren esku " +"utziko da eta kernel bertsioaren arabera aldatu daiteke. linux-sound-base " +"paketea ezabatuaz sistema \"lehenetsi\" moduan ipiniko da." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "ALSA soinu sistema hautatzea gomendatzen da." --- alsa-driver-1.0.16.orig/debian/po/fi.po +++ alsa-driver-1.0.16/debian/po/fi.po @@ -0,0 +1,98 @@ +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver 1.0.15-2\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-11-30 14:52+0200\n" +"Last-Translator: Esko Arajärvi \n" +"Language-Team: Finnish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Finnish\n" +"X-Poedit-Country: Finland\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "Käännetäänkö ALSA-ajureihin ISA PnP -tuki?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "If you choose this option, the ALSA drivers will be built with support for the isa-pnp driver." +msgstr "Jos valitset tämän vaihtoehdon, ALSA-ajureihin käännetään tuki isa-pnp-ajurille." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "Käännetäänkö ALSA-ajureihin vianjäljityskoodi?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "If you choose this option, the ALSA drivers will be built with code to help with debugging." +msgstr "Jos valitset tämän vaihtoehdon, ALSA-ajureihin käännetään koodia, joka auttaa ohjelmavirheiden jäljittämisessä." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "kaikki" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "Käännettävät ALSA-ajurit:" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "Please select the ALSA sound card drivers that should be included in alsa-modules packages built from these sources." +msgstr "Valitset ALSA-äänikorttiajurit, jotka tulisi sisällyttää näistä lähdekoodeista käännettäviin alsa-modules-paketteihin." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "The following is a list of available sound card drivers along with short descriptions." +msgstr "Alla on lista käytettävissä olevista äänikorttiajureista ja niiden lyhyet kuvaukset." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "oletus" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Käytettävä äänijärjestelmä:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "ALSA ja OSS ovat vaihtoehtoisia ajurijärjestelmiä äänilaitteille." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Selecting ALSA or OSS will enforce the use of such a driver even in cases where both drivers exist." +msgstr "ALSAn tai OSS:n valitseminen pakottaa kyseisen ajurin käyttöön niissäkin tapauksissa, kun molemmat ovat olemassa." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the \"default\" option will mean this decision is left to the hardware detection mechanism, and may depend upon the kernel version. Removing the linux-sound-base package effectively puts the system into \"default\" mode." +msgstr "Valinta ”oletus” tarkoittaa, että päätöksen teko jätetään laitteidentunnistusmekanismille, jonka toiminta saattaa riippua ytimen versiosta. Paketin linux-sound-base poistaminen efektiivisesti laittaa järjestelmän ”oletus”-tilaan." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "ALSA-äänijärjestelmän valitseminen on erittäin suositeltavaa." + --- alsa-driver-1.0.16.orig/debian/po/sk.po +++ alsa-driver-1.0.16/debian/po/sk.po @@ -0,0 +1,96 @@ +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver 1.0.14-1\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-09-10 21:45+0100\n" +"Last-Translator: Ivan Masár \n" +"Language-Team: Slovak \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "Zostaviť ovládače ALSA s podporou ISA PnP?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "If you choose this option, the ALSA drivers will be built with support for the isa-pnp driver." +msgstr "Ak vyberiete túto voľbu, ovládače ALSA budú zostavené s podporou pre ovládač isa-pnp." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "Zostaviť ALSA s ladiacim kódom?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "If you choose this option, the ALSA drivers will be built with code to help with debugging." +msgstr "Ak vyberiete túto voľbu, ovládače ALSA budú zostavené s ladiacim kódom." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "všetky" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "Ktoré ovládače ALSA zostaviť:" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "Please select the ALSA sound card drivers that should be included in alsa-modules packages built from these sources." +msgstr "Prosím, vyberte ovládače ALSA, ktoré majú byť zahrnuté v balíkoch alsa-modules zostavených zo zdrojových kódov." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "The following is a list of available sound card drivers along with short descriptions." +msgstr "Nasleduje zoznam dostupných ovádačov zvukových kariet s krátkymi popismi." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "štandard" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Ktorý zvukový systém použiť:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "ALSA a OSS sú alternatívne systémy ovládačov zvukového hardvéru." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Selecting ALSA or OSS will enforce the use of such a driver even in cases where both drivers exist." +msgstr "Zvolenie ALSA alebo OSS vynúti použitie jedného z nich aj v prípade, že existujú oba." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the \"default\" option will mean this decision is left to the hardware detection mechanism, and may depend upon the kernel version. Removing the linux-sound-base package effectively puts the system into \"default\" mode." +msgstr "Výber voľby „štandard“ bude znamenať, že rozhodnutie sa nechá na mechanizmus detekcie hardvéru a môže závisieť na verzii jadra. Odstránenie balíka linux-sound-base má za účinok vynútenie režimu „štandard“." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "Silne sa odporúča vybrať systém ALSA." + --- alsa-driver-1.0.16.orig/debian/po/tr.po +++ alsa-driver-1.0.16/debian/po/tr.po @@ -0,0 +1,164 @@ +# Turkish translation of alsa-driver templates +# +# Recai Oktaş 2004, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver 1.0.7-1\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2006-09-16 03:28+0300\n" +"Last-Translator: Recai Oktaş \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "ALSA sürücüsü ISA PnP desteğiyle oluşturulsun mu?" + +# | msgid "" +# | "If you agree then the ALSA drivers will be built with support for the isa-" +# | "pnp driver." +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +#, fuzzy +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Bu soruya olumlu cevap vermeniz halinde ALSA sürücüleri isa-pnp sürücü " +"desteğiyle derlenecektir." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "ALSA sürücüsünde hata ayıklama kodu bulunsun mu?" + +# | msgid "" +# | "If you agree then the ALSA drivers will be built with code to help with " +# | "debugging." +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +#, fuzzy +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Bu soruya olumlu cevap vermeniz halinde ALSA sürücüleri hata ayıklamada " +"yardımcı olacak bilgilerle derlenecektir." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "hepsi" + +# | msgid "ALSAdrivers to build:" +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +#, fuzzy +msgid "ALSA drivers to build:" +msgstr "Oluşturulacak ALSA sürücüleri:" + +# | msgid "" +# | "Select the ALSA sound card drivers that should be included in alsa-" +# | "modules packages that are built from the sources included in the alsa-" +# | "source package." +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +#, fuzzy +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"alsa-modules paketlerine dahil edilmesini istediğiniz ALSA ses kartı " +"sürücülerini seçin. Bu paketlerdeki sürücüler alsa-source paketindeki " +"kaynaklardan oluşturulmaktadır." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"Aşağıda kısa açıklamalarıyla birlikte mevcut ses kartı sürücüleri " +"listelenmektedir." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "öntanımlı" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Kullanılacak ses sistemi:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "ALSA ve OSS, ses donanımına ilişkin sürücü seçenekleridir." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "" + +#~ msgid "" +#~ "If either ALSA or OSS is selected then in cases where both systems offer " +#~ "a driver, only the driver from the selected sound system will be " +#~ "automatically loaded by hotplug or discover. If \"default\" is selected " +#~ "then the choice of which drivers to load automatically will be left up to " +#~ "hotplug or discover and may depend upon the kernel version. Removing the " +#~ "linux-sound-base package effectively puts the system into \"default\" " +#~ "mode." +#~ msgstr "" +#~ "ALSA veya OSS'den birini seçmiş ve her iki sistem de bir sürücü " +#~ "sağlıyorsa, hotplug veya discover otomatik olarak sadece seçilen ses " +#~ "sisteminin sağladığı sürücüyü kuracaktır. Eğer \"öntanımlı\" seçeneği " +#~ "seçilmiş ise otomatik olarak kurulacak sürücünün seçimi hotplug veya " +#~ "discover tarafından yapılacaktır. Bu seçim kullanılan çekirdek sürümüne " +#~ "bağlı olarak değişiklik gösterebilir. \"linux-sound-base\" paketinin " +#~ "kaldırılması halinde sistem \"öntanımlı\" kip seçilmiş gibi davranır." + +#~ msgid "" +#~ "The ALSA sound system is recommended. Select OSS only if you are using a " +#~ "2.4 kernel and you do not want to install an alsa-modules package, or if " +#~ "the OSS driver works with your hardware and the ALSA driver does not." +#~ msgstr "" +#~ "Önerilen ses sistemi ALSA'dır. OSS sistemini sadece 2.4 serisi bir " +#~ "çekirdek kullanıyor ve alsa-modules paketini kurmak istemiyorsanız, veya " +#~ "ALSA sürücüsü donanımınızla çalışmazken OSS sürücüsü çalışıyor ise seçin." --- alsa-driver-1.0.16.orig/debian/po/de.po +++ alsa-driver-1.0.16/debian/po/de.po @@ -0,0 +1,166 @@ +# translation of de.po to German +# German translation of alsa-driver templates +# Jens Nachtigall , 2005. +# Helge Kreutzmann , 2006, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver 1.0.13-2\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-05-25 18:20+0200\n" +"Last-Translator: Helge Kreutzmann \n" +"Language-Team: German \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "ALSA-Treiber mit ISA PnP-Untersttzung erstellen?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Falls Sie diese Option auswhlen, werden die ALSA-Treiber mit Untersttzung " +"fr den Treiber isa-pnp gebaut." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "ALSA-Treiber mit Code zum Fehlersuchen bauen?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Falls Sie diese Option auswhlen, werden die gebauten ALSA-Treiber Code zur " +"Hilfe bei der Fehlersuche enthalten." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "alle" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "Whlen Sie die zu bauenden Treiber:" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Bitte whlen Sie die ALSA-Soundkarten-Treiber, die im Paket Alsa-modules-" +"Paketen enthalten sein sollen. Alsa-modules-Pakete werden aus diesen Quellen " +"gebaut werden." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"Die folgende Liste gibt die verfgbaren Soundkarten zusammen mit einer " +"kurzen Beschreibung an." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "Standard" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Zu verwendendes Sound-System:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "ALSA und OSS sind zwei verschiedene Systeme fr Soundkarten-Treiber." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" +"Die Auswahl von ALSA oder OSS erzwingt die Verwendung dieses Treibers selbst " +"falls beide Treiber existieren." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"Bei der Auswahl der Standard-Option verbleibt die Entscheidung bei dem " +"System zur Hardware-Erkennung und kann von der Kernelversion abhngen. Wird " +"das Paket linux-sound-base entfernt, kommt das System praktisch in den " +"Standard-Modus." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "Die Wahl des ALSA-Soundsystems wird nachdrcklich empfohlen." + +#~ msgid "" +#~ "If either ALSA or OSS is selected then in cases where both systems offer " +#~ "a driver, only the driver from the selected sound system will be " +#~ "automatically loaded by hotplug or discover. If \"default\" is selected " +#~ "then the choice of which drivers to load automatically will be left up to " +#~ "hotplug or discover and may depend upon the kernel version. Removing the " +#~ "linux-sound-base package effectively puts the system into \"default\" " +#~ "mode." +#~ msgstr "" +#~ "Wenn Sie ALSA oder OSS whlen, dann wird in den Fllen, in denen beide " +#~ "Systeme einen Treiber zur Verfgung stellen, nur der Treiber des " +#~ "ausgewhlten Systems durch hotplug bzw. discover automatisch geladen " +#~ "werden. Mit Standard berlassen Sie hotplug oder discover die Wahl " +#~ "des zu ladenden Treibers, was dann auch von der Version Ihres Kernels " +#~ "abhngen kann. Das Entfernen des Paketes linux-sound-base hat zur " +#~ "Folge, dass sich Ihr System so verhlt, als htten Sie Standard " +#~ "ausgewhlt." + +#~ msgid "" +#~ "The ALSA sound system is recommended. Select OSS only if you are using a " +#~ "2.4 kernel and you do not want to install an alsa-modules package, or if " +#~ "the OSS driver works with your hardware and the ALSA driver does not." +#~ msgstr "" +#~ "Empfohlen wird das Soundsystem ALSA. Whlen Sie OSS nur dann, wenn Sie " +#~ "einen 2.4er-Kernel verwenden und nicht das alsa-modules-Paket " +#~ "installieren wollen, oder wenn Ihre Soundkarte nur mit OSS, aber nicht " +#~ "mit ALSA funktioniert." + +#~ msgid "all, ${alsa_cards}" +#~ msgstr "alle, ${alsa_cards}" + +#~ msgid "${alsa_cards_with_descriptions}" +#~ msgstr "${alsa_cards_with_descriptions}" + +#~ msgid "ALSA, OSS, default" +#~ msgstr "ALSA, OSS, Standard" --- alsa-driver-1.0.16.orig/debian/po/templates.pot +++ alsa-driver-1.0.16/debian/po/templates.pot @@ -0,0 +1,115 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "" --- alsa-driver-1.0.16.orig/debian/po/cs.po +++ alsa-driver-1.0.16/debian/po/cs.po @@ -0,0 +1,124 @@ +# Czech translation of alsa-driver templates. +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver 1.0.12-1\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-05-28 19:24+0200\n" +"Last-Translator: Miroslav Kure \n" +"Language-Team: Czech \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "Sestavit ALSA ovladače s podporou ISA PnP?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Pokud odpovíte kladně, ALSA ovladače budou sestaveny s podporou pro isa-pnp." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "Sestavit ALSA ovladače s podporou ladění?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Pokud odpovíte kladně, ALSA ovladače budou sestaveny s dodatečným kódem pro " +"ladění." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "všechny" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "ALSA ovladače pro sestavení:" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Vyberte prosím ovladače zvukových karet, které mají být zahrnuty v balíku " +"alsa-modules. Ten se sestavuje z těchto zdrojových kódů." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"Následuje seznam dostupných zvukových karet společně s jejich krátkými " +"popisy." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "výchozí" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Použít zvukový systém:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "ALSA a OSS jsou různé systémy ovladačů pro zvukový hardware." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" +"Výběrem ALSA nebo OSS vynutíte použití daného ovladače i v případech, kdy " +"existují ovladače pro oba systémy." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"Výběrem možnosti \"výchozí\" ponecháte toto rozhodnutí na mechanismu " +"rozpoznávání hardwaru, který se může u různých verzí jádra lišit. " +"Odstraněním balíku linux-sound-base efektivně dosáhnete stejného výsledku " +"jako při volbě \"výchozí\"." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "Vřele doporučujeme zvolit zvukový systém ALSA." --- alsa-driver-1.0.16.orig/debian/po/ko.po +++ alsa-driver-1.0.16/debian/po/ko.po @@ -0,0 +1,129 @@ +# Korean translations for alsa-driver package +# alsa-driver 패키지에 대한 한국어 번역문. +# Copyright (C) 2007 THE alsa-driver'S COPYRIGHT HOLDER +# This file is distributed under the same license as the alsa-driver package. +# Sunjae Park , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2007-05-29 21:15-0500\n" +"Last-Translator: Sunjae Park \n" +"Language-Team: Korean \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "ISA PnP를 지원하는 ALSA 드라이버를 빌드할까요?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"이 옵션을 선택하시면 isa-pnp 드라이버를 지원하는 ALSA 드라이버를 빌드하게 됩" +"니다." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "디버깅 코드를 포함하는 ALSA 드라이버를 빌드할까요?" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"이 옵션을 선택하시면 ALSA 드라이버에 디버깅에 도움이 되는 코드가 담겨서 빌드" +"됩니다." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "전부" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "ALSA drivers to build:" +msgstr "빌드할 ALSA 드라이버 목록:" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"이 소스코드로 빌드해 alsa-modules 꾸러미에 담을 ALSA 사운드카드 드라이버들을 " +"선택하십시오." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"다음 목록은 사용할 수 있는 사운드카드 드라이버와 간단한 설명이 담겨있는 목록" +"입니다." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "기본값" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "사용할 음향 시스템:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "사운드 하드웨어를 위한 시스템으로는 ALSA와 OSS가 있습니다." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" +"ALSA를 선택하시거나 OSS를 선택하시면 양쪽 드라이버 모두 사용할 수 있더라도 한" +"쪽 드라이버를 사용하게 됩니다." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" +"\"기본값\"을 선택하시면 사용할 드라이버를 하드웨어 감지 프로그램에서 선택하" +"게 되며, 커널 버전에 따라 선택되는 드라이버가 다를 수 있습니다. linux-sound-" +"base 꾸러미를 제거하시면 시스템이 실질적으로는 \"기본값\" 상태가 됩니다." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "ALSA 음향 시스템을 선택하실 것을 강력히 권장합니다." --- alsa-driver-1.0.16.orig/debian/po/ca.po +++ alsa-driver-1.0.16/debian/po/ca.po @@ -0,0 +1,175 @@ +# Catalan translation of alsa-driver templates +# +# Copyright © 2002, 2003, 2004, 2005, 2006 Software in the Public Interest, Inc. +# +# Jordi Mallach , 2002, 2003, 2004, 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver 1.0.13-1\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2006-10-03 09:17+0200\n" +"Last-Translator: Jordi Mallach \n" +"Language-Team: Catalan \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "Voleu compilar els controladors ALSA amb suport per a ISA PnP?" + +# | msgid "" +# | "If you agree then the ALSA drivers will be built with support for the isa-" +# | "pnp driver." +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +#, fuzzy +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Si accepteu, els controladors ALSA es compilaran amb suport per al " +"controlador isa-pnp." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "Voleu compilar el controlador ALSA amb codi de depuració?" + +# | msgid "" +# | "If you agree then the ALSA drivers will be built with code to help with " +# | "debugging." +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +#, fuzzy +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Si accepteu, els controladors ALSA es compilaran amb codi per a ajudar amb " +"la depuració." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "tots" + +# | msgid "ALSAdrivers to build:" +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +#, fuzzy +msgid "ALSA drivers to build:" +msgstr "Controladors ALSA a compilar:" + +# | msgid "" +# | "Select the ALSA sound card drivers that should be included in alsa-" +# | "modules packages that are built from the sources included in the alsa-" +# | "source package." +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +#, fuzzy +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Seleccioneu els controladors de targetes de so ALSA que s'haurien d'incloure " +"al paquet alsa-modules compilat des dels fonts inclosos al paquet alsa-" +"source." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"La següent és una llista dels controladors de targetes de so disponibles amb " +"una descripció curta." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "per defecte" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Sistema de so a utilitzar:" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "" +"ALSA i OSS són sistemes alternatius de controladors de maquinari de so." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "" + +#~ msgid "" +#~ "If either ALSA or OSS is selected then in cases where both systems offer " +#~ "a driver, only the driver from the selected sound system will be " +#~ "automatically loaded by hotplug or discover. If \"default\" is selected " +#~ "then the choice of which drivers to load automatically will be left up to " +#~ "hotplug or discover and may depend upon the kernel version. Removing the " +#~ "linux-sound-base package effectively puts the system into \"default\" " +#~ "mode." +#~ msgstr "" +#~ "Si seleccioneu ALSA o OSS, en el cas que els dos sistemes ofereixen un " +#~ "controlador, hotplug o discover només carregaran automàticament el " +#~ "controlador del sistema de so seleccionat. Si seleccioneu «per defecte», " +#~ "la selecció dels controladors que es carregaran automàticament la farà " +#~ "hotplug o discover, i pot dependre de la versió del nucli. Eliminar el " +#~ "paquet linux-sound-base té el mateix efecte que posar el sistema en mode " +#~ "«per defecte»." + +#~ msgid "" +#~ "The ALSA sound system is recommended. Select OSS only if you are using a " +#~ "2.4 kernel and you do not want to install an alsa-modules package, or if " +#~ "the OSS driver works with your hardware and the ALSA driver does not." +#~ msgstr "" +#~ "Es recomana el sistema de so ALSA. Seleccioneu OSS només si utilitzeu un " +#~ "nucli 2.4 i no voleu instal·lar un paquet alsa-modules, o si el " +#~ "controlador OSS funciona amb el vostre maquinari i el controlador ALSA no." + +#~ msgid "all, ${alsa_cards}" +#~ msgstr "totes, ${alsa_cards}" + +#~ msgid "${alsa_cards_with_descriptions}" +#~ msgstr "${alsa_cards_with_descriptions}" + +#~ msgid "ALSA, OSS, default" +#~ msgstr "ALSA, OSS, per defecte" --- alsa-driver-1.0.16.orig/debian/po/pt_BR.po +++ alsa-driver-1.0.16/debian/po/pt_BR.po @@ -0,0 +1,176 @@ +# Brazilian Portuguese translation of alsa-driver templates +# +# Copyright (C) 2003 Software in the Public Interest, Inc. +# André Luís Lopes , 2004. +# Eduardo Brasilino Barbosa , 2005 +# Felipe Augusto van de Wiel (faw) , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver 1.0.11-2\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2006-09-15 00:13-0300\n" +"Last-Translator: Felipe Augusto van de Wiel (faw) \n" +"Language-Team: l10n portuguese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"pt_BR utf-8\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "Compilar drivers ALSA com suporte a ISA PnP ?" + +# | msgid "" +# | "If you agree then the ALSA drivers will be built with support for the isa-" +# | "pnp driver." +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +#, fuzzy +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Caso você concorde, os drivers ALSA serão compilados com suporte para o " +"driver isa-pnp." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "Compilar drivers ALSA com código de depuração ?" + +# | msgid "" +# | "If you agree then the ALSA drivers will be built with code to help with " +# | "debugging." +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +#, fuzzy +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Caso você concorde, os drivers ALSA serão compilados com códigos que " +"auxiliarão na depuração de problemas." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "todos" + +# | msgid "ALSAdrivers to build:" +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +#, fuzzy +msgid "ALSA drivers to build:" +msgstr "ALSAdrivers para construir:" + +# | msgid "" +# | "Select the ALSA sound card drivers that should be included in alsa-" +# | "modules packages that are built from the sources included in the alsa-" +# | "source package." +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +#, fuzzy +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Selecione os drivers ALSA para placas de som que deverão ser incluídos nos " +"pacotes alsa-modules, construídos a partir do código-fonte incluído no " +"pacote alsa-source." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"O que segue é uma lista dos drivers disponíveis para placas de som, junto " +"com uma pequena descrição." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "padrão (default)" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Sound system to use:" +msgstr "Sistema de som a ser usado" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "" +"ALSA e OSS são sistemas alternativos de drivers para o hardware de som." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "" + +#~ msgid "" +#~ "If either ALSA or OSS is selected then in cases where both systems offer " +#~ "a driver, only the driver from the selected sound system will be " +#~ "automatically loaded by hotplug or discover. If \"default\" is selected " +#~ "then the choice of which drivers to load automatically will be left up to " +#~ "hotplug or discover and may depend upon the kernel version. Removing the " +#~ "linux-sound-base package effectively puts the system into \"default\" " +#~ "mode." +#~ msgstr "" +#~ "Nos casos onde ambos os sistemas, ALSA ou OSS, oferecem um driver, apenas " +#~ "o driver do sistema de som selecionado será automaticamente carregado " +#~ "pelo hotplug ou discover. Se \"default\" for selecionado então a escolha " +#~ "de quais drivers carregar será deixada automaticamente para o hotplug ou " +#~ "discover, e pode depender da versão do kernel. Remover o pacote linux-" +#~ "sound-base efetivamente coloca o sistema no modo \"default\"." + +#~ msgid "" +#~ "The ALSA sound system is recommended. Select OSS only if you are using a " +#~ "2.4 kernel and you do not want to install an alsa-modules package, or if " +#~ "the OSS driver works with your hardware and the ALSA driver does not." +#~ msgstr "" +#~ "O sistema de som ALSA é recomendado. Selecione OSS apenas se você estiver " +#~ "usando um kernel 2.4 e não quiser instalar um pacote com os módulos alsa, " +#~ "ou caso o driver OSS funcione com o seu hardware, e o driver ALSA não." + +#~ msgid "all, ${alsa_cards}" +#~ msgstr "todos, ${alsa_cards}" + +#~ msgid "${alsa_cards_with_descriptions}" +#~ msgstr "${alsa_cards_with_descriptions}" + +#~ msgid "ALSA, OSS, default" +#~ msgstr "ALSA, OSS, padrão" --- alsa-driver-1.0.16.orig/debian/po/POTFILES.in +++ alsa-driver-1.0.16/debian/po/POTFILES.in @@ -0,0 +1,2 @@ +[type: gettext/rfc822deb] alsa-source.templates +[type: gettext/rfc822deb] linux-sound-base.templates --- alsa-driver-1.0.16.orig/debian/po/da.po +++ alsa-driver-1.0.16/debian/po/da.po @@ -0,0 +1,168 @@ +# Danish translation of alsa-driver templates. +# +msgid "" +msgstr "" +"Project-Id-Version: alsa-driver 1.0.7-1\n" +"Report-Msgid-Bugs-To: pkg-alsa-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2007-05-24 17:55+0200\n" +"PO-Revision-Date: 2005-09-04 16:27+0200\n" +"Last-Translator: Morten Brix Pedersen \n" +"Language-Team: Danish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +msgid "Build ALSA drivers with ISA PnP support?" +msgstr "Byg ALSA-driver med ISA PnP-understøttelse?" + +# | msgid "" +# | "If you agree then the ALSA drivers will be built with support for the isa-" +# | "pnp driver." +#. Type: boolean +#. Description +#: ../alsa-source.templates:2001 +#, fuzzy +msgid "" +"If you choose this option, the ALSA drivers will be built with support for " +"the isa-pnp driver." +msgstr "" +"Hvis du svarer ja, vil ALSA-driverne blive bygget med understøttelse for isa-" +"pnp driveren." + +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +msgid "Build ALSA drivers with debugging code?" +msgstr "Byg ALSA-drivere med fejlsøgningskode?" + +# | msgid "" +# | "If you agree then the ALSA drivers will be built with code to help with " +# | "debugging." +#. Type: boolean +#. Description +#: ../alsa-source.templates:3001 +#, fuzzy +msgid "" +"If you choose this option, the ALSA drivers will be built with code to help " +"with debugging." +msgstr "" +"Hvis du svarer ja, vil ALSA-driverne blive bygget med kode der hjælper med " +"fejlsøgning." + +#. Type: multiselect +#. Choices +#: ../alsa-source.templates:4001 +msgid "all" +msgstr "" + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +#, fuzzy +msgid "ALSA drivers to build:" +msgstr "Vælg ALSA-drivere, der skal bygges." + +# | msgid "" +# | "Select the ALSA sound card drivers that should be included in alsa-" +# | "modules packages that are built from the sources included in the alsa-" +# | "source package." +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +#, fuzzy +msgid "" +"Please select the ALSA sound card drivers that should be included in alsa-" +"modules packages built from these sources." +msgstr "" +"Vælg de ALSA lydkort drivere du vil have inkluderet i alsa-modules pakkerne " +"bygget fra kildekoden inkluderet i alsa-source pakken." + +#. Type: multiselect +#. Description +#: ../alsa-source.templates:4002 +msgid "" +"The following is a list of available sound card drivers along with short " +"descriptions." +msgstr "" +"Det følgende er en liste af tilgængelige lydkort drivere sammen med korte " +"beskrivelser." + +#. Type: select +#. Choices +#: ../linux-sound-base.templates:2001 +msgid "default" +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +#, fuzzy +msgid "Sound system to use:" +msgstr "Lydsystem der skal bruges" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "ALSA and OSS are alternative systems of drivers for sound hardware." +msgstr "ALSA og OSS er alternative systemer af drivere for lydhardware." + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Selecting ALSA or OSS will enforce the use of such a driver even in cases " +"where both drivers exist." +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "" +"Choosing the \"default\" option will mean this decision is left to the " +"hardware detection mechanism, and may depend upon the kernel version. " +"Removing the linux-sound-base package effectively puts the system into " +"\"default\" mode." +msgstr "" + +#. Type: select +#. Description +#: ../linux-sound-base.templates:2002 +msgid "Choosing the ALSA sound system is strongly recommended." +msgstr "" + +#~ msgid "" +#~ "If either ALSA or OSS is selected then in cases where both systems offer " +#~ "a driver, only the driver from the selected sound system will be " +#~ "automatically loaded by hotplug or discover. If \"default\" is selected " +#~ "then the choice of which drivers to load automatically will be left up to " +#~ "hotplug or discover and may depend upon the kernel version. Removing the " +#~ "linux-sound-base package effectively puts the system into \"default\" " +#~ "mode." +#~ msgstr "" +#~ "Hvis enten ALSA eller OSS er valgt og begge systemer har en driver " +#~ "installeret, vil det kun være driveren fra det valgte lydsystem der " +#~ "bliver indlæst af hotplug eller discover. Hvis \"standard\" er valgt, så " +#~ "vil valget være op til hotplug eller discover og kan afhænge af " +#~ "kerneversionen. Hvis linux-sound-base pakken fjernes, vil det svare til " +#~ "at valget er \"standard\"." + +#~ msgid "" +#~ "The ALSA sound system is recommended. Select OSS only if you are using a " +#~ "2.4 kernel and you do not want to install an alsa-modules package, or if " +#~ "the OSS driver works with your hardware and the ALSA driver does not." +#~ msgstr "" +#~ "ALSA lydsystemet er anbefalet. Vælg kun OSS hvis du bruger en 2.4-kerne " +#~ "eller du ikke vil installere en alsa-modules pakke, eller hvis OSS " +#~ "driveren virker med din hardware og ALSA driveren ikke virker." + +#~ msgid "all, ${alsa_cards}" +#~ msgstr "alle, ${alsa_cards}" + +#~ msgid "${alsa_cards_with_descriptions}" +#~ msgstr "${alsa_cards_with_descriptions}" + +#~ msgid "ALSA, OSS, default" +#~ msgstr "ALSA, OSS, standard" --- alsa-driver-1.0.16.orig/debian/linux-sound-base.templates +++ alsa-driver-1.0.16/debian/linux-sound-base.templates @@ -0,0 +1,27 @@ +# These templates have been reviewed by the debian-l10n-english +# team +# +# If modifications/additions/rewording are needed, please ask +# for an advice to debian-l10n-english@lists.debian.org +# +# Even minor modifications require translation updates and such +# changes should be coordinated with translators and reviewers. + +Template: linux-sound-base/sound_system +Type: select +#flag:translate:3 +__Choices: ALSA, OSS, default +Default: ALSA +_Description: Sound system to use: + ALSA and OSS are alternative systems of drivers for + sound hardware. + . + Selecting ALSA or OSS will enforce the use of such a driver + even in cases where both drivers exist. + . + Choosing the "default" option will mean this decision is left to the + hardware detection mechanism, and may depend upon the kernel version. + Removing the linux-sound-base package effectively puts the system + into "default" mode. + . + Choosing the ALSA sound system is strongly recommended. --- alsa-driver-1.0.16.orig/debian/alsa-source.conf +++ alsa-driver-1.0.16/debian/alsa-source.conf @@ -0,0 +1,35 @@ +### ALSA source configuration file ### +# (This file is in GNU makefile format) + +# List the card drivers to be built, separated by commas. For example, +# if you want to build the drivers for the Sound Blaster 16 and the +# Yamaha YMF cards then write: +# ALSA_CARDS="sb16, ymfpci" +# The special name "all" results in all card drivers being built. +# +ifndef ALSA_CARDS +ALSA_CARDS="" +endif + +# List the card driver options, separated by commas, all on one line. +# The special name "all" results in all possible options being set. +# +# This is an advanced feature. See ALSA's documentation for more info. +# +ifndef ALSA_CARD_OPTIONS +ALSA_CARD_OPTIONS="" +endif + +# Set to "y" if you want to build the modules without ISA PnP support. +# Otherwise, set to "". +# +ifndef ALSA_NOPNP +ALSA_NOPNP="" +endif + +# Set to "y" if you want to build the modules with debugging code. +# Otherwise, set to "". +# +ifndef ALSA_DEBUG +ALSA_DEBUG="" +endif --- alsa-driver-1.0.16.orig/debian/alsa-source.templates +++ alsa-driver-1.0.16/debian/alsa-source.templates @@ -0,0 +1,50 @@ +# These templates have been reviewed by the debian-l10n-english +# team +# +# If modifications/additions/rewording are needed, please ask +# for an advice to debian-l10n-english@lists.debian.org +# +# Even minor modifications require translation updates and such +# changes should be coordinated with translators and reviewers. + +Template: alsa-source/has_pnp +Type: boolean +Default: true +_Description: Build ALSA drivers with ISA PnP support? + If you choose this option, the ALSA drivers will be built with + support for the isa-pnp driver. + +Template: alsa-source/debug +Type: boolean +Default: false +_Description: Build ALSA drivers with debugging code? + If you choose this option, the ALSA drivers will be built with + code to help with debugging. + +Template: alsa-source/cards_to_be_built +Type: multiselect +Default: all +#flag:translate:1 +__Choices: all, ${alsa_cards} +#flag:translate!:4 +_Description: ALSA drivers to build: + Please select the ALSA sound card drivers that should be included + in alsa-modules packages built from these sources. + . + The following is a list of available sound card drivers + along with short descriptions. + . + ${alsa_cards_with_descriptions} + +Template: alsa-source/cards +Type: select +Choices: _CARDS_WITHOUT_DESCRIPTIONS_ +Description: for internal use + Really, it isn't. Trust me. + +Template: alsa-source/cards_with_descriptions +Type: select +Choices: _CARDS_WITH_DESCRIPTIONS_ +Description: for internal use + Really, it isn't. Trust me. + --- alsa-driver-1.0.16.orig/debian/alsa-source.dirs +++ alsa-driver-1.0.16/debian/alsa-source.dirs @@ -0,0 +1,4 @@ +etc/alsa +usr/share/alsa-source +usr/share/lintian/overrides +usr/share/bug/alsa-source --- alsa-driver-1.0.16.orig/debian/alsa-source.bug.control +++ alsa-driver-1.0.16/debian/alsa-source.bug.control @@ -0,0 +1 @@ +report-with: alsa-base libasound2 --- alsa-driver-1.0.16.orig/debian/linux-sound-base.postinst +++ alsa-driver-1.0.16/debian/linux-sound-base.postinst @@ -0,0 +1,63 @@ +#!/bin/sh + +set -e + +. /usr/share/debconf/confmodule +db_version 2.0 + +case "$1" in +configure|reconfigure) + if dpkg --compare-versions "$2" lt "1.0.10-4ubuntu2"; then + # Rename existing symlinks + if [ -L /etc/modprobe.d/linux-sound-base_noOSS ]; then + mv /etc/modprobe.d/linux-sound-base_noOSS \ + /etc/modprobe.d/blacklist-oss + fi + if [ -L /etc/modprobe.d/linux-sound-base_noALSA ]; then + mv /etc/modprobe.d/linux-sound-base_noALSA \ + /etc/modprobe.d/blacklist-alsa + fi + + # Remove other symlinks and conffiles + rm -f /etc/hotplug/blacklist.d/linux-sound-base_noOSS + rm -f /etc/hotplug/blacklist.d/linux-sound-base_noALSA + rmdir /etc/hotplug/blacklist.d 2>/dev/null || true + rmdir /etc/hotplug 2>/dev/null || true + + rm -f /etc/discover.d/linux-sound-base_noOSS + rm -f /etc/discover.d/linux-sound-base_noALSA + rmdir /etc/discover.d 2>/dev/null || true + + rm -f /etc/modutils/linux-sound-base_noOSS + rm -f /etc/modutils/linux-sound-base_noALSA + rmdir /etc/modutils 2>/dev/null || true + fi + db_get linux-sound-base/sound_system || : + case "$RET" in + OSS) + rm -f /etc/modprobe.d/blacklist-oss + rm -f /etc/modprobe.d/linux-sound-base_noOSS + ln -sf /lib/linux-sound-base/noALSA.modprobe.conf \ + /etc/modprobe.d/blacklist-alsa + ;; + ALSA) + rm -f /etc/modprobe.d/blacklist-alsa + rm -f /etc/modprobe.d/linux-sound-base_noALSA + ln -sf /lib/linux-sound-base/noOSS.modprobe.conf \ + /etc/modprobe.d/blacklist-oss + ;; + esac + ;; +abort-upgrade|abort-remove|abort-deconfigure) + # We don't have to do anything because we didn't do anything in prerm + exit 0 + ;; +*) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +db_stop || : --- alsa-driver-1.0.16.orig/debian/copyright +++ alsa-driver-1.0.16/debian/copyright @@ -0,0 +1,46 @@ +This package was debianized by Wichert Akkerman on 7 Jun 1998. +Masato Taruishi took over on 17 Oct 1999. +Since September 2002 it has been maintained by the participants in +the pkg-alsa project at alioth.debian.org. + +Bugs in the source code (as opposed to bugs in the packaging) are best +reported to the upstream bug tracking system: + + https://bugtrack.alsa-project.org/alsa-bug + +The source code was downloaded from the ALSA homepage: + + http://alsa.sourceforge.net + +alsa-driver +----------- +Copyright, Jarsolav Kysela and others. + + +Some files: + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License, version 2, as + published by the Free Software Foundation. + +Other files: + + 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. + +All files: + + 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., 51 Franklin St, Fifth Floor, Boston, + MA 02110-1301, USA. + +On Debian systems, the complete text of the GNU GPL can be found in the +/usr/share/common-licenses/GPL file. --- alsa-driver-1.0.16.orig/debian/linux-sound-base.README.Debian +++ alsa-driver-1.0.16/debian/linux-sound-base.README.Debian @@ -0,0 +1,7 @@ +The sound system can be selected by running: + + dpkg-reconfigure linux-sound-base + +When ALSA is selected, all OSS modules are blacklisted for udev. +When OSS is selected, all ALSA modules are blacklisted for udev. + --- alsa-driver-1.0.16.orig/debian/alsa-base.bug.control +++ alsa-driver-1.0.16/debian/alsa-base.bug.control @@ -0,0 +1 @@ +report-with: libasound2 --- alsa-driver-1.0.16.orig/debian/alsa-source.rules +++ alsa-driver-1.0.16/debian/alsa-source.rules @@ -0,0 +1,204 @@ +#!/usr/bin/make -f + +# Written by Steve Kowalik for the New Alsa-Source. +# Loosely based on the rules file from pcmcia-cs and the old alsa-source. + +KSRC ?= /usr/src/linux +KDREV ?= unknown +KVERS ?= unknown + +ifeq ($(KDEP),) + KDEPC = +else + KDEPC = $(KDEP), +endif + +# See if we can work out the compiler used +ifeq ($(origin CC),default) + ifneq "$(wildcard $(KSRC)/include/linux/compile.h)" "" + CC = gcc-$(shell grep LINUX_COMPILER $(KSRC)/include/linux/compile.h | sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/') + else + CC = gcc + endif +endif + +# Special case gcc 2.7.2 +ifeq ($(CC),gcc-2.7) + CC = gcc272 +endif + +# If they didn't set $(KVERS), see if we can do it for them. +ifeq ($(KVERS),unknown) + ifneq "$(wildcard $(KSRC)/include/linux/version.h)" "" + KVERS = $(shell head -1 $(KSRC)/include/linux/version.h | sed 's/.*"\(.*\)"$$/\1/') + endif +endif + +# Clear root command if already root +ifeq ($(shell id -u),0) + ROOT_CMD= +endif + +# Use updates/ subdirectory so that the modules in alsa-modules-$KVERS +# are given priority (by depmod) over modules under kernel/. +CONFIGURE_OPT = --prefix=/usr \ + --with-kernel=$(KSRC) \ + --with-build=$(KSRC) \ + --with-moddir=/lib/modules/$(KVERS)/updates/alsa \ + --with-sequencer=yes + +ifneq (,$(findstring 2.2.,$(KVERS))) + MODULELOADERDEP = modutils (>= 2.3.5) + PCMCIAMODULESSUG = kernel-pcmcia-modules-$(KVERS) | pcmcia-modules-$(KVERS) + # See SF bug #550435 + CONFIGURE_OPT += --disable-verbose-printk +else + ifneq (,$(findstring 2.4.,$(KVERS))) + MODULELOADERDEP = modutils (>= 2.3.5) + PCMCIAMODULESSUG = kernel-pcmcia-modules-$(KVERS) | pcmcia-modules-$(KVERS) + else + MODULELOADERDEP = module-init-tools (>= 3.1) + PCMCIAMODULESSUG = + endif +endif + + +# Read in config file, generated by debconf. +ifeq (/etc/alsa/alsa-source.conf,$(wildcard /etc/alsa/alsa-source.conf)) + include /etc/alsa/alsa-source.conf +endif +ifeq ($(HOME)/.alsa-source.conf,$(wildcard $(HOME)/.alsa-source.conf)) + include $(HOME)/.alsa-source.conf +endif +ifeq ($(CURDIR)/debian/alsa-source.conf,$(wildcard $(CURDIR)/debian/alsa-source.conf)) + include $(CURDIR)/debian/alsa-source.conf +endif + +ifeq ($(ALSA_NOPNP),"y") + CONFIGURE_OPT += --with-isapnp=no +else + CONFIGURE_OPT += --with-isapnp=yes +endif + +ifeq ($(ALSA_DEBUG),"y") + CONFIGURE_OPT += --with-debug=detect +endif + +ifneq ($(ALSA_CARDS),"") + CONFIGURE_OPT += --with-cards=$(ALSA_CARDS) +endif + +ifneq ($(ALSA_CARD_OPTIONS),"") + CONFIGURE_OPT += --with-card-options=$(ALSA_CARD_OPTIONS) +endif + +ifneq ($(CONCURRENCY_LEVEL),) + MAKE_OPT = -j $(CONCURRENCY_LEVEL) +endif + +VERSION = $(shell dpkg-parsechangelog | grep ^Vers | cut -d\ -f2) +ifneq ($(KDREV),unknown) + ifeq ($(findstring :,$(KDREV)),:) + VERSION := $(subst :,:$(VERSION)+,$(KDREV)) + else + VERSION := $(VERSION)+$(KDREV) + endif +endif + +echo-vars: + @echo "I've been configured using:" + @echo " - Kernel source of $(KSRC)" + @echo " - Kernel version of $(KVERS)" + @echo " - Kernel revision of $(KDREV)" + @echo " - C compiler of $(CC)" + @echo " - Make options of $(MAKE_OPT)" + @echo " - Version of $(VERSION)" + +configure: configure-stamp +configure-stamp: + @if [ ! -x /usr/bin/$(CC) ]; then echo "You don't have the compiler that your kernel was built with installed"; exit 1; fi + CC="$(CC)" ./configure $(CONFIGURE_OPT) + touch configure-stamp + +build: build-stamp +build-stamp: configure-stamp + $(MAKE) $(MAKE_OPT) compile + +install: install-stamp +install-stamp: build-stamp + $(MAKE) $(MAKE_OPT) DESTDIR=$(CURDIR)/debian/$(shell dh_listpackages) install-modules + +control-munge: + for i in control postinst postrm ; do \ + cp -p debian/$$i debian/$$i.orig; \ + cat debian/$$i | sed \ + -e 's/_KVERS_/$(KVERS)/g' \ + -e 's/_KDEP_/$(KDEPC)/g' \ + -e 's/_MODULELOADERDEP_/$(MODULELOADERDEP)/g' \ + -e 's/_PCMCIAMODULESSUG_/$(PCMCIAMODULESSUG)/g' \ + -e '/^Suggests:[[:space:]]*$$/d' \ + > debian/$$i.tmp; \ + mv -f debian/$$i.tmp debian/$$i; \ + done + touch control-munge + +clean-control-munge: + for i in control postinst postrm ; do \ + if [ -f debian/$$i.orig ]; then \ + mv -f debian/$$i.orig debian/$$i ; \ + fi ; \ + done + -$(RM) control-munge + +clean: clean-control-munge + -make mrproper + $(RM) configure-stamp + $(RM) build-stamp + +binary_modules: binary-modules +binary-modules: configure-stamp build-stamp control-munge install-stamp + dh_testdir + dh_testroot + dh_installdirs usr/share/bug/alsa-modules-$(KVERS) + dh_installchangelogs debian/changelog.ALSA + # alsa-modules-i386 adds changelog.alsa-driver.Debian + if [ -f debian/changelog.alsa-driver.Debian ] ; then \ + dh_installdocs debian/changelog.alsa-driver.Debian ; \ + else \ + dh_installdocs ; \ + fi + dh_install debian/bug/control usr/share/bug/alsa-modules-$(KVERS) + dh_installmodules + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol -- -v"$(VERSION)" + dh_md5sums +ifeq "$(origin KPKG_DEST_DIR)" "undefined" +ifeq "$(origin KMAINT)" "undefined" + dh_builddeb --destdir=$(CURDIR)/.. +else + dh_builddeb --destdir=$(KSRC)/.. +endif +else + dh_builddeb --destdir=$(KPKG_DEST_DIR) +endif + +binary: + @echo "Binary target not supported. Use binary-modules or make-kpkg." + exit 1 + +# Targets that kernel-package uses. +kdist_configure: configure-stamp +kdist_config: configure-stamp +kdist_image: + $(ROOT_CMD) $(MAKE) -f debian/rules binary-modules + $(ROOT_CMD) $(MAKE) -f debian/rules clean +kdist_clean: clean +kdist: + $(ROOT_CMD) $(MAKE) -f debian/rules binary-modules + +.PHONY: configure build clean binary-modules binary_modules binary kdist_configure kdist_config kdist_image kdist_clean kdist + --- alsa-driver-1.0.16.orig/debian/alsa-base.postinst +++ alsa-driver-1.0.16/debian/alsa-base.postinst @@ -0,0 +1,158 @@ +#!/bin/sh + +set -e + +MYNAME="$0" + +# $* message +warn() { echo "${MYNAME}: Warning: $*" >&2 ; } + +# $* message +report_error() { echo "${MYNAME}: Error: $*" >&2 ; } + +# Move a conffile without triggering a dpkg question +mv_conffile() { + OLDCONFFILE="$1" + NEWCONFFILE="$2" + + if [ -e "$OLDCONFFILE" ]; then + echo "Preserving user changes to $NEWCONFFILE" + mv -f "$NEWCONFFILE" "$NEWCONFFILE".dpkg-new + mv -f "$OLDCONFFILE" "$NEWCONFFILE" + elif [ -e "$OLDCONFFILE".dpkg-bak ]; then + rm -f "$OLDCONFFILE".dpkg-bak + fi +} + +devfs_is_active() +{ + test -e /dev/.devfsd +} + +kernel_is_2_6_or_above() +{ + case "$(uname -r)" in + 1.*|2.[012345]*) return 1 ;; + *) return 0 ;; + esac +} + +udev_is_active() +{ + test -e /dev/.udev.tdb || test -d /dev/.udevdb || return 1 + kernel_is_2_6_or_above || return 1 + return 0 +} + +case "$1" in +configure|reconfigure) + if dpkg --compare-versions "$2" lt "1.0.10-4ubuntu2"; then + mv_conffile /etc/modprobe.d/alsa-base-blacklist \ + /etc/modprobe.d/blacklist-modem + + rmdir /etc/alsa/modprobe-post-install.d 2>/dev/null || true + + rm -f /etc/discover.d/alsa-base + rmdir /etc/discover.d 2>/dev/null || true + + rm -f /etc/hotplug/blacklist.d/alsa-base + rmdir /etc/hotplug/blacklist.d 2>/dev/null || true + + rm -f /etc/modutils/alsa-base + rmdir /etc/modutils 2>/dev/null || true + + rm -f /etc/init.d/alsa + fi + + # Remove old obsolete configuration files + # (Keep this until etch) + if [ -d /etc/sound ]; then + rmdir /etc/sound 2> /dev/null || : + fi + rm -f \ + /etc/apm/event.d/alsa \ + /etc/apm/event.d/alsa.dpkg-old \ + /etc/default/alsa.debconf-backup \ + /etc/devfs/conf.d/alsa \ + /etc/discover.conf.d/10alsa \ + /etc/discover.conf.d/10alsa.dpkg-old \ + /etc/discover.conf.d/10linux-sound-base \ + /etc/discover.d/alsa \ + /etc/discover.d/alsa-base \ + /etc/discover.d/linux-sound-base_noOSS \ + /etc/discover.d/linux-sound-base_noALSA \ + /etc/alsa/alsa-base.conf \ + /etc/alsa/modutils/0.5 \ + /etc/alsa/modutils/0.9 \ + /etc/alsa/modutils/1.0 \ + /etc/alsa/modutils/0.5.debconf-backup \ + /etc/alsa/modutils/0.9.debconf-backup \ + /etc/alsa/modutils/1.0.debconf-backup \ + /etc/alsa/modprobe-post-install.d/alsa-base \ + /etc/alsa/modprobe-post-install.d/alsa-base.dpkg-old \ + /etc/modutils/alsa \ + /etc/modutils/alsa-path \ + /etc/modprobe.d/sound \ + /etc/modutils/alsa-base \ + /etc/modutils/alsa-base-blacklist \ + /etc/modutils/linux-sound-base_noOSS \ + /etc/modutils/linux-sound-base_noALSA \ + /etc/modprobe.d/alsa + # Delete hotplug stuff since it isn't used anymore. + rm -f \ + /etc/hotplug/blacklist.d/alsa-base.dpkg-old \ + /etc/hotplug/blacklist.d/alsa-base \ + /etc/hotplug/blacklist.d/linux-sound-base_noOSS \ + /etc/hotplug/blacklist.d/linux-sound-base_noALSA + # Decide which conf file to read + conf_file="" + if [ -f /etc/default/alsa ] ; then + conf_file=/etc/default/alsa + elif [ -f /usr/share/alsa-base/alsa.default ] ; then + conf_file=/usr/share/alsa-base/alsa.default + else + report_error "No configuration file found" + exit 1 + fi + # Read variables from conf file + force_unload_modules_before_suspend="$( + . "$conf_file" >/dev/null 2>&1 + echo "$force_unload_modules_before_suspend" + )" + # Write new conf file + cat /usr/share/alsa-base/alsa.default | sed \ + -e "s/force_unload_modules_before_suspend=.*/force_unload_modules_before_suspend=\"${force_unload_modules_before_suspend}\"/" \ + > /etc/default/alsa + # Set up apm symlinks + [ -f /etc/apm/scripts.d/alsa ] || warn "/etc/apm/scripts.d/alsa is absent" + # $1: file to check + already_linked_to_alsa() + { + [ "$1" ] || return 1 + [ -L "$1" ] || return 1 + [ "$(basename "$(readlink "$1")")" = alsa ] || return 1 + return 0 + } + ALREADY_LINKED=no + for F in /etc/apm/suspend.d/??alsa ; do + already_linked_to_alsa "$F" && ALREADY_LINKED=yes && break + done + [ "$ALREADY_LINKED" = yes ] || ln -sf ../scripts.d/alsa /etc/apm/suspend.d/80alsa + ALREADY_LINKED=no + for F in /etc/apm/resume.d/??alsa ; do + already_linked_to_alsa "$F" && ALREADY_LINKED=yes && break + done + [ "$ALREADY_LINKED" = yes ] || ln -sf ../scripts.d/alsa /etc/apm/resume.d/20alsa + ;; +abort-upgrade|abort-remove|abort-deconfigure) + # We don't have to do anything because we didn't do anything in prerm + exit 0 + ;; +*) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + --- alsa-driver-1.0.16.orig/debian/watch +++ alsa-driver-1.0.16/debian/watch @@ -0,0 +1,2 @@ +version=2 +ftp://ftp.alsa-project.org/pub/driver/alsa-driver-(.*).tar.bz2 debian uupdate --- alsa-driver-1.0.16.orig/debian/ALSA-card-list +++ alsa-driver-1.0.16/debian/ALSA-card-list @@ -0,0 +1,203 @@ +# ALSA-card-list +# +# This list of ALSA card driver modules is used to generate the +# alsa-source/cards template and module loader configuration files. +# +# DO NOT INCLUDE ANY COMMAS OR PERCENT SIGNS IN THE DESCRIPTION !!! +# Please keep the descriptions as short as possible, but do give +# all model names and numbers. +# +# A line beginning with '#' is a comment +# +# Line format: +# ALSA-card-driver-module-name[[:space:]](description of card driver)\n +# Tags with special meaning for debian/rules: +# UNREAL, NOPOSTINSTALL, MODEM, TV, EXPERIMENTAL +# Enclose a tag in square brackets in order to omit from published description +# +seq-dummy (dummy MIDI-through sequencer client [UNREAL]) +dummy (dummy sound card [UNREAL]) +virmidi (virtual MIDI card [UNREAL]) +loopback (loopback card [UNREAL]) +ad1816a (ISA: Analog Devices SoundPort 1815|1816A chips) +ad1848 (ISA: Analog Devices 1847|1848 / Cirrus Logic CS 4248 chips) +adlib (ISA: FM card driver) +ad1889 (PCI: Analog Devices 1889 (e.g. on HP PA-RISC computers)) +aica (Dreamcast AICA sound (pcm) driver) +ali5451 (PCI: AC97 codec on motherboards with ALi M5451 Audio Controller) +als100 (ISA: Avance Logic ALS 100|110|120|200 chips) +als300 (PCI: Avance Logic ALS 300|300+ chips) +als4000 (PCI: Avance Logic ALS 4000 chips) +aoa (PPC: Various Apple Onboard Audio components) +aoa-fabric-layout (PPC: layout-id fabric for the Apple Onboard Audio driver) +aoa-onyx (PPC: Onyx (pcm3052) codec chip found in the latest Apple machines) +aoa-tas (PPC: Tas chips found in a lot of Apple Machines, especially iBooks and PowerBooks without digital.) +aoa-toonie (PPC: Toonie codec for the MAC Mini) +aoa-soundbus (PPC: Generic driver for the soundbus support on Apple machines) +aoa-soundbus-i2s (PPC: Apple I2S busses) +armaaci (ARM: PrimeCell AACI PL041 codec) +asihpi (PCI: AudioScience ASI 43xx|5xxx|6xxx|87xx cards) +at73c213 (PCI: AT73C213 16-bit stereo DAC on Atmel ATSTK1000) +atiixp (PCI: AC97 codec on motherboards with ATI IXP 150|200|250 chipsets) +atiixp-modem (PCI: MC97 MODEM on motherboards with ATI IXP chipsets) +at91-soc (PCI: SoC Audio for the Atmel AT91 System-on-Chip) +at91-soc-eti-b1-wm8731 (PCI: SoC I2S Audio support for WM8731-based Endrelia ETI-B1 boards) +1-soc-eti-slave (PCI: Run codec in slave Mode on Endrelia boards) +au1x00 (MIPS: AMD Au1000 MIPS AC'97 sound port) +au8810 (PCI: Aureal Advantage cards) +au8820 (PCI: Aureal Vortex cards) +au8830 (PCI: Aureal Vortex 2 cards) +azt2320 (ISA: Aztech Systems AZT 2320 chip) +azt3328 (PCI: Aztech Systems AZF 3328 chip -- EXPERIMENTAL) +bt87x (PCI: TV cards with Brooktree Bt87x chips) +ca0106 (PCI: cards with CA 0106 chips (e.g. Sound Blaster Audigy LS and Live 24bit)) +cmi8330 (ISA: C-Media CMI 8330 chip) +cmi8788 (PCI: C-Media CMI8788 PCI soundcards) +cmipci (PCI: C-Media CMI 8338|8738 chips) +cs4231 (ISA: Crystal/Cirrus Logic CS 4231 chip) +cs4232 (ISA: Crystal/Cirrus Logic CS 4232|4232A chip) +cs4236 (ISA: Crystal/Cirrus Logic CS 4235|4236|4236B|4237B|4238B|4239 chips) +cs4281 (PCI: Cirrus Logic (Sound Fusion) CS 4281 chips) +cs46xx (PCI: Cirrus Logic (Sound Fusion) CS 4280|461x|462x|463x chips) +cs5530 +cs5535audio (PCI: Cirrus Logic CS 5535 companion device audio) +cx88_alsa (PCI: TV cards capture driver like in Hauppauge cards) +darla20 (PCI: Echoaudio Darla20) +darla24 (PCI: Echoaudio Darla24) +dt019x (ISA: Diamond Technologies DT 019X/7H or Avance Logic ALS 007 chips) +echo3g (PCI: Echoaudio 3G) +# echo3g was formerly gina3g. There was also a layla3g +emu10k1 (PCI: Creative EMU10K1|EMU10K2 chips (SB PCI512|Live!|Audigy or Emu APS) [NOPOSTINSTALL]) +emu10k1x (PCI: Creative EMU10K1X (or STAC 9708T?) chips (e.g. SB Live! Dell OEM Version)) +ens1370 (PCI: (Creative) Ensoniq AudioPCI ES 1370 chip (e.g. SB PCI 64|128)) +ens1371 (PCI: (Creative) Ensoniq AudioPCI ES 1371|1373 chips (e.g. SB PCI 64|128 or SB Vibra PCI)) +es1688 (ISA: ESS AudioDrive ES 688|1688 chips) +es18xx (ISA: ESS AudioDrive ES 18xx chips) +es1938 (PCI: ESS ES 1938|1946|1969 (Solo-1) chips) +es1968 (PCI: ESS ES 1968|1978 (Maestro 1|2|2E) chips) +es968 (ISA: ESS AudioDrive ES 968 chips) +fm801 (PCI: ForteMedia FM 801 chip) +fm801-tea575x (PCI: ForteMedia FM 801 + TEA 575x chips) +gina20 (PCI: Echoaudio Gina20) +gina24 (PCI: Echoaudio Gina24) +gusclassic (ISA: Gravis UltraSound Classic cards) +gusextreme (ISA: Gravis UltraSound Extreme (Synergy ViperMax) cards) +gusmax (ISA: Gravis UltraSound MAX cards) +harmony (PA-RISC: Harmony/Vivace sound chip) +hda-codec-atihdmi +hda-codec-analog +hda-codec-conexant +hda-codec-cmedia +hda-codec-realtek +hda-codec-si3054 +hda-codec-sigmatel +hda-codec-via +hda-generic +hda-hwdep +hda-intel (PCI: Intel HD Audio ICH 6|6M|7|8|9|10 cards) +# hda-intel was formerly called 'azx' +hda-power-save +hdsp (PCI: RME Hammerfall DSP) +hdspm (PCI: RME Hammerfall DSP MADI board) +hifier +ice1712 (PCI: ICEnsemble ICE 1712 (Envy24) chip (e.g. various M-Audio (formerly MidiMan)|TerraTec|Hoontech|Digigram cards)) +ice1724 (PCI: ICEnsemble ICE|VT 1720|1724 (Envy24 HT|PT) chip (e.g. various M-Audio (formerly MidiMan)|AMP|TerraTec cards)) +indigo (PCI: Echoaudio Indigo) +indigodj (PCI: Echoaudio Indigo DJ) +indigoio (PCI: Echoaudio Indigo IO) +intel8x0 (PCI: AC97 codec on motherboards with Intel ICH|i8x0 or SiS 735 or nVidia nForce or AMD 768|8111 chipsets or ALi M5455) +intel8x0m (PCI: MC97 MODEM on motherboards with Intel|SiS|nVidia|AMD chipsets -- EXPERIMENTAL) +interwave (ISA: AMD InterWave chip (e.g. various Gravis|Dynasonic|STB cards)) +interwave-stb (ISA: AMD InterWave + TEA 6330T chips (e.g. Gravis UltraSound 32-Pro)) +korg1212 (PCI: Korg 1212 multichannel audio card) +layla20 (PCI: Echoaudio Layla20) +layla24 (PCI: Echoaudio Layla24) +maestro3 (PCI: ESS Allegro|Maestro3 chips) +mia (PCI: Echoaudio Mia) +miro (ISA: Miro miroSOUND PCM1pro|PCM12|PCM20 Radio) +mixart (PCI: Digigram miXart8 cards) +ml403-ac97cr +mona (PCI: Echoaudio Mona) +mpu401 (ISA: chips with MIDI interface compatible with Roland MPU 401 in UART mode) +msnd-pinnacle (ISA: Turtle Beach MultiSound Pinnacle cards) +mtpav (ISA: MOTU MidiTimePiece AV multiport MIDI interface) +mts64 (PCI: ESI Miditerminal 4140 driver) +nm256 (PCI: NeoMagic NM 256AV|256ZX chips) +opl3sa2 (ISA: Yamaha OPL3 SA2|SA3 chips) +opti92x-ad1848 (ISA: cards with OPTi 82C92x (or OTI-601?) with AD 1848 chips) +opti92x-cs4231 (ISA: cards with OPTi 82C92x with CS 4231 chips) +opti93x (ISA: cards with OPTi 82C93x chips) +oxygen +pc98-cs4232 (ISA: NEC PC '98 with Cirrus Logic CS 4232 chip) +pcsp (ISA: PC speaker) +pcxhr (PCI: Digigram PCXHR) +pdaudiocf (PCMCIA: Sound Core PDAudioCF cards) +pdplus (PCI: Sek'D/Marian Prodif Plus card) +portman2x4 (Midiman Portman2x4 parallel port MIDI interface) +powermac (PPC: PowerMac (AWACS|DACA|Burgundy|Tumbler|Keywest)) +ps3 (PPC: Sony PS3's soundcard) +# REMOVED: pxa2xx-ac97 (ARM: Intel PXA2xx AC97) +pxa2xx-ac97 (ARM: Intel PXA2xx AC97) +pxa2xx-i2sound (ARM: Intel PXA2xx I2S) +pxa2xx-soc (SoC Audio for the Intel PXA2xx chip) +pxa2xx-soc-corgi (SoC Audio support for Sharp Zaurus SL-C7x0) +pxa2xx-soc-e800 +pxa2xx-soc-spitz (SoC Audio support for Sharp Zaurus SL-Cxx00) +pxa2xx-soc-poodle (SoC Audio support for Poodle) +pxa2xx-soc-tosa (SoC AC97 Audio support for Tosa) +riptide (PCI: Conexant Riptide chip (e.g. on HP Pavilion computers)) +rme32 (PCI: RME Digi 32|32/8|32Pro cards (e.g. Sek'd Prodif 32|96|Gold)) +rme96 (PCI: RME Digi 96|96/8 or Digi 96/8 PRO|PAD|PST cards) +rme9652 (PCI: RME Digi 9652 cards (e.g. Hammerfall and Hammerfall-Light)) +s3c2410 (ARM: S3C24XX IIS chip) +s3c24xx-soc (ARM: SoC Audio for the Samsung S3C24XX chips) +sa11xx-uda1341 (ARM: Philips UDA1341TS chip connected to SA11xx chip (eg. Compaq iPAQ H3600)) +saa7134-alsa (PCI: TV cards with Philips SA 7130|7134 chip) +sb16 (ISA: Sound Blaster 16 cards) +sb8 (ISA: Sound Blaster 1.0|2.0|Pro cards) +sbawe (ISA: Sound Blaster AWE 32|64 cards) +sc6000 (ISA: SC-6000 soundcard, Audio Excel DSP 16 or Zoltrix AV302) +#REMOVED: serialmidi (generic serial MIDI card (e.g. Roland Soundcanvas or Midiator MS 124x)) +serial-u16550 (ISA: UART 16550 based serial MIDI port) +sgalaxy (ISA: Aztech Sound Galaxy cards) +soc (SoC Audio Layer) +soc-cs4270-hwmute +soc-cs4270-vd33-errata +soc-pcm-sh7760 (Generic AC97 sound support for SH7760) +sh7760-ac97 (Generic AC97 sound support for SH7760) +sis7019 +sonicvibes (PCI: S3 SonicVibes chip) +sscape (ISA: Ensoniq SoundScape PnP cards) +at91-soc (SoC Audio for the Atmel AT91 System-on-ChipSoC Audio for the Atmel AT91 System-on-Chip) +at91-soc-eti-b1-wm8731 (SoC I2S Audio support for Endrelia ETI-B1 board) +sun-amd7930 (SPARC: Sun AMD 7930) +sun-cs4231 (SPARC: Sun CS 4231) +sun-dbri (SPARC: Sun DBRI) +trident (PCI: Trident 4D-Wave DX|NX or SiS 7018 chips) +usb-audio (USB: USB audio and USB MIDI devices) +usb-usx2y (USB: Tascam US 122|224|428) +usb-caiaq (USB: driver for caiaq/NativeInstruments devices) +via82xx (PCI: AC97 codec on motherboards with VIA VT 8233|8233A|8233C|8235 or VT 82C686 A|B|C chipsets [NOPOSTINSTALL]) +via82xx-modem (PCI: MC97 MODEM on VIA 82xx) +virtuoso +vx222 (PCI: Digigram VX222 or VX222 V2|Mic cards) +#REMOVED: vxp440 (PCMCIA: Digigram VX-Pocket 440 card) +vxpocket (PCMCIA: Digigram VX-Pocket or VX2 card) +wavefront (ISA: Turtle Beach Maui|Tropez|Tropez+ cards based on Wavefront chip) +ymfpci (PCI: Yamaha YMF 72x|74x|75x chips) +#We don't handle options yet +#OPTION: bt87x-overclock (PCI: TV cards with Brooktree Bt 878|879 chips -- 179kHz input) +#OPTION: cs46xx-new-dsp (PCI: Cirrus Logic (Sound Fusion) chips -- support for new DSP image -- EXPERIMENTAL) +#OPTION: powermac-auto-drc +#OPTION: sb16-csp (ISA: Sound Blaster 16/AWE cards with CSP) +#OPTION: seq-rtctimer-default +#OPTION: support-old-api +#OPTION: soc-ac97-bus +#OPTION: sb16-csp-firmware-in-kernel +#OPTION: wavefront-firmware-in-kernel +#OPTION: korg1212-firmware-in-kernel +#OPTION: maestro3-firmware-in-kernel +#OPTION: ymfpci-firmware-in-kernel +#OPTION: usb-caiaq-input + +# vim:tw=200 --- alsa-driver-1.0.16.orig/debian/alsa-modules.postinst +++ alsa-driver-1.0.16/debian/alsa-modules.postinst @@ -0,0 +1,16 @@ +#!/bin/sh + +#DEBHELPER# + +if [ "$(uname -r)" = "_KVERS_" ] ; then + if [ -x /etc/init.d/alsa ] ; then + if ! /etc/init.d/alsa force-reload ; then + echo 'You should now stop all applications using sound devices ' >&2 + echo 'and run "/etc/init.d/alsa force-reload" to load the new modules.' >&2 + fi + else + echo 'You should now stop all applications using sound devices ' >&2 + echo 'and reload all ALSA sound modules.' >&2 + fi +fi + --- alsa-driver-1.0.16.orig/debian/compat +++ alsa-driver-1.0.16/debian/compat @@ -0,0 +1 @@ +5 --- alsa-driver-1.0.16.orig/debian/alsa-base.apm +++ alsa-driver-1.0.16/debian/alsa-base.apm @@ -0,0 +1,11 @@ +#!/bin/sh +# +# apmd proxy script for ALSA + +[ -x /sbin/alsactl ] || exit 0 + +case "$1,$2" in + suspend,*) /sbin/alsactl store && /sbin/alsa suspend ;; + resume,suspend) /sbin/alsa resume && /sbin/alsactl restore ;; +esac + --- alsa-driver-1.0.16.orig/debian/alsa-base.postrm +++ alsa-driver-1.0.16/debian/alsa-base.postrm @@ -0,0 +1,27 @@ +#!/bin/sh + +set -e + +#DEBHELPER# + +if [ "$1" = "purge" ]; then + if [ -L /dev/sndstat ]; then + rm -f /dev/sndstat + echo "Remaking /dev/sndstat." + # Keep this in sync with /sbin/MAKEDEV + if cd /dev && mknod --mode=0660 sndstat c 14 6 ; then + chown root:audio sndstat || : + fi + fi + # Remove configuration files + rm -f \ + /etc/default/alsa \ + /etc/default/alsa.dpkg-old + # Remove apm symlinks + rm -f \ + /etc/apm/suspend.d/??alsa \ + /etc/apm/resume.d/??alsa + # Remove run time files + rm -rf /var/run/alsa +fi + --- alsa-driver-1.0.16.orig/debian/PATCHES.Debian +++ alsa-driver-1.0.16/debian/PATCHES.Debian @@ -0,0 +1,20 @@ +Patches applied in the Debian version of : + +debian/patches/alpha_build_fixes.patch (Steve Kowalik): + Fix the ISA Pinnacle driver by using phys_to_virt rather than the + undefined (on Alpha, anyway), __ISA_IO_base. + +debian/patches/disable_gcc_version_check1.patch (Thomas Hood): + Disable GCC version check in configure.in + disable_gcc_version_check2.patch is the result of running autoconf + after this patch has been applied. + +debian/patches/disable_gcc_version_check2.patch (Thomas Hood): + +debian/patches/core_oss_framepointer.patch (Steve Kowalik): + Compile snd-pcm-oss.o with -fno-omit-frame-pointer. + +debian/patches/debian_makefile_depmod.patch (Steve Kowalik): + Removes calls to depmod at install-modules time, and call install with + a user and group of root in install-scripts. + --- alsa-driver-1.0.16.orig/debian/alsa-base.README.Debian +++ alsa-driver-1.0.16/debian/alsa-base.README.Debian @@ -0,0 +1,113 @@ + alsa-base README.Debian + ----------------------- + +contents +-------- +news +loading modules +creating device files +reloading modules after suspension +unloading modules +initscript + +news +---- +Last updated 3 February 2006 + + +loading modules +--------------- +The initscripts in some unstable releases of alsa-base between Debian 3.0 +and Debian 3.1 attempted to load ALSA driver modules on boot. The +initscript in the current alsa-base package does not do this. + +ALSA has a special built-in module autoloading system. You do not have +to make use of it, and it is useless if your /dev directory is managed by +udev, but in case you do want to use it, here is a brief explanation of +how it is supposed to work. + +When the "snd" module is loaded and the user tries to open a sound device +file with a minor number that indicates that card number N is wanted, snd +modprobes "snd-card-N". Thus, if you set up module loader configuration +file /etc/modprobe.d/sound to look like this: + + alias snd-card-0 snd-cs46xx + options snd-cs46xx index=0 + +then snd-cs46xx will be automagically loaded when it is needed to handle +the attempted open() of the sound device. The "index=0" option ensures +that when snd-cs46xx is loaded the first card that it registers is given +index 0. + +If you have an additional sound card of the same type then make the file +look like this: + + alias snd-card-0 snd-cs46xx + alias snd-card-1 snd-cs46xx + options snd-cs46xx index=0,1 + +If you have, instead, an additional sound card of a different type then +make the file look like this: + + alias snd-card-0 snd-cs46xx + options snd-cs46xx index=0 + alias snd-card-1 snd-emu10k1 + options snd-emu10k1 index=1 + +ALSA supports up to eight sound cards. + +The alsaconf program, available in the alsa-utils package (in Debian +but not in Ubuntu), performs hardware detection and can write out a +module loader configuration file that looks like the above. + +Unfortunately, alsaconf can only detect one sound card and is generally +a poorly written program. + +The module loader configuration files just described are additional to +/etc/modprobe.d/alsa-base which is shipped as conffile with the alsa-base +package. The files contain basic configuration entries which don't normally +need to be customized. The entries may include: + +* ALSA autoloader aliases +* entries that install OSS-emulation and other drivers above drivers + upon which these depend +* an entry for each normal sound card driver that will cause a command + to be executed after the driver has initialized +* an entry for each abnormal driver (i.e., a driver that drives + hardware such as a TV card or modem that is not suited to be the + primary sound card) preventing it from grabbing index 0 + +Suppose you decide that you need to load a certain driver, snd-foo, with +options: "dma1=0 ctlport=0x530". The recommended way to set this up is to +create additional files in /etc/modprobe.d/ each containing an "options" line: + + # /etc/modprobe.d/alsa_local + options snd-foo dma1=0 ctlport=0x530 + + +creating device files +--------------------- +ALSA native device files are located in /dev/snd/. (ALSA's kernel- +OSS-emulation device files are of course the same as the OSS device +files.) + +Udev takes care of creating devices files when modules are loaded. + + +reloading modules across APM suspend-and-resume +----------------------------------------------- +During suspension many peripherals are switched off; on resuming the +machine these peripherals need to be re-initialized. Many ALSA +drivers do this properly but some still do not. + +If this problem affects you and if your ALSA drivers are built as +loadable modules and your kernel supports module unloading then you +can work around the problem by unloading the driver before suspending +and loading it again after resuming. This will be done for you +automatically if you add the name of the problematic sound card driver +module to the variable force_unload_modules_before_suspend variable in +/etc/default/alsa. E.g., if your CS46XX and AZX cards don't work +properly after resuming from APM suspend, add the names of their +driver modules to the list: + + force_unload_modules_before_suspend="snd-cs46xx snd-azx" --- alsa-driver-1.0.16.orig/debian/ALSA-module-list +++ alsa-driver-1.0.16/debian/ALSA-module-list @@ -0,0 +1,171 @@ +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-instr +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-oss +snd-seq-virmidi +snd-dummy +snd-virmidi +snd-loopback +snd-ac97-codec +snd-ad1816a +snd-ad1816a-lib +snd-ad1848 +snd-ad1848-lib +snd-ainstr-fm +snd-ainstr-gf1 +snd-ainstr-iw +snd-ainstr-simple +snd-ak4117 +snd-ak4531-codec +snd-ak4xxx-adda +snd-ali5451 +snd-als100 +snd-als300 +snd-als4000 +snd_aoa +snd_aoa_codec_tas +snd_aoa_fabric_layout +snd_aoa_i2sbus +snd_aoa_soundbus +snd-armaaci # Added because there is a card by this name +snd-asihpi # Added because there is a card by this name +snd-atiixp +snd-atiixp-modem +snd-au1x00 # Added because there is a card by this name +snd-au8810 +snd-au8820 +snd-au8830 +snd-azt2320 +snd-azt3328 +snd-bt87x +snd-ca0106 +snd-cmi8330 +snd-cmipci +snd-cs4231 +snd-cs4231-lib +snd-cs4232 +snd-cs4236 +snd-cs4236-lib +snd-cs4281 +snd-cs46xx +snd-cs8427 +snd-darla20 # Added because there is a card by this name +snd-darla24 # Added because there is a card by this name +snd-dt019x +snd-echo3g # Added because there is a card by this name +snd-emu10k1 +snd-emu10k1-synth +snd-emu10k1x +snd-emu8000-synth +snd-emux-synth +snd-ens1370 +snd-ens1371 +snd-es1688 +snd-es1688-lib +snd-es18xx +snd-es1938 +snd-es1968 +snd-es968 +snd-fm801 +snd-fm801-tea575x # Added because there is a card by this name +snd-gina20 # Added because there is a card by this name +snd-gina24 # Added because there is a card by this name +snd-gusclassic +snd-gusextreme +snd-gus-lib +snd-gusmax +snd-gus-synth +snd-harmony # Added because there is a card by this name +snd-hdaintel # Added because there is a card by this name +snd-hdsp +snd-hdspm # Added because there is a card by this name +snd-hwdep +snd-i2c +snd-ice1712 +snd-ice1724 +snd-ice17xx-ak4xxx +snd-indigo # Added because there is a card by this name +snd-indigodj # Added because there is a card by this name +snd-indigoio # Added because there is a card by this name +snd-intel8x0 +snd-intel8x0m +snd-interwave +snd-interwave-stb +snd-korg1212 +snd-layla20 # Added because there is a card by this name +snd-layla24 # Added because there is a card by this name +snd-maestro3 +snd-mia # Added because there is a card by this name +snd-miro # Added because there is a card by this name +snd-mixart +snd-mixer-oss +snd-mona # Added because there is a card by this name +snd-mpu401 +snd-mpu401-uart +snd-msnd-pinnacle # Added because there is a card by this name +snd-mtpav +snd-mts64 +snd-nm256 +snd-opl3-lib +snd-opl3sa2 +snd-opl3-synth +snd-opl4-lib +snd-opl4-synth +snd-opti92x-ad1848 +snd-opti92x-cs4231 +snd-opti93x +snd-page-alloc +snd-pc98-cs4232 # Added because there is a card by this name +snd-pcm +snd-pcm-oss +snd-pcsp # Added because there is a card by this name +snd-pcxhr # Added because there is a card by this name +snd-pdaudiocf +snd-pdplus # Added because there is a card by this name +snd-portman2x4 # Added because there is a card by this name +snd-powermac # Added because there is a card by this name +snd-pxa2xx-ac97 # Added because there is a card by this name +snd-rawmidi +snd-rme32 +snd-rme96 +snd-rme9652 +snd-rtctimer +snd-s3c2410 # Added because there is a card by this name +snd-sa11xx-uda1341 # Added because there is a card by this name +snd-sb16 +snd-sb16-csp +snd-sb16-dsp +snd-sb8 +snd-sb8-dsp +snd-sbawe +snd-sb-common +snd-serialmidi # Added because there is a card by this name +snd-serial-u16550 +snd-sgalaxy +snd-sonicvibes +snd-sscape +snd-sun-amd7930 # Added because there is a card by this name +snd-sun-cs4231 # Added because there is a card by this name +snd-sun-dbri # Added because there is a card by this name +snd-tea575x-tuner +snd-tea6330t +snd-timer +snd-trident +snd-trident-synth +snd-usb-audio +snd-usb-lib +snd-usb-usx2y +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-vx222 +snd-vx-cs +snd-vx-lib +snd-vxp440 +snd-vxpocket +snd-wavefront +snd-ymfpci --- alsa-driver-1.0.16.orig/debian/changelog +++ alsa-driver-1.0.16/debian/changelog @@ -0,0 +1,1316 @@ +alsa-driver (1.0.16-0ubuntu4) hardy; urgency=low + + * Patches (debian/patches/): + - post_16_20080307.patch (obsoletes post_16_20080226) adds shadowed + variable and integer as NULL pointer fixes and HDA quirks, + - add_suspend_quirk_hp_nc6220_nw8240.patch fully fixes LP: #151111, + - readd refix_lp_68659_by_disabling_dxs_for_0x1458a002.patch to + close LP: #68659. This patch apparently never made it into Feisty, + Gutsy, or Hardy. + + -- Daniel T Chen Sat, 08 Mar 2008 20:11:33 -0500 + +alsa-driver (1.0.16-0ubuntu3) hardy; urgency=low + + * Patches: + - debian/patches/post_16_20080226.patch (obsoletes post_16_20080214) + adds fixes and quirks for HDA Analog Devices AD1883/1884A/1984A/ + 1984B codecs. + + -- Daniel T Chen Tue, 26 Feb 2008 17:24:58 -0500 + +alsa-driver (1.0.16-0ubuntu2) hardy; urgency=low + + * Patches: + - debian/patches/post_16_20080214.patch (obsoletes post_16_20080211) + adds more quirks, fixes CVE-2008-0007. + + -- Daniel T Chen Fri, 15 Feb 2008 19:48:15 -0500 + +alsa-driver (1.0.16-0ubuntu1) hardy; urgency=low + + * New upstream release. + * Packaging: debian/ALSA-card-list: add remaining missing card + models from ./configure. + * Patches: debian/patches/: + - post_16rc2_*.patch: remove backported patches present in 1.0.16 + final, + - post_16_20080211.patch: grab fixes from hg tip (alsa-{kernel, + driver}) except for latency>QoS wrapper & conversion. + + -- Daniel T Chen Mon, 11 Feb 2008 20:42:41 -0500 + +alsa-driver (1.0.16~rc2-0ubuntu1) hardy; urgency=low + + * New upstream release candidate for wider testing (retain previous + Ubuntu delta). + * debian/patches/core_oss_framepointer.patch: s#CFLAGS#EXTRA_CFLAGS# + to fix FTBFS for alsa-source using module-assistant and hardy's + linux-headers. + * debian/patches/post_16rc2*.patch: backport a few hg changesets: + - quirk for Acer Travelmate 2310, + - OSS PHONEOUT compatibility fallbacks, + - Zepto laptops based on Realtek ALC268 codec, + - SI HDMI codec, + - SPDIF output on Conexant 5045 codec fixed, + - OQO Model 2 Sigmatel, + - quirk for Albatron KI690-AM2, + - microphone-in jacks unable to be used as outputs fixed, + - GPIO mute support for Sigmatel STAC9205, + - quirk for Dell T3400, + - quirk for HP DV9553EG laptop, + - Intel ICH10 support. + * debian/ALSA-card-list: add backported card models from ./configure. + + -- Daniel T Chen Mon, 04 Feb 2008 18:20:46 -0500 + +alsa-driver (1.0.15-4ubuntu1) hardy; urgency=low + + * Merge from Debian unstable, remaining changes: + - Packaging: + + Script paths (/usr/sbin -> /sbin, /usr/bin -> /bin), + + Vcs-Bzr, lpia arch, maintainer field mangling, + - Patches: + + Apply (new) patch from Zhengpeng Hou adding AC'97 support + for ATI SB600. Thanks! + + -- Daniel T Chen Sat, 12 Jan 2008 09:41:11 +0000 + +alsa-driver (1.0.15-4) unstable; urgency=low + + [ Elimar Riesebieter ] + * As the TV modules don't have a "snd-" prefix we have to modify + /etc/modprobe.d/alsa-base respectivly. Thanks Gabriel Mainberger. + (closes: #458525) + * Bummped standard version to 3.7.3. No changes. + * Removed /etc/init.d from alsa-base' dirlist. + + -- Jordi Mallach Sat, 12 Jan 2008 00:07:17 +0100 + +alsa-driver (1.0.15-3ubuntu1) hardy; urgency=low + + * Merge from Debian unstable. + * Ubuntu-specific changes: + - debian/alsa-base.apm: fix script location; + - debian/alsa-base.NEWS: note Ubuntu locations of scripts; + - debian/alsa-base.README.Debian: minor spelling correction; + - debian/alsa-base.dirs: don't list /etc/init.d or + /etc/alsa/modprobe-post-install.d, use /sbin; + - debian/alsa-base.postinst: delete /etc/modprobe.d/sound; + - debian/control: add Vcs-Bzr URI, support lpia, adhere to + DebianMaintainerField spec; + - debian/linux-sound-base.config: use Ubuntu blacklist naming + convention, reorder other removals for clarity; + - debian/linux-sound-base.postinst: reuse Ubuntu blacklist naming + convention; + - debian/linux-sound-base.postrm: for the remove operation, + forcibly delete all package-installed blacklist files; + - debian/rules: minor spelling corrections, don't ship snddevices + or alsaconf scripts, install compatibility initscript into + /sbin, install apm script into /etc/apm/scripts.d, use Ubuntu + blacklist naming convention. + * Fixing the locations of the apm and init- scripts addresses the + following bugs: LP: #125086, LP: #158577, LP: #174022. + + -- Daniel T Chen Wed, 12 Dec 2007 23:37:13 -0500 + +alsa-driver (1.0.15-3) unstable; urgency=low + + [ Jordi Mallach ] + * Switch to now official Vcs-* control fields. + * Recommend module-assistant and linux-headers, drop pre-etch kernel + package names. + + [ Elimar Riesebieter ] + * Added finnish translation of debconf templates. (closes: #453659) + * Since /etc/init.d/alsa has been moved to /usr/sbin/alsa, + /etc/apm/scripts.d/alsa needs the new path. Thanks Jan Medlock for the hint. + (closes: #455076) + + -- Jordi Mallach Sun, 09 Dec 2007 01:37:08 +0100 + +alsa-driver (1.0.15-2ubuntu1) hardy; urgency=low + + * Merge from Debian unstable. + * Ubuntu-specific changes: + - debian/alsa-base.README.Debian: minor spelling correction; + - debian/alsa-base.dirs: don't list /etc/init.d or + /etc/alsa/modprobe-post-install.d; + - debian/alsa-base.init: install to /etc/apm/scripts.d/alsa + instead of /usr/sbin; + - debian/alsa-base.postinst: delete /etc/modprobe.d/sound; + - debian/control: adhere to DebianMaintainerField spec; + - debian/linux-sound-base.config: use Ubuntu blacklist naming + convention, reorder other removals for clarity; + - debian/linux-sound-base.postinst: reuse Ubuntu blacklist naming + convention; + - debian/linux-sound-base.postrm: for the remove operation, + forcibly delete all package-installed blacklist files; + - debian/rules: minor spelling corrections, don't ship snddevices + or alsa scripts, use Ubuntu blacklist naming convention. + * Debian-specific changes (i.e., revert to Debian packaging for): + - debian/alsa-base.preinst; + - debian/linux-sound-base.README.Debian; + - debian/linux-sound-base.dirs. + + -- Daniel T Chen Sun, 11 Nov 2007 18:28:39 -0500 + +alsa-driver (1.0.15-2) unstable; urgency=low + + [ Elimar Riesebieter ] + * Changed versioned recommend of alsa-utils in package alsa-base to a + unversioned one. (closes: #448116) + * News.Debian: Make clear, that /usr/sbin/alsa is useful, if a user wants to + unload, reload the sound modules i.e. for scripting. It is not needed for + any configuration of alsa. (closes: #448115) + + -- Jordi Mallach Sat, 27 Oct 2007 11:40:23 +0200 + +alsa-driver (1.0.15-1) unstable; urgency=low + + * New upstream release. + + [ Elimar Riesebieter ] + * Added Belarussian translation. Thanks Andrei Darashenka. (closes: #447113) + * Added Homepage: header to debian control + * Removed udev from linux-sound-base Depends: (closes: #446953) + * Install obsolete alsa init-script to /usr/sbin and put a relevant note + in NEWS.Debian. (closes: #447539) + + -- Jordi Mallach Thu, 25 Oct 2007 01:02:12 +0200 + +alsa-driver (1.0.14-2) unstable; urgency=low + + [ Elimar Riesebieter ] + * The "Goodby modutils, hotplug and discover" release ;) + + Let linux-sound-base depend on udev. + - Removed discover stuff + - Removed hotplug stuff (closes: #436502) + - Don't use modutils stuff anymore. Well, it's hard for backporters, but + hey, all our releases are running 2.6 kernels ;) + * README.Debian s/alsa-source.tar.bz2/alsa-driver.tar.bz2 (closes: #431934) + * Added alsa-drivers debconf templates translations: + Slovak: Ivan Masár (closes: #441776) + + -- Jordi Mallach Sat, 15 Sep 2007 12:35:50 +0200 + +alsa-driver (1.0.14-1ubuntu2) gutsy; urgency=low + + * Fix sed expression to change correct cx88 driver name. + + -- Tim Gardner Thu, 27 Sep 2007 02:53:38 +0000 + +alsa-driver (1.0.14-1ubuntu1) gutsy; urgency=low + + * Merge from Debian unstable, remaining changes: + - debian/alsa-base.modprobe: Load snd-seq, + - debian/alsa-base.postinst: Forcibly remove /etc/modprobe.d/sound + on dist-upgrade, + - debian/control: Don't Depend on modutils, and adhere to + DebianMaintainerField, + - debian/linux-sound-base.dirs: Don't create modutils or discover, + - debian/rules: Enable MPU for snd-cmipci, + - Only ship modprobe configuration, + - Remove default mode, + - Invoke modprobe with -Qb and command line options, + - Remove modprobe post-install script in favour of using udev, + - Continue to ship the initscript in the apm scripts dir. + * New upstream version closes LP: #45841, LP: #51357, LP: #57294, + LP: #59569, LP: #63971, LP: #66843, LP: #68930, LP: #75725, + LP: #77024, LP: #77099, LP: #77101, LP: #83015, LP: #87195, + LP: #88546, LP: #88570, LP: #90417, LP: #91721, LP: #92307, + LP: #92358, LP: #95597, LP: #108563, LP: #110599, LP: #115186, + LP: #118173, LP: #119086. + + -- Daniel T Chen Wed, 04 Jul 2007 13:00:30 -0400 + +alsa-driver (1.0.14-1) unstable; urgency=low + + * New upstream release. (closes: #391991, #401074, #421853) + + [ Jordi Mallach ] + * debian/control: add XS-Vcs-Browser and XS-Vcs-Svn headers. + + [ Elimar Riesebieter ] + * Patch management switched to quilt. This is more comfortable. + * Updated alsa-drivers debconf templates. + Thanks, debian-l10n-english contributors (closes: #425208). + * Updated alsa-drivers debconf translations: + Galician: Jacobo Tarrio (closes: #425804). + Japanese: Kenshi Muto (closes: #426007). + Portuguese: Traduz (closes: #426111). + Malayalam: Praveen A (closes: #426241). + German: Helge Kreutzmann (closes: #426375). + Czech: Miroslav Kure (closes: #426427). + Vietnamese: Clytie Siddall (closes: #427148). + Dutch: Bart Cornelis (closes: #428032). + Russian: Yuri Kozlov (closes: #428136). + Spanish: Carlos Galisteo de Cabo (closes: #428572) + Swedish: Daniel Nylander (closes: #426202) + Catalan: Jordi Mallach (closes: #428224) + * Added alsa-drivers debconf templates translations: + Basque: Piarres Beobide (closes: #425810). + Bulgarian: Damyan Ivanov (closes: #425854). + Tamil: Tirumurti Vasudevan (closes: #426081). + Italian: Luca Monducci (closes: #426152). + Korean: Sunjae Park (closes: #426618). + Arabic: Ossama Khayat (closes: #428264) + + -- Jordi Mallach Sat, 23 Jun 2007 02:53:26 +0200 + +alsa-driver (1.0.14~rc4-1) experimental; urgency=low + + [ Elimar Riesebieter ] + * New upstream release candidate. + * Added Malayalam translation. Thanks Santhosh Thottingal. (closes: #419524) + + -- Jordi Mallach Fri, 11 May 2007 20:36:53 +0200 + +alsa-driver (1.0.14~rc3-1) experimental; urgency=low + + [ Elimar Riesebieter ] + * New upstream release candidate + * Merged etch changes + + -- Jordi Mallach Fri, 13 Apr 2007 01:42:14 +0200 + +alsa-driver (1.0.14~rc1-1) experimental; urgency=low + + [ Elimar Riesebieter ] + * New upstream release candidate + * Removed debian/patches/98_ens1371_inaudible_sound_def.dpatch. Applied + different from upstream + + -- Jordi Mallach Mon, 15 Jan 2007 13:00:06 +0100 + +alsa-driver (1.0.13-5) unstable; urgency=medium + + [ Elimar Riesebieter ] + * Added snd-seq-midi as an optional load above generic modules (snd-rawmidi) + Thanks Eduard Dumitrescu for testing. (closes: #408036) + * Added "cx88_alsa (PCI: TV cards...." to debian/ALSA-card-list. This module + will be loaded with index=-2. (closes: #411665) + * Urgency set to medium as this will affect etch. + + -- Jordi Mallach Mon, 26 Feb 2007 17:55:02 +0100 + +alsa-driver (1.0.13-4) unstable; urgency=medium + + [ Elimar Riesebieter ] + * Added etc/modutils and etc/modprobe.d to debian/linux-sound-base.dirs. + This will offer the possibility to upgrade from 2.4 to 2.6 kernels as + well to downgrade from 2.6 to 2.4 kernels. The links from + /lib/linux-sound-base/ will be created for sure now. (closes: #408249) + Thanks to Lucas Nussbaum and Gregor Herrmann. + * Urgency set to medium as this will affect etch significantly. + + -- Jordi Mallach Fri, 16 Feb 2007 10:32:45 +0100 + +alsa-driver (1.0.13-3ubuntu1) feisty; urgency=low + + * Merge from Debian unstable, remaining changes: + - debian/alsa-base.modprobe: Load snd-seq, + - debian/alsa-base.postinst: Forcibly remove /etc/modprobe.d/sound + on dist-upgrade, + - debian/control: Don't Depend on modutils, + - debian/{ALSA-card-list,rules}: Add entries for Conexant 2388x + and Phillips saa71xx TV cards so that they won't grab the default + card index, + - debian/rules: Enable MPU for snd-cmipci, + - Only ship modprobe configuration, + - Remove default mode, + - Invoke modprobe with -Qb and command line options, + - Remove modprobe post-install script in favour of using udev, + - Continue to ship the initscript in the apm scripts dir. + + -- Daniel T Chen Sun, 31 Dec 2006 20:08:24 -0500 + +alsa-driver (1.0.13-3) unstable; urgency=low + + [ Jordi Mallach ] + * Updated and new debconf template translations: + - de.po: thanks, Helge Kreutzm (closes: #403264). + - gl.po: thanks, Jacobo Tarrío (closes: #404578). + + -- Jordi Mallach Fri, 29 Dec 2006 12:55:54 +0100 + +alsa-driver (1.0.13-2ubuntu2) feisty; urgency=low + + * debian/{ALSA-card-list,rules}: Add saa7134-alsa to the list of TV + cards that should not grab the default index (Closes Ubuntu: #75103). + + -- Daniel T Chen Sat, 9 Dec 2006 19:03:55 -0500 + +alsa-driver (1.0.13-2ubuntu1) feisty; urgency=low + + * Merge from Debian unstable, remaining Ubuntu changes: + - debian/alsa-base.modprobe: Load snd-seq, + - debian/alsa-base.postinst: Forcibly remove /etc/modprobe.d/sound + on dist-upgrade (Closes Ubuntu: #43738), (Closes: #400612), + - debian/control: Don't Depend on modutils, + - debian/{ALSA-card-list,rules}: Add entry for Conexant 2388x TV + cards so that they won't grab the default card index, + - debian/rules: Enable MPU for snd-cmipci (Closes Ubuntu: #62691), + - Only ship modprobe configuration, + - Remove default mode, + - Invoke modprobe with -Qb and command line options, + - Remove modprobe post-install script in favour of using udev, + - Continue to ship the initscript in the apm scripts dir. + + -- Daniel T Chen Tue, 28 Nov 2006 01:35:04 -0500 + +alsa-driver (1.0.13-2) unstable; urgency=low + + [ Elimar Riesebieter ] + * Added XS-X-Vcs-Svn field in control. + * Updated po files: + - de.po: Thanks Helge Kreutzmann. Closes: #39866. + + [ Jordi Mallach ] + * debian/control: add ${misc:Depends} to alsa-base. + + -- Jordi Mallach Wed, 15 Nov 2006 13:26:41 +0100 + +alsa-driver (1.0.13-1ubuntu1) feisty; urgency=low + + * Merge from Debian unstable, remaining Ubuntu changes: + - debian/alsa-base.modprobe: Unconditionally load snd-seq + (thereby pulling in snd-seq-midi) so that devices lacking + hardware MIDI can avoid the showstopping Ubuntu #34831 + (Closes Ubuntu: #26283, #43682, #56005; works around + #34831), + - debian/control: + + Remove references to modutils and hotplug, + + linux-sound-base depends on module-init-tools + (Closes Ubuntu: #51734), + - debian/{ALSA-card-list,rules}: Add entry for Conexant 2388x + TV cards so that they won't grab the default card index + (Closes Ubuntu: #68833), + - Only ship modprobe configuration, + - Remove default mode, + - Invoke modprobe with -Qb and command line options, + - Remove modprobe post-install script in favour of using udev, + - Merge Debian 1.0.11-5's apm script into the initscript, and + continue to ship the initscript in the apm scripts dir. + + -- Daniel T Chen Sun, 29 Oct 2006 01:39:47 -0400 + +alsa-driver (1.0.13-1) unstable; urgency=low + + * New upstream release + + [ Elimar Riesebieter ] + * Updated po files: + - fr.po: Thanks Christian Perrier + - sv.po: Thanks Daniel Nylander + - nl.po: Thanks Bart Cornelis + - pt.po: Thanks Bruno Miguel da Silva Queiros + - pt_BR.po: Thanks Felipe Augusto van de Wiel + - vi.po: Thanks Clytie Siddall + - tr.po: Thanks Recai Oktaş + - ru.po: Thanks Serge Winitzki + - cs.po: Thanks Miroslav Kure + - ja.po: Thanks Kenshi Muto + - es.po: Thanks Carlos Galisteo de Cabo + * Removed debian/patches/08_i2c-powermac-configure-fix.dpatch. Applied + upstream. + * Removed debian/patches/96_acer.dpatch. Applied upstream. + * Removed debian/patches/97_aoa.dpatch. Applied upstream. + + [ Jordi Mallach ] + * Updated Catalan translation. + + -- Jordi Mallach Tue, 3 Oct 2006 10:44:15 +0200 + +alsa-driver (1.0.12-1) unstable; urgency=low + + * New upstream release. (closes: #386663, #386822) + + [ Elimar Riesebieter ] + * Removed 17_alsa-timer-irqsave.dpatch, 96_vi82xx_dxs_src.dpatch, + 97_pmac_hg. dpatch 98_pmac_hg2.dpatch. Applied upstream. + * Added linux-source to alsa-source recommends. (closes: #383502) + * Removed serialmidi from the variety of available drivers. See also + https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2039 + (closes: #384711) + * No sound with Intel 82801G ICH7 -> fixed upstream (closes: #362282) + * Cleaned out depmod in alsa-source.post(inst|rm) (closes: #381749) + Adjusted alsa-source.control + * Added patches/98_ens1371_inaudible_sound_def.dpatch stolen from + https://lists.ubuntu.com/archives/kernel-team/2006-August/000979.html + (closes: #385736) + * Bumped compat to 5 and debhelper version >=5.0.37 + * Added 08_i2c-powermac-configure-fix.dpatch and 97_aoa.dpatch to get the + aoa-drivers to work. + * Added 96_acer.dpatch to enable the use of snd-hda-intel for some + notebooks. + * Improved templates. Thanks Thomas Huriaux. (closes: #377648) + * Added debconf-updatepo to debian/rules/clean target. + + [ Jordi Mallach ] + * Updated Catalan debconf templates translation. + + -- Jordi Mallach Mon, 11 Sep 2006 10:21:23 +0200 + +alsa-driver (1.0.11-5ubuntu1) edgy; urgency=low + + * Merge from Debian unstable. The following Ubuntu changes remain: + - Only ship modprobe configuration, + - Remove default mode, + - Invoke modprobe with -Qb and command line options, + - Remove modprobe post-install script in favour of using udev, + - Merge Debian 1.0.11-5's apm script into the initscript, and + continue to ship the initscript in the apm scripts dir, + - Don't allow snd-usb-audio to grab the default index, 0 + (Closes Ubuntu: #31109, #46996, #46998). + + -- Daniel T Chen Thu, 17 Aug 2006 00:34:10 +0100 + +alsa-driver (1.0.11-5) unstable; urgency=low + + [ Elimar Riesebieter ] + * Added mixer store and restore functions to the apm script. + (closes: #380490) + + -- Jordi Mallach Wed, 16 Aug 2006 20:34:04 +0200 + +alsa-driver (1.0.11-4) unstable; urgency=low + + [ Elimar Riesebieter ] + * Use lsb init-functions in init script. Thanks Carlos Villegas + (closes: #377716) + + -- Jordi Mallach Mon, 17 Jul 2006 16:26:12 +0200 + +alsa-driver (1.0.11-3ubuntu1) edgy; urgency=low + + * Merge from debian unstable, remaining changes: + - only ships modprobe configuration, + - default mode removed, + - modprobe called with -Qb and command line options, + - modprobe post-install script removed in favour of using udev, + - init script moved to just an APM script. + + -- Scott James Remnant Thu, 6 Jul 2006 10:57:14 +0100 + +alsa-driver (1.0.11-3) unstable; urgency=low + + [ Elimar Riesebieter ] + * Added the utf-8 reworked pt_BR.po. (closes: #373960) + Thanks Felipe Augusto van de Wiel. + * Introduced 96_vi82xx_dxs_src.dpatch. (closes: #366212) + Thanks Nick Liverton. + * Introduced 17_alsa-timer-irqsave.dpatch. Prevents locking the system + playing midi files under heavy load. Thanks Arthur Marsh for testing. + (closes: #376382) + + -- Jordi Mallach Wed, 5 Jul 2006 10:28:57 +0200 + +alsa-driver (1.0.11-2) unstable; urgency=low + + [ Elimar Riesebieter ] + * Replaced 98_pmac.dpatch with 97_pmac_hg.dpatch. The patch is caught from the + HG Alsa repo. + * Added 98_pmac_hg2.dpatch to fix compilation of ppc drivers with 2.6.17. + Caught from HG Alsa repo as well. + * Bumped Standard-Version to 3.7.2; no changes needed. + + -- Jordi Mallach Fri, 19 May 2006 00:57:02 +0200 + +alsa-driver (1.0.11-1) unstable; urgency=low + + * New upstream release + - builds with Linux 2.6.16 (closes: #359856, #360287) + + [ Elimar Riesebieter ] + * Added saa7134 to debian/OSS-module-list and removed appropriate note in + debian/notes (Closes: #359851) + * Introduced Build-Depends for debhelper and dpatch as requested from + lintian. + * Removed the lintian capital-letters from overrides, as they are not needed + anymore. + * Reorked overrides rules + * Introduced 98_pmac.dpatch as the native sources don't build the powermac + driver. + + -- Jordi Mallach Sun, 23 Apr 2006 17:06:15 +0200 + +alsa-driver (1.0.10+1.0.11rc3-1) experimental; urgency=low + + * New upstream release candidate + Closes: #354041 "'Bad page state at free_hot_cold_page' kernel errors" + + [ Elimar Riesebieter ] + * Removed patches/04_make_minus_j_fix.dpatch which has applied different from upstream + + [ Thomas Hood ] + * Set perms on /var/run/alsa + * Put module-init-tools before modutils in Depends + * /etc/init.d/alsa: Use a more standard PATH + * Correct copyright file to reflect the fact that 10% of the files + don't offer the GPL version option + + -- Jordi Mallach Thu, 23 Feb 2006 20:17:47 +0100 + +alsa-driver (1.0.10+1.0.11rc2-2) experimental; urgency=low + + [ Thomas Hood ] + * Make linux-sound-base and alsa-base Depend on versions of + module-init-tools supporting blacklists (Closes: #346231) + * Create /var/run/alsa where needed and don't include this dir + in the package any more (Closes: #344760) + + -- Jordi Mallach Tue, 10 Jan 2006 00:38:29 +0100 + +alsa-driver (1.0.10+1.0.11rc2-1) experimental; urgency=low + + * New upstream release candidate + + -- Jordi Mallach Wed, 4 Jan 2006 21:28:48 +0100 + +alsa-driver (1.0.10+1.0.11rc1-1) experimental; urgency=low + + * New upstream release candidate + + [ Elimar Riesebieter ] + * Update dpatches + + [ Jordi Mallach and Thomas Hood ] + * /etc/modprobe.d/alsa-base: Call modprobe with full path for now, + to work around the absence of /sbin from the PATH at boot time + on systems with certain versions of kernel initrds, sysvinit, + udev and zsh (symlinked in as /bin/sh). (Closes: #345101) + + -- Jordi Mallach Mon, 2 Jan 2006 18:20:04 +0100 + +alsa-driver (1.0.10-4ubuntu4) dapper; urgency=low + + * After loading saa7134, load the saa7134-alsa driver too. + + -- Scott James Remnant Thu, 6 Apr 2006 06:54:39 +0100 + +alsa-driver (1.0.10-4ubuntu3) dapper; urgency=low + + * Drop creation of devices in postinst. + + -- Scott James Remnant Fri, 3 Feb 2006 13:16:27 +0000 + +alsa-driver (1.0.10-4ubuntu2) dapper; urgency=low + + * Put linux-sound-base on the udev diet: + - Remove all hotplug, modutils, discover and discover2 files. + - Rename the /etc/modprobe.d symlinks to blacklist-oss and + blacklist-alsa to fit our naming scheme and ensure they're copied + to places like the initramfs and installer. + - Remove the "default" option, it makes no sense for us as they need + to pick one or the other or mayhem ensues. + * Do the same for alsa-base: + - Remove snddevices program, udev does everything necessary. + - Remove all hotplug, modutils, discover and discover2 files. + - Rename /etc/modprobe.d/alsa-base-blacklist to blacklist-model to + fit our naming scheme and ensure it's copied to places like the + initramfs and installer. + - Remove /usr/share/alsa-base/program-wrapper + - Remove /etc/alsa/modprobe-post-install.d, udev rules must be used + instead. + - Move suspend/resume script from /etc/init.d to /etc/apm/scripts.d + and fix to work properly with /var/run as tmpfs + - Don't ignore command-line options to snd, snd-pcm, snd-mixer and + snd-seq modprobe calls. + - Allow snd-ioctl23, snd-pcm-oss, snd-mixer-oss, snd-seq, snd-seq-mini, + snd-seq-oss and snd-emu10k1-synth to be blacklisted using the usual + mechanism rather than modifying black magic. + + -- Scott James Remnant Fri, 3 Feb 2006 11:34:00 +0000 + +alsa-driver (1.0.10-4ubuntu1) dapper; urgency=low + + * Use an ubuntu version number, unfortunately still larger than -4 + + -- Matt Zimmerman Mon, 30 Jan 2006 07:57:08 -0800 + +alsa-driver (1.0.10-4) dapper; urgency=low + + * Prefer module-init-tools over modutils + + -- Matt Zimmerman Mon, 30 Jan 2006 07:12:26 -0800 + +alsa-driver (1.0.10-3) unstable; urgency=low + + [ Thomas Hood ] + * Correctly read variables in alsa-source.conf (Closes: #343555) + + -- Jordi Mallach Fri, 16 Dec 2005 10:03:50 +0100 + +alsa-driver (1.0.10-2) unstable; urgency=low + + [ Thomas Hood ] + * Use /bin/sh in scripts + * Add blacklist files for module loaders too + + -- Jordi Mallach Thu, 15 Dec 2005 20:10:32 +0100 + +alsa-driver (1.0.10-1) unstable; urgency=low + + * New upstream release + - Closes: #337409 "usbaudio.c fails to build with linux-source-2.6.14" + * debconf template translation updates + - pt.po Bruno Miguel da Silva Queiros + - pt_BR.po Eduardo Brasilino Barbosa + Thanks! + + -- Jordi Mallach Mon, 21 Nov 2005 20:10:22 +0100 + +alsa-driver (1.0.9+1.0.10rc3-1) experimental; urgency=low + + * New upstream release candidate + * debconf template translation update + - pt_BR.po Felipe Augusto van de Wiel + * Thomas Hood + - Add "$CMDLINE_OPTS" to some install lines in modprobe.conf. + (See #336205 for the reason why it isn't now added to all of + them.) + - /etc/init.d/alsa: Add LSB header (Closes: #337638) + - Remove 11_rc2_build_fix + + -- Jordi Mallach Wed, 9 Nov 2005 19:30:59 -0500 + +alsa-driver (1.0.9+1.0.10rc2-1) experimental; urgency=low + + * New upstream release candidate + * debconf template translations + - pt.po Rui Branco (Closes: #330050) + - sv.po (new) Daniel Nylander (Closes: #332331) + Thanks to all! + * Thomas Hood + - Make alsa initscript exit if alsa-base package is not installed + - Update 09_alpha_build_fixes, 10_disable_gcc_version_check2 + - Add 11_rc2_build_fix + - Update alsa-source README + - debian/rules: build-source: Don't do "make clean" since + we don't run ./configure + + -- Jordi Mallach Tue, 25 Oct 2005 10:00:54 +0200 + +alsa-driver (1.0.9+1.0.10rc1-1) experimental; urgency=low + + * New upstream release candidate + * debconf template translation updates + - es.po Carlos Galisteo de Cabo (Closes: #322310) + - vi.po Clytie Siddall (Closes: #322277) + - cs.po Miroslav Kure (Closes: #322575) + - nl.po cobaco (Closes: #325857) + - ru.po Sergei Winitzki + - de.po Jens Nachtigall (Closes: #325918) + - ca.po Jordi Mallach + - fr.po Christian Perrier (Closes: #324806) + - da.po Morten Brix Pedersen (Closes: #326632) + - tr.po Recai Oktas + - ja.po Kenshi Muto (Closes: #327816) + Thanks to all! + * Thomas Hood + - Remove obsolete methods from alsa initscript + - Tweak alsa-base description + - Remove substitute snddevices program; ours was added upstream + - Tweak 04_make_minus_j_fix.dpatch and send most of it upstream + + -- Jordi Mallach Mon, 19 Sep 2005 21:11:56 +0200 + +alsa-driver (1.0.9b-4) unstable; urgency=low + + * Thomas Hood + - debian/rules: Clean up temporary file + + -- Jordi Mallach Fri, 29 Jul 2005 17:49:47 +0200 + +alsa-driver (1.0.9b-3) unstable; urgency=low + + * Thomas Hood + - Make alsa-base no longer Depend on alsa-utils + - Transfer mixer-level-restore feature to alsa-utils + + Eliminate /etc/dev.d/snd/controlC*/alsa-base.dev, + /lib/alsa/dev and /etc/alsa/dev.d/alsa-base + + Eliminate /etc/alsa/modprobe-post-install.d/alsa-base + + Remove stuff from /etc/init.d/alsa and /etc/default/alsa + + Report this in alsa-base.NEWS + - ALSA-module-list: + + Add module names like those of cards in ALSA-card-list + + Put in /usr/share/linux-sound-base/ for use by alsaconf + - OSS-module-list: + + Eliminate from /usr/share/alsa-base/. It can still be + found in /usr/share/linux-sound-base/. + - /etc/mod(utils|probe.d)/alsa-base: + + Load snd-seq above snd-via82xx (Should fix Ubuntu#8529) + + Eliminate duplicate entry for snd-emu10k1 + - debian/alsa-source.templates: + + List cards by name only in selector; present cards with + descriptions in the question explanation. (Closes: #317737) + This allows us to preserve selections on upgrade. + (Closes: #290946) + - /etc/hotplug/blacklist.d/alsa-base, + /etc/discover.d/alsa-base: + Add missing 'snd-' prefix to names of blacklisted modem drivers + (closes: #319280) but comment out the entries since they may + not be needed after all + - Eliminate empty sv.po + - Eliminate obsolete symlink /usr/lib/alsa/modprobe-post-install + - Eliminate cruft from maintainer scripts + - Eliminate obsolete devfsd configuration file + - Eliminate obsolete dependencies + - Update READMEs accordingly + + -- Thomas Hood Mon, 9 Jul 2005 10:00:00 +0200 + +alsa-driver (1.0.9b-2) unstable; urgency=low + + * Thomas Hood + - alsa-base.templates: + + Change the default answer to the debconf question to + "always autosave", following Ubuntu + - doc/linux-sound-base/README.Debian: + + Say that the user can run dpkg-reconfigure (Closes: #312739) + - Add /usr/share/bug/alsa-modules-/control + - Add /usr/share/bug/alsa-{base,source}/{control,presubj,script} + - vi.po: Update, thanks to Clytie Siddall (Closes: #313009) + - cs.po: Update, thanks to Miroslav Kure (Closes: #313267) + - fr.po: Update, thanks to Christian Perrier (Closes: #315121) + - Eliminate alsa-base.NEWS + - Eliminate dummy alsa-headers package + - Eliminate preinsts. We now support upgrades from the sarge + version (1.0.8-7) or later. More decrufting to come later. + - Bump Standards-Version to 3.6.2.1; no changes required + + -- Jordi Mallach Tue, 21 Jun 2005 10:24:11 +0200 + +alsa-driver (1.0.9b-1) unstable; urgency=low + + * New upstream release + * Thomas Hood + - /etc/init.d/alsa: Add terminal "done." + - Clean up dpatch headers + - Reduce default sound levels for several controls because some + Ubuntu users reported that the old defaults were too high + * Jordi Mallach + - debian/linux-sound-base.templates: mark strings for translation. + - debian/po/POTFILES.in: add linux-sound-base.templates. + - Update Catalan debconf translation. + - dpatches: + + Remove 17_class_device_fix, applied upstream. + + -- Jordi Mallach Wed, 8 Jun 2005 21:23:33 +0200 + +alsa-driver (1.0.9a-1) unstable; urgency=low + + * New upstream release + - snd-usb-audio fixes (Possibly fixes #299674) + - hda-intel fixes (Possibly fixes #299459) + - snd-ioctl32 fixes (Possibly fixes #298082) + * Thomas Hood + - dpatches: + + Add 17_class_device_fix + - Modify snddevices script to accept --dev-dir option and modify + alsa-base.postinst to use this option to create static device + nodes in /dev/.static/dev or /.dev if udev is running. + (Closes: #310239) + - Add vi.po contributed by Clytie Siddall (Closes: #307605) + - ALSA-card-list: + + Add "armaaci" entry + - ALSA-module-list, OSS-module-list: + + Update from list of modules in kernel-image 2.6.11-1-686 + + -- Jordi Mallach Sun, 5 Jun 2005 23:00:16 +0200 + +alsa-driver (1.0.8+1.0.9rc3-1) experimental; urgency=low + + * New upstream development release + * Thomas Hood + - Use ${misc:Depends} in Depends lists and drop explicit + dependencies on debconf, since we use dh_installdebconf + - Update ALSA-card-list: + + New modules: au1x00 fm801-tea575x miro pcsp pxa2xx-ac97 s3c2410 + + Renamed modules: azx -> hda-intel + - debian/control: + + alsa-headers becomes Priority: extra to match override file + - /etc/init.d/alsa + + Use -F option to make alsactl try harder to restore levels + (Closes: #236365, #258605) + + Sanify (switch off) "Headphone Jack Sense" and "Line Jack Sense" + (Closes: #297343) and "IEC958 Capture Monitor" (ubuntu #7286) + - /lib/alsa/dev, /lib/alsa/modprobe-post-install, + /etc/alsa/dev.d/alsa-base, /etc/alsa/modprobe-post-install.d: + Do the last thing with exec. + - debian/rules: + + Clean out card-list and module-list intermediate files + + Cease doing lots of redundant cleaning + - Add Vietnamese debconf translation (Closes: #307605) + Thanks to Clytie Siddall + + -- Jordi Mallach Wed, 11 May 2005 14:58:49 +0200 + +alsa-driver (1.0.8+1.0.9rc2-1) experimental; urgency=low + + * New upstream development release + * Thomas Hood + - Drop dpatch applied upstream: 18_core_init_index + - Add linux-sound-base package to allow choice between + OSS and ALSA. linux-sound-base takes over blacklisting + functions from alsa-base. alsa-base Depends on + linux-sound-base which Suggests alsa-base. 2.6 + kernel-image packages should also Depend on linux-sound-base. + - Update alsa-base Description and README.Debian accordingly + - Add ALSA modem drivers to alsa-base's hotplug and discover + blacklists. These drivers cause problems when loaded on some + systems. They should be loaded when needed by the programs + that use them. + - /etc/init.d/alsa + + Sanify "Dynamic Range Compression" at 70% + - /etc/modutils/alsa-base: + + Remove "options snd device_mode=0660" (Closes: #299306) + - /etc/modprobe.d/alsa-base: + + Add line to load snd-ioctl32 above snd which is needed on + amd64 (Closes: #298082, #286915) + - Eliminate duplicate copy of PATCHES in alsa-source doc dir + - Configure module loader to load snd-emu10k1-synth above + snd-emu10k1 and to call module loader hook. (Closes: #297802) + - /etc/alsa/modprobe-post-install.d/alsa-base: + + Match kernel version number more correctly. (Don't regard + 2.10.x as pre-2.6.) + - Tweak config scripts + + Run with bash since confmodule isn't POSIX + + Add db_stop calls + - alsa-base.postinst: + + Delete backup file in /etc/hotplug/blacklist.d/ because + hotplug does not ignore it (#299205) + - Add an upstream changelog cobbled together from messages sent + to the alsa-announce mailing list. This now gets installed as + changelog.gz in alsa-source and alsa-modules* doc directories. + - Ship copyright file for alsa-modules packages in + /usr/src/modules/alsa-driver/debian + - alsa-base.README.Debian + + Note that ALSA's special module loading mechanism is useless + if one is using udev. + + -- Jordi Mallach Thu, 24 Mar 2005 17:35:02 +0100 + +alsa-driver (1.0.8-7) unstable; urgency=medium + + * Thomas Hood + - Relax the debianutils dependency again; instead look for the + which program both in /usr/bin/ and in /bin/. This will + allow us to migrate into testing without being blocked by + debianutils. + + -- Jordi Mallach Thu, 24 Feb 2005 23:39:48 +0100 + +alsa-driver (1.0.8-6) unstable; urgency=low + + * Thomas Hood + - /etc/init.d/alsa + + Handle case where module "snd" is loaded but no sound card + driver module is loaded (Closes: #295037) + + Sane setting of "Audigy Analog/Digital Output Jack" is on + (Closes: #295346 and ubuntu bug #6222) + + In order to tell whether a command is executable, use the + which program, which is now conveniently located in /bin/ + (Closes: #295577) + + Shorten some function names; remove some bug checks + - alsa-base: Conflict with discover << 2.0.7-1 since versions of + discover prior to 2.0.6-1 didn't have the /etc/discover.conf.d/ + feature which we use to implement blacklisting of OSS modules, + and versions prior to 2.0.7-1 contained serious bugs. Also + Depend on debianutils >= 2.12.0 which has the which program + in /bin/. + - Remove sound-slot-* entries from /etc/modprobe.d/alsa-base + (Closes: #295640) Thanks to Sergei Ivanov for spotting this. + + -- Jordi Mallach Sun, 20 Feb 2005 16:34:31 +0100 + +alsa-driver (1.0.8-5) unstable; urgency=medium + + * Thomas Hood + - alsa-base: Bump Dependency on alsa-utils to >= 1.0.8-2 + - Remove char-major-* aliases from /etc/modprobe.d/alsa-base + since the kernel reportedly provides these (Closes: #294238) + - Add OSS module name 'cs461x' to blacklists + (Closes: #294109 and Ubuntu#6328) + - /etc/init.d/alsa + - Add unload and reload methods which don't kill sound procs + before they (try to) unload modules + - Eliminate a variable name collision + - Improve messages + - Improve comments + - Stop alsa later (at [06]:K40alsa) so that shutdown music keeps + on playing while services are shut down (Closes Ubuntu #6234) + - Generate alsa-modules files with the required Dependency on + either modutils or else module-init-tools (rather than their + disjunction) (closes: #293312) and on the current alsa-base, + and Recommend a current libasound2, and only Suggest + pcmcia-modules packages for 2.4 kernels (closes: #293576). + - alsa-modules* long description: Add warning about the fact that + sound processes will be killed if upgrading modules for the + running kernel. + + -- Jordi Mallach Sat, 12 Feb 2005 05:07:30 +0100 + +alsa-driver (1.0.8-4) unstable; urgency=medium + + * Thomas Hood: + - /etc/init.d/alsa: + + In order to tell whether a command is executable, don't use + "command -v" which, it turns out, isn't as well suited to this + purpose as I earlier thought. (See #218530.) Instead just try + to execute the command (with --help) and check the error + status. + + Use #!/bin/sh + - alsa-base.postinst + + Don't abort when eliminating duplicate lines from + /etc/mod(utils|probe.d)/sound (Closes: #292897) + + -- Jordi Mallach Mon, 31 Jan 2005 09:48:00 +0100 + +alsa-driver (1.0.8-3) unstable; urgency=medium + + * Thomas Hood: + - /etc/init.d/alsa: + + Check for availability of alsactl and amixer using "command -v" + before attempting to run them (Closes: #291942) + + Use #!/bin/bash because "command -v" is non-POSIX (see #218530) + - /usr/share/doc/alsa-base/README.Debian: + + Inform user that warning messages about alsactl or amixer not + being found can be ignored if they occur as a result of the + initscript being run in the boot process prior to /usr being + mounted + - /etc/mod(utils|probe.d)/alsa-base: + + Add modprobe-post-install calls for snd-emu8000-synth so that + the awesfx maintainer can arrange for asfxload to be run from + /etc/alsa/modprobe-post-install.d/ when this module loads. + (This would be to grant wish #246405.) It seems that in + earlier ALSA releases, asfxload had to be run after snd-sbawe + was loaded, but now it has to be run after snd-emu8000-synth + is loaded. Thanks to Bodo Meissner for providing this + information. + - /etc/alsa/modprobe-post-install.d/alsa-base: + + Don't run initscript start for snd-emu8000-synth + - alsa-base.postinst: + + Tolerate absence of /etc/mod(utils|probe.d)/alsa-base . + Thanks to Ludovic Watteaux for pointing out this bug. + - /usr/share/lintian/overrides/alsa-(base|source): + + Override description-synopsis-starts-with-a-capital-letter + - debian/changelog + + Move entries to changelog-old + * Jordi Mallach: + - debian/OSS-module-list: add usb-midi to blacklist + (thanks, Mario Lang; Closes: #292127) + + -- Jordi Mallach Thu, 27 Jan 2005 12:30:34 +0100 + +alsa-driver (1.0.8-2) unstable; urgency=low + + * Thomas Hood: + - /etc/init.d/alsa + + start, stop, restart methods now accept a CARD argument + which can be either an ALSA card index or id or "all" + + Make "force-unload" the canonical name for the method that + unloads driver modules. This should be less confusing. + + Set mixer levels to default values if asound.state is missing + or if alsactl fails for some other reason (Closes: #291518) + + On stop, zero mixer levels + + Make suspend, resume work correctly for more than one card + - /etc/default/alsa + + Variable controlling which modules are unloaded on suspend + is now called 'force_unload_modules_before_suspend' + - /etc/alsa/modprobe-post-install.d/alsa-base, + /etc/alsa/dev.d/alsa-base + + Use initscript start method to restore mixer levels rather + than calling alsactl directly + - /etc/alsa/alsa-source.conf: + + Revise comments; add comment for ALSA_CARD_OPTIONS + - /usr/share/doc/alsa-base/README.Debian + + Recommend "force-unload" rather than "force-stop" for forcibly + unloading modules. + - /usr/share/doc/alsa-source/README.Debian + + Improve advice for building alsa-modules for 2.6 kernels + - *.config,*.postinst,*.postrm: + + Use #!/bin/bash because confmodule uses "local" which is + non-POSIX (see #252094) + - alsa-source.config,postinst: + + Preserve values of ALSA_NOPNP, ALSA_DEBUG, ALSA_CARD_OPTIONS, + thus partially addressing #290946. + ALSA_CARDS still gets creamed. :( + - alsa-source.rules + + Add support for ALSA_CARD_OPTIONS + - alsa-base.postinst + + Don't create /var/lib/alsa/asound.state + - alsa-source.postinst + + Update comments in /etc/alsa/alsa-source.conf from template + rather than preserving old (probably obsolete) comments + - alsa-modules.postinst + + Run initscript "force-reload" method if package is for the + running kernel; change fallback message too. + * Jordi Mallach: + - debian/alsa-source.control: + + Fix a duplicated dependency for alsa-base: just Depend on the + (previously) Recommended version + + Loosen some other dependencies which were unnecessarily tight + + -- Jordi Mallach Sun, 23 Jan 2005 16:50:54 +0100 + +alsa-driver (1.0.8-1) unstable; urgency=low + + * New upstream release + - (Closes: #281546 "volume control crash on ICH6 + CMI9880") + - (Closes: #287010 "Modules fail to build with Linux 2.6.9-pre3") + - Create control device last rather than first + (Closes: #279325 "mixer levels are not restored on system with udev") + * Thomas Hood + - patches: + + 11_fix_context_of_vxpocket-patch remove (applied upstream) + + 12_fix_context_of_pdaudiocf-patch remove (applied upstream) + + 14_irqreturn_fix remove (fixed upstream) + + 15_fix_configure_sparc_code remove (fixed upstream) + + 18_core_init_index.dpatch add + (Treat negative sound card index as index mask) + - ALSA-card-list + + Sync with upstream configure script, source files, INSTALL, + doc/* and Documentation/ALSA-Configuration.txt files + + Tag dummy and virtual cards as [UNREAL] + - Start alsa at 12 rather than at 20, following Ubuntu's lead + - Add /lib/alsa/modprobe-post-install to replace the script of the + same name in /usr/lib/alsa/ in the alsa-utils package; modify + /etc/mod(utils|probe.d)/alsa-base so that modprobe runs the + former rather than the latter which isn't on the root filesystem + (Closes: #288706) + - Add /lib/alsa/dev to which the dev hook symlinks all now point. + This does a run-parts on /etc/alsa/dev.d/. + - debian/control + + Depend on alsa-utils >> 1.0.7-2 since version 1.0.7-2 writes + references to /usr/lib/alsa/modprobe-post-install into + /etc/mod(utils|probe.d)/sound whereas 1.0.8-1 does not + + Remove reference to alsaconf from long description + - debian/alsa-source.templates, debian/po/* + + Refrain from translating default field of select template, as + suggested by lintian warning select-with-translated-default-field + - debian/alsa-source.control, debian/alsa-source.rules + + Don't normally Recommend a kernel-image + + Add support for KDEP variable which is used by alsa-modules-i386 + to include a Dependency on a specific kernel-image package + - debian/alsa-modules.postinst + + Reload modules if package is for running kernel + - debian/control + + Add "| kernel-source-2.4.27" to alsa-source's Recommendation + of kernel-headers. This eliminates lintian warning: + virtual-package-depends-without-real-package-depends + - debian/alsa-base.postinst + + Improve code controlling whether or not snddevices gets run + + Update dev hook symlinks + + No longer recommend running alsaconf + + Remove cruft from /etc/mod(utils|probe.d)/sound + + Handle up to eight sound cards' control devices + - debian/alsa-base.postrm + + Handle up to eight sound cards' control devices + + Remove more cruft + - debian/alsa-base.dirs + + Handle up to eight sound cards' control devices + + Eliminate /etc/udev/permissions.d/ + + Add /var/run/alsa/ + - /etc/init.d/alsa + + exit 0 unless alsa-base and alsa-utils both installed + + Identify alsactl error message as merely a warning + + 'Starting' -> 'Setting up' (Closes: #289533) + + Create /var/run/alsa/ on start if it's absent + + On force-stop, write list of removed modules to the file + /var/run/alsa/modules-removed. This is used for reloading + modules after resume. + (N.B. As of 1.0.8-2 you should use "force-unload" instead.) + + Add "suspend" method which does force-stop and "resume" + method which loads modules listed in the aforementioned file + (N.B. As of 1.0.8-2 you should use "force-unload" instead.) + - /etc/default/alsa + + Add comments + - /etc/apm/scripts.d/alsa + + Move from ../event.d/ and introduce symlinks to it from + ../suspend.d/ and ../resume.d/ + + Use new initscript "suspend" and "resume" methods + - /etc/mod(utils|probe.d)/alsa-base + + Don't alias OSS module names to "off". This was creating + too much confusion. (Closes: #287499, #290663) + + Add "options ... index=-2" for modem and tv sound card drivers. + This makes use of the index-mask feature introduced by + 18_core_init_index.dpatch (Closes: #288423) + + Add "options snd device_mode=0660" to /etc/modutils/alsa-base + + Add "alias sount-slot-[0-7] snd-card-[0-7]" + + Add "alias sound-service" lines to /etc/modprobe.d/alsa-base + + Also load snd-seq-midi above snd-seq + - /usr/share/doc/alsa-base/ + + Add useful documents from alsa-kernel/Documentation/ + to new subdirectory driver/. + - /usr/share/doc/alsa-base/README.Debian, + /usr/share/doc/alsa-source/README.Debian + + Revise + + -- Jordi Mallach Sun, 16 Jan 2005 19:59:02 +0100 + +alsa-driver (1.0.7-2) unstable; urgency=medium + + * Thomas Hood + - /etc/init.d/alsa + + Don't store mixer settings on force-stop + - /lib/discover/alsa-base.pci-device.xml + + For each entry in /lib/discover/pci-device.xml that + tells discover to load an ALSA module under Linux >= 2.6 + and an OSS module under Linux << 2.6, make an entry + that tells discover to load the ALSA module under + Linux << 2.6 too. + - /usr/share/alsa-base/OSS-module-list: + + Formerly "module-blacklist" + + Include in alsa-base package for use by alsaconf + + Remove via82cxxx from the list -- it is an IDE driver. + Sorry about that. (Closes: #284158) + - debian/control + + alsa-base Depends: alsa-utils (>> 1.0.7-1) for new alsaconf + + Description + . Discuss the need to have an ALSA driver and to run alsaconf + - debian/watch: Update + - debian/alsa-base.postrm + + Don't delete /etc/modprobe.d/sound which belongs to alsa-utils + - debian/ALSA-card-list: + + New file obtained by parsing the configure script in the + 1.0.7 alsa-driver tarball. This adds a few drivers which + have been added upstream since alsa-source.templates was + last reviewed: + . asihpi (was also in 1.0.6a) + . audigyls + . azx + . bt87x-overclock + . loopback + . portman2x4 + . sb16-csp (was also in 1.0.6a) + . via82xx-modem + + Add descriptions of these gleaned from discover-data + XML files and alsa-driver docs, Kconfig and .c files + + Revise all the descriptions using the same sources + - debian/alsa-source.control + + Tweak description and dependencies + - debian/alsa-(source|modules).post(inst|rm) + + Clean up + - debian/alsa-source.config, + debian/alsa-source.templates, + + Fix bug in code that chops module descriptions out of + strings returned by debconf (Closes: #284349) + - alsa-source.templates + + Generate alsa-source/cards template from ALSA-card-list + - debian/alsa-source.config, + debian/alsa-source.templates, + debian/po/*.po + + Lower priority of alsa-source/cards_to_be_built and make + "all" the default answer (rather than "none") + (Closes: #283708) + + Add translations for 'all' + - debian/*.templates + + Update de.po. Thanks to Jens Nachtigall! (Closes: #284293) + - /etc/modutils/alsa-base + + Add aliases + - /etc/modutils/alsa-base + /etc/modprobe.d/alsa-base + + Generate automatically in debian/rules + + Add install hook lines for every card in ALSA-card-list + + Add install block lines for every card in OSS-module-list + + -- Jordi Mallach Thu, 9 Dec 2004 12:56:43 +0100 + +alsa-driver (1.0.7-1) unstable; urgency=low + + * New upstream release (Closes: #281391) + * Thomas Hood: + - debian/patches/ + + 04_make_minus_j_fix Leave + + 09_alpha_build_fixes Leave + + 09_powerpc_build_fixes Remove obsolete + + 10_disable_gcc_version_check1 Update + + 10_disable_gcc_version_check2 Update + + 11_fix_context_of_vxpocket-patch Add + + 12_fix_context_of_pdaudiocf-patch Add + + 13_eliminate_dump_stack_warnings Add + + 14_irqreturn_fix: Leave + + 15_fix_configure_sparc_code Add + + 15_es18xx_filter_fix Remove obsolete + + 15_ppc_awacs_num_controls Remove obsolete + + 16_core_oss_framepointer Leave + + 99_debian_makefile_depmod Leave + - debian/changelog[-old] + + Move pre-1.0.0 entries into a separate "changelog-old" file + which won't get included in alsa-modules packages + - debian/control + + alsa-base: + . Depend on lsof instead of psmisc (Closes: #282755) + . Suggest discover (>= 1.0.6) which now supports + a form of blacklisting + + alsa-source: + . Depend on dpkg-dev for /usr/bin/dpkg-parsechangelog + . Adjust Recommendations and Suggestions + . Correct Description + - debian/rules + + Use dh_installinit --name rather than deprecated --init-script + - /etc/init.d/alsa, debian/alsa-base.config + + Actually implement "autosave once at next shutdown" feature + - /usr/share/alsa-base/alsa.default + + This was formerly called '.../alsa-base.conf' + - debian/alsa-base.dirs, debian/alsa-base.(linda|lintian) + + Eliminate no-longer-needed lintian and linda overrides + - debian/alsa-base.preinst + + Eliminate it because it had become a no-op + - /etc/discover.conf.d/10alsa, + /lib/discover/alsa-base.list.xml, + /lib/discover/alsa-base.pci-device.xml + + Add files posted to #268006 (with 'busclass="0000"' removed from + each device definition). This gives ALSA modules precedence + over OSS modules in discover's eyes. (Closes: #268006) + Many thanks to Jeff Licquia for adding the necessary functionality + to the discover utility and for preparing these files. + - debian/alsa-base.discover.pci-data.xslt + + Add, for future use + - debian/alsa-source.control + + alsa-modules*: Recommend alsa-base >= 1.0.6 + - debian/alsa-source.rules + + Add --with-build to CONFIGURE_OPT + + Include copyright file + + Include additional changelog file(s) + - debian/alsa-modules.preinst + + Add. Delete /usr/share/doc/alsa-modules-_KVERS_ symlink + if it still points to alsa-base + - debian/*.templates + + Fix the English, unfortunately fuzzying most translations + (Closes: #282611) + + Update ja.po. Thanks to Kenshi Muto! + + Update es.po. Thanks to Carlos Galisteo! + + Update da.po. Thanks to Morten Brix Pedersen! + + Update ru.po. Thanks to Serge Winitzki! + + Update tr.po. Thanks to Recai Oktas! (Closes: #283393) + + Update pt_BR.po. Thanks to Andre Luis Lopes! (Closes: #283411) + + Update cs.po. Thanks to Miroslav Kure! (Closes: #283340) + + Update nl.po myself, probably rather badly. + + And of course run debconf-updatepo + + Make alsa-base/alsactl_store_on_shutdown default to + "autosave once at next shutdown" + - /etc/alsa/dev.d/alsa-base + + Rename (in alsa-base.preinst) from "alsa-base.dev" because + it's now being run via run-parts + + Add sleep before alsactl restore + - debian/alsa-source.config + + Lower priorities of alsa-source/has_pnp and alsa-source/debug + (Closes: #283708) + - debian/alsa-base.NEWS + + Update + - /usr/share/doc/alsa-base/README.Debian + + Add note about assigning indices to multiple sound cards + (Closes: #282602) + - /usr/share/doc/alsa-source/README.Debian + + Overhaul + * Jordi Mallach: + - debian/po/ca.po: Updated Catalan translation. + - debian/po/fr.po: Updated French translation. Thanks, Christian Perrier! + + -- Jordi Mallach Tue, 30 Nov 2004 14:55:02 +0100 + + Earlier entries can be found in changelog-old.Debian in the alsa-base package. + --- alsa-driver-1.0.16.orig/debian/alsa-source.postinst +++ alsa-driver-1.0.16/debian/alsa-source.postinst @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +. /usr/share/debconf/confmodule +db_version 2.0 + +case "$1" in +configure|reconfigure) + # Get ALSA_PNP + db_get alsa-source/has_pnp + if [ "$RET" = "false" ]; then + NOPNP=y + fi + # Get ALSA_DEBUG + db_get alsa-source/debug + if [ "$RET" = "true" ]; then + DEBUG=y + fi + # Get ALSA_CARDS + db_get alsa-source/cards_to_be_built || : + # The following assumes that 'all' is the first item in the list! + CARDS="$( + echo "$RET" \ + | sed -e 's/^all,.*/all/' + )" + # Get ALSA_CARD_OPTIONS + if [ -f /etc/alsa/alsa-source.conf ] ; then + eval "$(grep -E '^[[:space:]]*ALSA_CARD_OPTIONS="[^"'"'"']*"[[:space:]]*$' /etc/alsa/alsa-source.conf)" + fi + # Write new /etc/alsa/alsa-source.conf + [ -e /etc/alsa ] && [ ! -d /etc/alsa ] && rm -f /etc/alsa + [ -d /etc/alsa ] || mkdir /etc/alsa + sed -e "s%^ALSA_NOPNP=.*%ALSA_NOPNP=\"$NOPNP\"%" \ + -e "s%^ALSA_DEBUG=.*%ALSA_DEBUG=\"$DEBUG\"%" \ + -e "s%^ALSA_CARDS=.*%ALSA_CARDS=\"$CARDS\"%" \ + -e "s%^ALSA_CARD_OPTIONS=.*%ALSA_CARD_OPTIONS=\"$ALSA_CARD_OPTIONS\"%" \ + /usr/share/alsa-source/alsa-source.conf \ + > /etc/alsa/alsa-source.conf + ;; +abort-upgrade|abort-remove|abort-deconfigure) + : # Nothing to do because we didn't do anything in the prerm + ;; +*) + echo "postinst called with unknown argument \`$1'" >&2; + exit 1 + ;; +esac + +#DEBHELPER# + +db_stop || : --- alsa-driver-1.0.16.orig/debian/patches/add_suspend_quirk_hp_nc6220_nw8240.patch +++ alsa-driver-1.0.16/debian/patches/add_suspend_quirk_hp_nc6220_nw8240.patch @@ -0,0 +1,18 @@ +Index: alsa-driver-1.0.16/sound/pci/intel8x0.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/intel8x0.c 2008-03-04 21:49:06.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/intel8x0.c 2008-03-04 21:53:41.000000000 -0500 +@@ -2527,6 +2527,13 @@ + * after S2RAM. So, don't touch it. + */ + /* pci_set_power_state(pci, pci_choose_state(pci, state)); */ ++ ++ /* Quirk support for HP nw8240 and HP NC6220, LP #151111 */ ++ if ((pci->subsystem_vendor == 0x103c) && ++ ((pci->subsystem_device == 0x0934) || ++ (pci->subsystem_device == 0x0944))) { ++ pci_set_power_state(pci, pci_choose_state(pci, state)); ++ } + return 0; + } + --- alsa-driver-1.0.16.orig/debian/patches/post_16_20080307.patch +++ alsa-driver-1.0.16/debian/patches/post_16_20080307.patch @@ -0,0 +1,6887 @@ +Index: alsa-driver-1.0.16/sound/pci/hda/hda_codec.h +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/hda/hda_codec.h 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/hda/hda_codec.h 2008-03-07 13:13:52.000000000 -0500 +@@ -590,11 +590,21 @@ + struct hda_pcm_ops ops; + }; + ++/* PCM types */ ++enum { ++ HDA_PCM_TYPE_AUDIO, ++ HDA_PCM_TYPE_SPDIF, ++ HDA_PCM_TYPE_HDMI, ++ HDA_PCM_TYPE_MODEM, ++ HDA_PCM_NTYPES ++}; ++ + /* for PCM creation */ + struct hda_pcm { + char *name; + struct hda_pcm_stream stream[2]; +- unsigned int is_modem; /* modem codec? */ ++ unsigned int pcm_type; /* HDA_PCM_TYPE_XXX */ ++ int device; /* assigned device number */ + }; + + /* codec information */ +Index: alsa-driver-1.0.16/sound/pci/hda/hda_intel.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/hda/hda_intel.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/hda/hda_intel.c 2008-03-07 13:20:28.000000000 -0500 +@@ -39,6 +39,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -185,35 +186,28 @@ + + /* max number of SDs */ + /* ICH, ATI and VIA have 4 playback and 4 capture */ +-#define ICH6_CAPTURE_INDEX 0 + #define ICH6_NUM_CAPTURE 4 +-#define ICH6_PLAYBACK_INDEX 4 + #define ICH6_NUM_PLAYBACK 4 + + /* ULI has 6 playback and 5 capture */ +-#define ULI_CAPTURE_INDEX 0 + #define ULI_NUM_CAPTURE 5 +-#define ULI_PLAYBACK_INDEX 5 + #define ULI_NUM_PLAYBACK 6 + + /* ATI HDMI has 1 playback and 0 capture */ +-#define ATIHDMI_CAPTURE_INDEX 0 + #define ATIHDMI_NUM_CAPTURE 0 +-#define ATIHDMI_PLAYBACK_INDEX 0 + #define ATIHDMI_NUM_PLAYBACK 1 + + /* this number is statically defined for simplicity */ + #define MAX_AZX_DEV 16 + + /* max number of fragments - we may use more if allocating more pages for BDL */ +-#define BDL_SIZE PAGE_ALIGN(8192) +-#define AZX_MAX_FRAG (BDL_SIZE / (MAX_AZX_DEV * 16)) ++#define BDL_SIZE 4096 ++#define AZX_MAX_BDL_ENTRIES (BDL_SIZE / 16) ++#define AZX_MAX_FRAG 32 + /* max buffer size - no h/w limit, you can increase as you like */ + #define AZX_MAX_BUF_SIZE (1024*1024*1024) + /* max number of PCM devics per card */ +-#define AZX_MAX_AUDIO_PCMS 6 +-#define AZX_MAX_MODEM_PCMS 2 +-#define AZX_MAX_PCMS (AZX_MAX_AUDIO_PCMS + AZX_MAX_MODEM_PCMS) ++#define AZX_MAX_PCMS 8 + + /* RIRB int mask: overrun[2], response[0] */ + #define RIRB_INT_RESPONSE 0x01 +@@ -284,12 +278,10 @@ + */ + + struct azx_dev { +- u32 *bdl; /* virtual address of the BDL */ +- dma_addr_t bdl_addr; /* physical address of the BDL */ ++ struct snd_dma_buffer bdl; /* BDL buffer */ + u32 *posbuf; /* position buffer pointer */ + + unsigned int bufsize; /* size of the play buffer in bytes */ +- unsigned int fragsize; /* size of each period in bytes */ + unsigned int frags; /* number for period in the play buffer */ + unsigned int fifo_size; /* FIFO size */ + +@@ -350,7 +342,6 @@ + struct azx_dev *azx_dev; + + /* PCM */ +- unsigned int pcm_devs; + struct snd_pcm *pcm[AZX_MAX_PCMS]; + + /* HD codec */ +@@ -361,8 +352,7 @@ + struct azx_rb corb; + struct azx_rb rirb; + +- /* BDL, CORB/RIRB and position buffers */ +- struct snd_dma_buffer bdl; ++ /* CORB/RIRB and position buffers */ + struct snd_dma_buffer rb; + struct snd_dma_buffer posbuf; + +@@ -965,30 +955,57 @@ + /* + * set up BDL entries + */ +-static void azx_setup_periods(struct azx_dev *azx_dev) ++static int azx_setup_periods(struct snd_pcm_substream *substream, ++ struct azx_dev *azx_dev) + { +- u32 *bdl = azx_dev->bdl; +- dma_addr_t dma_addr = azx_dev->substream->runtime->dma_addr; +- int idx; ++ struct snd_sg_buf *sgbuf = snd_pcm_substream_sgbuf(substream); ++ u32 *bdl; ++ int i, ofs, periods, period_bytes; + + /* reset BDL address */ + azx_sd_writel(azx_dev, SD_BDLPL, 0); + azx_sd_writel(azx_dev, SD_BDLPU, 0); + +- /* program the initial BDL entries */ +- for (idx = 0; idx < azx_dev->frags; idx++) { +- unsigned int off = idx << 2; /* 4 dword step */ +- dma_addr_t addr = dma_addr + idx * azx_dev->fragsize; +- /* program the address field of the BDL entry */ +- bdl[off] = cpu_to_le32((u32)addr); +- bdl[off+1] = cpu_to_le32(upper_32bit(addr)); +- +- /* program the size field of the BDL entry */ +- bdl[off+2] = cpu_to_le32(azx_dev->fragsize); ++ period_bytes = snd_pcm_lib_period_bytes(substream); ++ periods = azx_dev->bufsize / period_bytes; + +- /* program the IOC to enable interrupt when buffer completes */ +- bdl[off+3] = cpu_to_le32(0x01); ++ /* program the initial BDL entries */ ++ bdl = (u32 *)azx_dev->bdl.area; ++ ofs = 0; ++ azx_dev->frags = 0; ++ for (i = 0; i < periods; i++) { ++ int size, rest; ++ if (i >= AZX_MAX_BDL_ENTRIES) { ++ snd_printk(KERN_ERR "Too many BDL entries: " ++ "buffer=%d, period=%d\n", ++ azx_dev->bufsize, period_bytes); ++ /* reset */ ++ azx_sd_writel(azx_dev, SD_BDLPL, 0); ++ azx_sd_writel(azx_dev, SD_BDLPU, 0); ++ return -EINVAL; ++ } ++ rest = period_bytes; ++ do { ++ dma_addr_t addr = snd_pcm_sgbuf_get_addr(sgbuf, ofs); ++ /* program the address field of the BDL entry */ ++ bdl[0] = cpu_to_le32((u32)addr); ++ bdl[1] = cpu_to_le32(upper_32bit(addr)); ++ /* program the size field of the BDL entry */ ++ size = PAGE_SIZE - (ofs % PAGE_SIZE); ++ if (rest < size) ++ size = rest; ++ bdl[2] = cpu_to_le32(size); ++ /* program the IOC to enable interrupt ++ * only when the whole fragment is processed ++ */ ++ rest -= size; ++ bdl[3] = rest ? 0 : cpu_to_le32(0x01); ++ bdl += 4; ++ azx_dev->frags++; ++ ofs += size; ++ } while (rest > 0); + } ++ return 0; + } + + /* +@@ -1037,9 +1054,9 @@ + + /* program the BDL address */ + /* lower BDL address */ +- azx_sd_writel(azx_dev, SD_BDLPL, (u32)azx_dev->bdl_addr); ++ azx_sd_writel(azx_dev, SD_BDLPL, (u32)azx_dev->bdl.addr); + /* upper BDL address */ +- azx_sd_writel(azx_dev, SD_BDLPU, upper_32bit(azx_dev->bdl_addr)); ++ azx_sd_writel(azx_dev, SD_BDLPU, upper_32bit(azx_dev->bdl.addr)); + + /* enable the position buffer */ + if (!(azx_readl(chip, DPLBASE) & ICH6_DPLBASE_ENABLE)) +@@ -1275,8 +1292,6 @@ + struct snd_pcm_runtime *runtime = substream->runtime; + + azx_dev->bufsize = snd_pcm_lib_buffer_bytes(substream); +- azx_dev->fragsize = snd_pcm_lib_period_bytes(substream); +- azx_dev->frags = azx_dev->bufsize / azx_dev->fragsize; + azx_dev->format_val = snd_hda_calc_stream_format(runtime->rate, + runtime->channels, + runtime->format, +@@ -1288,10 +1303,10 @@ + return -EINVAL; + } + +- snd_printdd("azx_pcm_prepare: bufsize=0x%x, fragsize=0x%x, " +- "format=0x%x\n", +- azx_dev->bufsize, azx_dev->fragsize, azx_dev->format_val); +- azx_setup_periods(azx_dev); ++ snd_printdd("azx_pcm_prepare: bufsize=0x%x, format=0x%x\n", ++ azx_dev->bufsize, azx_dev->format_val); ++ if (azx_setup_periods(substream, azx_dev) < 0) ++ return -EINVAL; + azx_setup_controller(chip, azx_dev); + if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) + azx_dev->fifo_size = azx_sd_readw(azx_dev, SD_FIFOSIZE) + 1; +@@ -1378,6 +1393,7 @@ + .prepare = azx_pcm_prepare, + .trigger = azx_pcm_trigger, + .pointer = azx_pcm_pointer, ++ .page = snd_pcm_sgbuf_ops_page, + }; + + static void azx_pcm_free(struct snd_pcm *pcm) +@@ -1386,7 +1402,7 @@ + } + + static int __devinit create_codec_pcm(struct azx *chip, struct hda_codec *codec, +- struct hda_pcm *cpcm, int pcm_dev) ++ struct hda_pcm *cpcm) + { + int err; + struct snd_pcm *pcm; +@@ -1400,7 +1416,7 @@ + + snd_assert(cpcm->name, return -EINVAL); + +- err = snd_pcm_new(chip->card, cpcm->name, pcm_dev, ++ err = snd_pcm_new(chip->card, cpcm->name, cpcm->device, + cpcm->stream[0].substreams, + cpcm->stream[1].substreams, + &pcm); +@@ -1420,62 +1436,70 @@ + snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &azx_pcm_ops); + if (cpcm->stream[1].substreams) + snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &azx_pcm_ops); +- snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, ++ snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV_SG, + snd_dma_pci_data(chip->pci), + 1024 * 64, 1024 * 1024); +- chip->pcm[pcm_dev] = pcm; +- if (chip->pcm_devs < pcm_dev + 1) +- chip->pcm_devs = pcm_dev + 1; +- ++ chip->pcm[cpcm->device] = pcm; + return 0; + } + + static int __devinit azx_pcm_create(struct azx *chip) + { ++ static const char *dev_name[HDA_PCM_NTYPES] = { ++ "Audio", "SPDIF", "HDMI", "Modem" ++ }; ++ /* starting device index for each PCM type */ ++ static int dev_idx[HDA_PCM_NTYPES] = { ++ [HDA_PCM_TYPE_AUDIO] = 0, ++ [HDA_PCM_TYPE_SPDIF] = 1, ++ [HDA_PCM_TYPE_HDMI] = 3, ++ [HDA_PCM_TYPE_MODEM] = 6 ++ }; ++ /* normal audio device indices; not linear to keep compatibility */ ++ static int audio_idx[4] = { 0, 2, 4, 5 }; + struct hda_codec *codec; + int c, err; +- int pcm_dev; ++ int num_devs[HDA_PCM_NTYPES]; + + err = snd_hda_build_pcms(chip->bus); + if (err < 0) + return err; + + /* create audio PCMs */ +- pcm_dev = 0; ++ memset(num_devs, 0, sizeof(num_devs)); + list_for_each_entry(codec, &chip->bus->codec_list, list) { + for (c = 0; c < codec->num_pcms; c++) { +- if (codec->pcm_info[c].is_modem) +- continue; /* create later */ +- if (pcm_dev >= AZX_MAX_AUDIO_PCMS) { +- snd_printk(KERN_ERR SFX +- "Too many audio PCMs\n"); +- return -EINVAL; +- } +- err = create_codec_pcm(chip, codec, +- &codec->pcm_info[c], pcm_dev); +- if (err < 0) +- return err; +- pcm_dev++; +- } +- } +- +- /* create modem PCMs */ +- pcm_dev = AZX_MAX_AUDIO_PCMS; +- list_for_each_entry(codec, &chip->bus->codec_list, list) { +- for (c = 0; c < codec->num_pcms; c++) { +- if (!codec->pcm_info[c].is_modem) +- continue; /* already created */ +- if (pcm_dev >= AZX_MAX_PCMS) { +- snd_printk(KERN_ERR SFX +- "Too many modem PCMs\n"); +- return -EINVAL; ++ struct hda_pcm *cpcm = &codec->pcm_info[c]; ++ int type = cpcm->pcm_type; ++ switch (type) { ++ case HDA_PCM_TYPE_AUDIO: ++ if (num_devs[type] >= ARRAY_SIZE(audio_idx)) { ++ snd_printk(KERN_WARNING ++ "Too many audio devices\n"); ++ continue; ++ } ++ cpcm->device = audio_idx[num_devs[type]]; ++ break; ++ case HDA_PCM_TYPE_SPDIF: ++ case HDA_PCM_TYPE_HDMI: ++ case HDA_PCM_TYPE_MODEM: ++ if (num_devs[type]) { ++ snd_printk(KERN_WARNING ++ "%s already defined\n", ++ dev_name[type]); ++ continue; ++ } ++ cpcm->device = dev_idx[type]; ++ break; ++ default: ++ snd_printk(KERN_WARNING ++ "Invalid PCM type %d\n", type); ++ continue; + } +- err = create_codec_pcm(chip, codec, +- &codec->pcm_info[c], pcm_dev); ++ num_devs[type]++; ++ err = create_codec_pcm(chip, codec, cpcm); + if (err < 0) + return err; +- chip->pcm[pcm_dev]->dev_class = SNDRV_PCM_CLASS_MODEM; +- pcm_dev++; + } + } + return 0; +@@ -1502,10 +1526,7 @@ + * and initialize + */ + for (i = 0; i < chip->num_streams; i++) { +- unsigned int off = sizeof(u32) * (i * AZX_MAX_FRAG * 4); + struct azx_dev *azx_dev = &chip->azx_dev[i]; +- azx_dev->bdl = (u32 *)(chip->bdl.area + off); +- azx_dev->bdl_addr = chip->bdl.addr + off; + azx_dev->posbuf = (u32 __iomem *)(chip->posbuf.area + i * 8); + /* offset: SDI0=0x80, SDI1=0xa0, ... SDO3=0x160 */ + azx_dev->sd_addr = chip->remap_addr + (0x20 * i + 0x80); +@@ -1587,7 +1608,7 @@ + int i; + + snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); +- for (i = 0; i < chip->pcm_devs; i++) ++ for (i = 0; i < AZX_MAX_PCMS; i++) + snd_pcm_suspend_all(chip->pcm[i]); + if (chip->initialized) + snd_hda_suspend(chip->bus, state); +@@ -1641,8 +1662,9 @@ + */ + static int azx_free(struct azx *chip) + { ++ int i; ++ + if (chip->initialized) { +- int i; + for (i = 0; i < chip->num_streams; i++) + azx_stream_stop(chip, &chip->azx_dev[i]); + azx_stop_chip(chip); +@@ -1657,8 +1679,11 @@ + if (chip->remap_addr) + iounmap(chip->remap_addr); + +- if (chip->bdl.area) +- snd_dma_free_pages(&chip->bdl); ++ if (chip->azx_dev) { ++ for (i = 0; i < chip->num_streams; i++) ++ if (chip->azx_dev[i].bdl.area) ++ snd_dma_free_pages(&chip->azx_dev[i].bdl); ++ } + if (chip->rb.area) + snd_dma_free_pages(&chip->rb); + if (chip->posbuf.area) +@@ -1740,7 +1765,7 @@ + struct azx **rchip) + { + struct azx *chip; +- int err; ++ int i, err; + unsigned short gcap; + static struct snd_device_ops ops = { + .dev_free = azx_dev_free, +@@ -1812,38 +1837,35 @@ + gcap = azx_readw(chip, GCAP); + snd_printdd("chipset global capabilities = 0x%x\n", gcap); + +- if (gcap) { +- /* read number of streams from GCAP register instead of using +- * hardcoded value +- */ +- chip->playback_streams = (gcap & (0xF << 12)) >> 12; +- chip->capture_streams = (gcap & (0xF << 8)) >> 8; +- chip->playback_index_offset = (gcap & (0xF << 12)) >> 12; +- chip->capture_index_offset = 0; +- } else { ++ /* allow 64bit DMA address if supported by H/W */ ++ if ((gcap & 0x01) && !pci_set_dma_mask(pci, DMA_64BIT_MASK)) ++ pci_set_consistent_dma_mask(pci, DMA_64BIT_MASK); ++ ++ /* read number of streams from GCAP register instead of using ++ * hardcoded value ++ */ ++ chip->capture_streams = (gcap >> 8) & 0x0f; ++ chip->playback_streams = (gcap >> 12) & 0x0f; ++ if (!chip->playback_streams && !chip->capture_streams) { + /* gcap didn't give any info, switching to old method */ + + switch (chip->driver_type) { + case AZX_DRIVER_ULI: + chip->playback_streams = ULI_NUM_PLAYBACK; + chip->capture_streams = ULI_NUM_CAPTURE; +- chip->playback_index_offset = ULI_PLAYBACK_INDEX; +- chip->capture_index_offset = ULI_CAPTURE_INDEX; + break; + case AZX_DRIVER_ATIHDMI: + chip->playback_streams = ATIHDMI_NUM_PLAYBACK; + chip->capture_streams = ATIHDMI_NUM_CAPTURE; +- chip->playback_index_offset = ATIHDMI_PLAYBACK_INDEX; +- chip->capture_index_offset = ATIHDMI_CAPTURE_INDEX; + break; + default: + chip->playback_streams = ICH6_NUM_PLAYBACK; + chip->capture_streams = ICH6_NUM_CAPTURE; +- chip->playback_index_offset = ICH6_PLAYBACK_INDEX; +- chip->capture_index_offset = ICH6_CAPTURE_INDEX; + break; + } + } ++ chip->capture_index_offset = 0; ++ chip->playback_index_offset = chip->capture_streams; + chip->num_streams = chip->playback_streams + chip->capture_streams; + chip->azx_dev = kcalloc(chip->num_streams, sizeof(*chip->azx_dev), + GFP_KERNEL); +@@ -1852,13 +1874,15 @@ + goto errout; + } + +- /* allocate memory for the BDL for each stream */ +- err = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, +- snd_dma_pci_data(chip->pci), +- BDL_SIZE, &chip->bdl); +- if (err < 0) { +- snd_printk(KERN_ERR SFX "cannot allocate BDL\n"); +- goto errout; ++ for (i = 0; i < chip->num_streams; i++) { ++ /* allocate memory for the BDL for each stream */ ++ err = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, ++ snd_dma_pci_data(chip->pci), ++ BDL_SIZE, &chip->azx_dev[i].bdl); ++ if (err < 0) { ++ snd_printk(KERN_ERR SFX "cannot allocate BDL\n"); ++ goto errout; ++ } + } + /* allocate memory for the position buffer */ + err = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, +@@ -1994,48 +2018,63 @@ + + /* PCI IDs */ + static struct pci_device_id azx_ids[] = { +- { 0x8086, 0x2668, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH6 */ +- { 0x8086, 0x27d8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH7 */ +- { 0x8086, 0x269a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ESB2 */ +- { 0x8086, 0x284b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH8 */ +- { 0x8086, 0x293e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH9 */ +- { 0x8086, 0x293f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH9 */ +- { 0x8086, 0x3a3e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH10 */ +- { 0x8086, 0x3a6e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH10 */ +- { 0x8086, 0x811b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_SCH }, /* SCH*/ +- { 0x1002, 0x437b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATI }, /* ATI SB450 */ +- { 0x1002, 0x4383, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATI }, /* ATI SB600 */ +- { 0x1002, 0x793b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATIHDMI }, /* ATI RS600 HDMI */ +- { 0x1002, 0x7919, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATIHDMI }, /* ATI RS690 HDMI */ +- { 0x1002, 0x960f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATIHDMI }, /* ATI RS780 HDMI */ +- { 0x1002, 0xaa00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATIHDMI }, /* ATI R600 HDMI */ +- { 0x1002, 0xaa08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATIHDMI }, /* ATI RV630 HDMI */ +- { 0x1002, 0xaa10, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATIHDMI }, /* ATI RV610 HDMI */ +- { 0x1002, 0xaa18, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATIHDMI }, /* ATI RV670 HDMI */ +- { 0x1002, 0xaa20, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATIHDMI }, /* ATI RV635 HDMI */ +- { 0x1002, 0xaa28, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATIHDMI }, /* ATI RV620 HDMI */ +- { 0x1002, 0xaa30, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ATIHDMI }, /* ATI RV770 HDMI */ +- { 0x1106, 0x3288, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_VIA }, /* VIA VT8251/VT8237A */ +- { 0x1039, 0x7502, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_SIS }, /* SIS966 */ +- { 0x10b9, 0x5461, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ULI }, /* ULI M5461 */ +- { 0x10de, 0x026c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP51 */ +- { 0x10de, 0x0371, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP55 */ +- { 0x10de, 0x03e4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP61 */ +- { 0x10de, 0x03f0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP61 */ +- { 0x10de, 0x044a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP65 */ +- { 0x10de, 0x044b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP65 */ +- { 0x10de, 0x055c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP67 */ +- { 0x10de, 0x055d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP67 */ +- { 0x10de, 0x07fc, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP73 */ +- { 0x10de, 0x07fd, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP73 */ +- { 0x10de, 0x0774, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP77 */ +- { 0x10de, 0x0775, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP77 */ +- { 0x10de, 0x0776, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP77 */ +- { 0x10de, 0x0777, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP77 */ +- { 0x10de, 0x0ac0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP79 */ +- { 0x10de, 0x0ac1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP79 */ +- { 0x10de, 0x0ac2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP79 */ +- { 0x10de, 0x0ac3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_NVIDIA }, /* NVIDIA MCP79 */ ++ /* ICH 6..10 */ ++ { PCI_DEVICE(0x8086, 0x2668), .driver_data = AZX_DRIVER_ICH }, ++ { PCI_DEVICE(0x8086, 0x27d8), .driver_data = AZX_DRIVER_ICH }, ++ { PCI_DEVICE(0x8086, 0x269a), .driver_data = AZX_DRIVER_ICH }, ++ { PCI_DEVICE(0x8086, 0x284b), .driver_data = AZX_DRIVER_ICH }, ++ { PCI_DEVICE(0x8086, 0x293e), .driver_data = AZX_DRIVER_ICH }, ++ { PCI_DEVICE(0x8086, 0x293f), .driver_data = AZX_DRIVER_ICH }, ++ { PCI_DEVICE(0x8086, 0x3a3e), .driver_data = AZX_DRIVER_ICH }, ++ { PCI_DEVICE(0x8086, 0x3a6e), .driver_data = AZX_DRIVER_ICH }, ++ /* SCH */ ++ { PCI_DEVICE(0x8086, 0x811b), .driver_data = AZX_DRIVER_SCH }, ++ /* ATI SB 450/600 */ ++ { PCI_DEVICE(0x1002, 0x437b), .driver_data = AZX_DRIVER_ATI }, ++ { PCI_DEVICE(0x1002, 0x4383), .driver_data = AZX_DRIVER_ATI }, ++ /* ATI HDMI */ ++ { PCI_DEVICE(0x1002, 0x793b), .driver_data = AZX_DRIVER_ATIHDMI }, ++ { PCI_DEVICE(0x1002, 0x7919), .driver_data = AZX_DRIVER_ATIHDMI }, ++ { PCI_DEVICE(0x1002, 0x960f), .driver_data = AZX_DRIVER_ATIHDMI }, ++ { PCI_DEVICE(0x1002, 0xaa00), .driver_data = AZX_DRIVER_ATIHDMI }, ++ { PCI_DEVICE(0x1002, 0xaa08), .driver_data = AZX_DRIVER_ATIHDMI }, ++ { PCI_DEVICE(0x1002, 0xaa10), .driver_data = AZX_DRIVER_ATIHDMI }, ++ { PCI_DEVICE(0x1002, 0xaa18), .driver_data = AZX_DRIVER_ATIHDMI }, ++ { PCI_DEVICE(0x1002, 0xaa20), .driver_data = AZX_DRIVER_ATIHDMI }, ++ { PCI_DEVICE(0x1002, 0xaa28), .driver_data = AZX_DRIVER_ATIHDMI }, ++ { PCI_DEVICE(0x1002, 0xaa30), .driver_data = AZX_DRIVER_ATIHDMI }, ++ { PCI_DEVICE(0x1002, 0xaa38), .driver_data = AZX_DRIVER_ATIHDMI }, ++ { PCI_DEVICE(0x1002, 0xaa40), .driver_data = AZX_DRIVER_ATIHDMI }, ++ { PCI_DEVICE(0x1002, 0xaa48), .driver_data = AZX_DRIVER_ATIHDMI }, ++ /* VIA VT8251/VT8237A */ ++ { PCI_DEVICE(0x1106, 0x3288), .driver_data = AZX_DRIVER_VIA }, ++ /* SIS966 */ ++ { PCI_DEVICE(0x1039, 0x7502), .driver_data = AZX_DRIVER_SIS }, ++ /* ULI M5461 */ ++ { PCI_DEVICE(0x10b9, 0x5461), .driver_data = AZX_DRIVER_ULI }, ++ /* NVIDIA MCP */ ++ { PCI_DEVICE(0x10de, 0x026c), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x0371), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x03e4), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x03f0), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x044a), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x044b), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x055c), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x055d), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x0774), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x0775), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x0776), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x0777), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x07fc), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x07fd), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x0ac0), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x0ac1), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x0ac2), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x0ac3), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x0bd4), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x0bd5), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x0bd6), .driver_data = AZX_DRIVER_NVIDIA }, ++ { PCI_DEVICE(0x10de, 0x0bd7), .driver_data = AZX_DRIVER_NVIDIA }, + { 0, } + }; + MODULE_DEVICE_TABLE(pci, azx_ids); +Index: alsa-driver-1.0.16/sound/pci/hda/patch_analog.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/hda/patch_analog.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/hda/patch_analog.c 2008-03-07 13:13:52.000000000 -0500 +@@ -28,6 +28,7 @@ + #include + #include "hda_codec.h" + #include "hda_local.h" ++#include "hda_patch.h" + + struct ad198x_spec { + struct snd_kcontrol_new *mixers[5]; +@@ -171,6 +172,11 @@ + err = snd_hda_create_spdif_out_ctls(codec, spec->multiout.dig_out_nid); + if (err < 0) + return err; ++ err = snd_hda_create_spdif_share_sw(codec, ++ &spec->multiout); ++ if (err < 0) ++ return err; ++ spec->multiout.share_spdif = 1; + } + if (spec->dig_in_nid) { + err = snd_hda_create_spdif_in_ctls(codec, spec->dig_in_nid); +@@ -217,7 +223,8 @@ + struct snd_pcm_substream *substream) + { + struct ad198x_spec *spec = codec->spec; +- return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream); ++ return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream, ++ hinfo); + } + + static int ad198x_playback_pcm_prepare(struct hda_pcm_stream *hinfo, +@@ -359,6 +366,7 @@ + info++; + codec->num_pcms++; + info->name = "AD198x Digital"; ++ info->pcm_type = HDA_PCM_TYPE_SPDIF; + info->stream[SNDRV_PCM_STREAM_PLAYBACK] = ad198x_pcm_digital_playback; + info->stream[SNDRV_PCM_STREAM_PLAYBACK].nid = spec->multiout.dig_out_nid; + if (spec->dig_in_nid) { +@@ -611,13 +619,19 @@ + }, + }; + ++static struct hda_input_mux ad1986a_automic_capture_source = { ++ .num_items = 2, ++ .items = { ++ { "Mic", 0x0 }, ++ { "Mix", 0x5 }, ++ }, ++}; ++ + static struct snd_kcontrol_new ad1986a_laptop_eapd_mixers[] = { + HDA_BIND_VOL("Master Playback Volume", &ad1986a_laptop_master_vol), + HDA_BIND_SW("Master Playback Switch", &ad1986a_laptop_master_sw), + HDA_CODEC_VOLUME("PCM Playback Volume", 0x03, 0x0, HDA_OUTPUT), + HDA_CODEC_MUTE("PCM Playback Switch", 0x03, 0x0, HDA_OUTPUT), +- HDA_CODEC_VOLUME("Internal Mic Playback Volume", 0x17, 0x0, HDA_OUTPUT), +- HDA_CODEC_MUTE("Internal Mic Playback Switch", 0x17, 0x0, HDA_OUTPUT), + HDA_CODEC_VOLUME("Mic Playback Volume", 0x13, 0x0, HDA_OUTPUT), + HDA_CODEC_MUTE("Mic Playback Switch", 0x13, 0x0, HDA_OUTPUT), + HDA_CODEC_VOLUME("Mic Boost", 0x0f, 0x0, HDA_OUTPUT), +@@ -641,6 +655,33 @@ + { } /* end */ + }; + ++/* re-connect the mic boost input according to the jack sensing */ ++static void ad1986a_automic(struct hda_codec *codec) ++{ ++ unsigned int present; ++ present = snd_hda_codec_read(codec, 0x1f, 0, AC_VERB_GET_PIN_SENSE, 0); ++ /* 0 = 0x1f, 2 = 0x1d, 4 = mixed */ ++ snd_hda_codec_write(codec, 0x0f, 0, AC_VERB_SET_CONNECT_SEL, ++ (present & AC_PINSENSE_PRESENCE) ? 0 : 2); ++} ++ ++#define AD1986A_MIC_EVENT 0x36 ++ ++static void ad1986a_automic_unsol_event(struct hda_codec *codec, ++ unsigned int res) ++{ ++ if ((res >> 26) != AD1986A_MIC_EVENT) ++ return; ++ ad1986a_automic(codec); ++} ++ ++static int ad1986a_automic_init(struct hda_codec *codec) ++{ ++ ad198x_init(codec); ++ ad1986a_automic(codec); ++ return 0; ++} ++ + /* laptop-automute - 2ch only */ + + static void ad1986a_update_hp(struct hda_codec *codec) +@@ -844,6 +885,15 @@ + {} + }; + ++static struct hda_verb ad1986a_automic_verbs[] = { ++ {0x1d, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80}, ++ {0x1f, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80}, ++ /*{0x20, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},*/ ++ {0x0f, AC_VERB_SET_CONNECT_SEL, 0x0}, ++ {0x1f, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | AD1986A_MIC_EVENT}, ++ {} ++}; ++ + /* Ultra initialization */ + static struct hda_verb ad1986a_ultra_init[] = { + /* eapd initialization */ +@@ -986,14 +1036,17 @@ + break; + case AD1986A_LAPTOP_EAPD: + spec->mixers[0] = ad1986a_laptop_eapd_mixers; +- spec->num_init_verbs = 2; ++ spec->num_init_verbs = 3; + spec->init_verbs[1] = ad1986a_eapd_init_verbs; ++ spec->init_verbs[2] = ad1986a_automic_verbs; + spec->multiout.max_channels = 2; + spec->multiout.num_dacs = 1; + spec->multiout.dac_nids = ad1986a_laptop_dac_nids; + if (!is_jack_available(codec, 0x25)) + spec->multiout.dig_out_nid = 0; +- spec->input_mux = &ad1986a_laptop_eapd_capture_source; ++ spec->input_mux = &ad1986a_automic_capture_source; ++ codec->patch_ops.unsol_event = ad1986a_automic_unsol_event; ++ codec->patch_ops.init = ad1986a_automic_init; + break; + case AD1986A_LAPTOP_AUTOMUTE: + spec->mixers[0] = ad1986a_laptop_automute_mixers; +@@ -1365,7 +1418,10 @@ + + if (! ad198x_eapd_put(kcontrol, ucontrol)) + return 0; +- ++ /* change speaker pin appropriately */ ++ snd_hda_codec_write(codec, 0x05, 0, ++ AC_VERB_SET_PIN_WIDGET_CONTROL, ++ spec->cur_eapd ? PIN_OUT : 0); + /* toggle HP mute appropriately */ + snd_hda_codec_amp_stereo(codec, 0x06, HDA_OUTPUT, 0, + HDA_AMP_MUTE, +@@ -1778,9 +1834,9 @@ + static struct hda_input_mux ad1988_6stack_capture_source = { + .num_items = 5, + .items = { +- { "Front Mic", 0x0 }, +- { "Line", 0x1 }, +- { "Mic", 0x4 }, ++ { "Front Mic", 0x1 }, /* port-B */ ++ { "Line", 0x2 }, /* port-C */ ++ { "Mic", 0x4 }, /* port-E */ + { "CD", 0x5 }, + { "Mix", 0x9 }, + }, +@@ -1789,7 +1845,7 @@ + static struct hda_input_mux ad1988_laptop_capture_source = { + .num_items = 3, + .items = { +- { "Mic/Line", 0x0 }, ++ { "Mic/Line", 0x1 }, /* port-B */ + { "CD", 0x5 }, + { "Mix", 0x9 }, + }, +@@ -3133,11 +3189,12 @@ + * Lenovo Thinkpad T61/X61 + */ + static struct hda_input_mux ad1984_thinkpad_capture_source = { +- .num_items = 3, ++ .num_items = 4, + .items = { + { "Mic", 0x0 }, + { "Internal Mic", 0x1 }, + { "Mix", 0x3 }, ++ { "Docking-Station", 0x4 }, + }, + }; + +@@ -3356,6 +3413,375 @@ + + + /* ++ * AD1883 / AD1884A / AD1984A / AD1984B ++ * ++ * port-B (0x14) - front mic-in ++ * port-E (0x1c) - rear mic-in ++ * port-F (0x16) - CD / ext out ++ * port-C (0x15) - rear line-in ++ * port-D (0x12) - rear line-out ++ * port-A (0x11) - front hp-out ++ * ++ * AD1984A = AD1884A + digital-mic ++ * AD1883 = equivalent with AD1984A ++ * AD1984B = AD1984A + extra SPDIF-out ++ * ++ * FIXME: ++ * We share the single DAC for both HP and line-outs (see AD1884/1984). ++ */ ++ ++static hda_nid_t ad1884a_dac_nids[1] = { ++ 0x03, ++}; ++ ++#define ad1884a_adc_nids ad1884_adc_nids ++#define ad1884a_capsrc_nids ad1884_capsrc_nids ++ ++#define AD1884A_SPDIF_OUT 0x02 ++ ++static struct hda_input_mux ad1884a_capture_source = { ++ .num_items = 5, ++ .items = { ++ { "Front Mic", 0x0 }, ++ { "Mic", 0x4 }, ++ { "Line", 0x1 }, ++ { "CD", 0x2 }, ++ { "Mix", 0x3 }, ++ }, ++}; ++ ++static struct snd_kcontrol_new ad1884a_base_mixers[] = { ++ HDA_CODEC_VOLUME("Master Playback Volume", 0x21, 0x0, HDA_OUTPUT), ++ HDA_CODEC_MUTE("Master Playback Switch", 0x21, 0x0, HDA_OUTPUT), ++ HDA_CODEC_MUTE("Headphone Playback Switch", 0x11, 0x0, HDA_OUTPUT), ++ HDA_CODEC_MUTE("Front Playback Switch", 0x12, 0x0, HDA_OUTPUT), ++ HDA_CODEC_VOLUME_MONO("Mono Playback Volume", 0x13, 1, 0x0, HDA_OUTPUT), ++ HDA_CODEC_MUTE_MONO("Mono Playback Switch", 0x13, 1, 0x0, HDA_OUTPUT), ++ HDA_CODEC_VOLUME("PCM Playback Volume", 0x20, 0x5, HDA_INPUT), ++ HDA_CODEC_MUTE("PCM Playback Switch", 0x20, 0x5, HDA_INPUT), ++ HDA_CODEC_VOLUME("Front Mic Playback Volume", 0x20, 0x00, HDA_INPUT), ++ HDA_CODEC_MUTE("Front Mic Playback Switch", 0x20, 0x00, HDA_INPUT), ++ HDA_CODEC_VOLUME("Line Playback Volume", 0x20, 0x01, HDA_INPUT), ++ HDA_CODEC_MUTE("Line Playback Switch", 0x20, 0x01, HDA_INPUT), ++ HDA_CODEC_VOLUME("Mic Playback Volume", 0x20, 0x04, HDA_INPUT), ++ HDA_CODEC_MUTE("Mic Playback Switch", 0x20, 0x04, HDA_INPUT), ++ HDA_CODEC_VOLUME("CD Playback Volume", 0x20, 0x02, HDA_INPUT), ++ HDA_CODEC_MUTE("CD Playback Switch", 0x20, 0x02, HDA_INPUT), ++ HDA_CODEC_VOLUME("Beep Playback Volume", 0x20, 0x03, HDA_INPUT), ++ HDA_CODEC_MUTE("Beep Playback Switch", 0x20, 0x03, HDA_INPUT), ++ HDA_CODEC_VOLUME("Front Mic Boost", 0x14, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME("Line Boost", 0x15, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME("Mic Boost", 0x25, 0x0, HDA_OUTPUT), ++ HDA_CODEC_VOLUME("Capture Volume", 0x0c, 0x0, HDA_OUTPUT), ++ HDA_CODEC_MUTE("Capture Switch", 0x0c, 0x0, HDA_OUTPUT), ++ HDA_CODEC_VOLUME_IDX("Capture Volume", 1, 0x0d, 0x0, HDA_OUTPUT), ++ HDA_CODEC_MUTE_IDX("Capture Switch", 1, 0x0d, 0x0, HDA_OUTPUT), ++ { ++ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, ++ /* The multiple "Capture Source" controls confuse alsamixer ++ * So call somewhat different.. ++ */ ++ /* .name = "Capture Source", */ ++ .name = "Input Source", ++ .count = 2, ++ .info = ad198x_mux_enum_info, ++ .get = ad198x_mux_enum_get, ++ .put = ad198x_mux_enum_put, ++ }, ++ /* SPDIF controls */ ++ HDA_CODEC_VOLUME("IEC958 Playback Volume", 0x1b, 0x0, HDA_OUTPUT), ++ { ++ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, ++ .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Source", ++ /* identical with ad1983 */ ++ .info = ad1983_spdif_route_info, ++ .get = ad1983_spdif_route_get, ++ .put = ad1983_spdif_route_put, ++ }, ++ { } /* end */ ++}; ++ ++/* ++ * initialization verbs ++ */ ++static struct hda_verb ad1884a_init_verbs[] = { ++ /* DACs; unmute as default */ ++ {0x03, AC_VERB_SET_AMP_GAIN_MUTE, 0x27}, /* 0dB */ ++ {0x04, AC_VERB_SET_AMP_GAIN_MUTE, 0x27}, /* 0dB */ ++ /* Port-A (HP) mixer - route only from analog mixer */ ++ {0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)}, ++ {0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, ++ /* Port-A pin */ ++ {0x11, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, ++ {0x11, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, ++ /* Port-D (Line-out) mixer - route only from analog mixer */ ++ {0x0a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)}, ++ {0x0a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, ++ /* Port-D pin */ ++ {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, ++ {0x12, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, ++ /* Mono-out mixer - route only from analog mixer */ ++ {0x1e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)}, ++ {0x1e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, ++ /* Mono-out pin */ ++ {0x13, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, ++ {0x13, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, ++ /* Port-B (front mic) pin */ ++ {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80}, ++ {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, ++ /* Port-C (rear line-in) pin */ ++ {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, ++ {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, ++ /* Port-E (rear mic) pin */ ++ {0x1c, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80}, ++ {0x1c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, ++ {0x25, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO}, /* no boost */ ++ /* Port-F (CD) pin */ ++ {0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, ++ {0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, ++ /* Analog mixer; mute as default */ ++ {0x20, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)}, ++ {0x20, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)}, ++ {0x20, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(2)}, ++ {0x20, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(3)}, ++ {0x20, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(4)}, /* aux */ ++ {0x20, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(5)}, ++ /* Analog Mix output amp */ ++ {0x21, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, ++ /* capture sources */ ++ {0x0c, AC_VERB_SET_CONNECT_SEL, 0x0}, ++ {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, ++ {0x0d, AC_VERB_SET_CONNECT_SEL, 0x0}, ++ {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, ++ /* SPDIF output amp */ ++ {0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE | 0x27}, /* 0dB */ ++ { } /* end */ ++}; ++ ++#ifdef CONFIG_SND_HDA_POWER_SAVE ++static struct hda_amp_list ad1884a_loopbacks[] = { ++ { 0x20, HDA_INPUT, 0 }, /* Front Mic */ ++ { 0x20, HDA_INPUT, 1 }, /* Mic */ ++ { 0x20, HDA_INPUT, 2 }, /* CD */ ++ { 0x20, HDA_INPUT, 4 }, /* Docking */ ++ { } /* end */ ++}; ++#endif ++ ++/* ++ * Laptop model ++ * ++ * Port A: Headphone jack ++ * Port B: MIC jack ++ * Port C: Internal MIC ++ * Port D: Dock Line Out (if enabled) ++ * Port E: Dock Line In (if enabled) ++ * Port F: Internal speakers ++ */ ++ ++static struct hda_input_mux ad1884a_laptop_capture_source = { ++ .num_items = 4, ++ .items = { ++ { "Mic", 0x0 }, /* port-B */ ++ { "Internal Mic", 0x1 }, /* port-C */ ++ { "Dock Mic", 0x4 }, /* port-E */ ++ { "Mix", 0x3 }, ++ }, ++}; ++ ++static struct snd_kcontrol_new ad1884a_laptop_mixers[] = { ++ HDA_CODEC_VOLUME("Master Playback Volume", 0x21, 0x0, HDA_OUTPUT), ++ HDA_CODEC_MUTE("Master Playback Switch", 0x21, 0x0, HDA_OUTPUT), ++ HDA_CODEC_MUTE("Dock Playback Switch", 0x12, 0x0, HDA_OUTPUT), ++ HDA_CODEC_VOLUME("PCM Playback Volume", 0x20, 0x5, HDA_INPUT), ++ HDA_CODEC_MUTE("PCM Playback Switch", 0x20, 0x5, HDA_INPUT), ++ HDA_CODEC_VOLUME("Mic Playback Volume", 0x20, 0x00, HDA_INPUT), ++ HDA_CODEC_MUTE("Mic Playback Switch", 0x20, 0x00, HDA_INPUT), ++ HDA_CODEC_VOLUME("Internal Mic Playback Volume", 0x20, 0x01, HDA_INPUT), ++ HDA_CODEC_MUTE("Internal Mic Playback Switch", 0x20, 0x01, HDA_INPUT), ++ HDA_CODEC_VOLUME("Dock Mic Playback Volume", 0x20, 0x04, HDA_INPUT), ++ HDA_CODEC_MUTE("Dock Mic Playback Switch", 0x20, 0x04, HDA_INPUT), ++ HDA_CODEC_VOLUME("Beep Playback Volume", 0x20, 0x03, HDA_INPUT), ++ HDA_CODEC_MUTE("Beep Playback Switch", 0x20, 0x03, HDA_INPUT), ++ HDA_CODEC_VOLUME("Mic Boost", 0x14, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME("Internal Mic Boost", 0x15, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME("Dock Mic Boost", 0x25, 0x0, HDA_OUTPUT), ++ HDA_CODEC_VOLUME("Capture Volume", 0x0c, 0x0, HDA_OUTPUT), ++ HDA_CODEC_MUTE("Capture Switch", 0x0c, 0x0, HDA_OUTPUT), ++ HDA_CODEC_VOLUME_IDX("Capture Volume", 1, 0x0d, 0x0, HDA_OUTPUT), ++ HDA_CODEC_MUTE_IDX("Capture Switch", 1, 0x0d, 0x0, HDA_OUTPUT), ++ { ++ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, ++ /* The multiple "Capture Source" controls confuse alsamixer ++ * So call somewhat different.. ++ */ ++ /* .name = "Capture Source", */ ++ .name = "Input Source", ++ .count = 2, ++ .info = ad198x_mux_enum_info, ++ .get = ad198x_mux_enum_get, ++ .put = ad198x_mux_enum_put, ++ }, ++ { } /* end */ ++}; ++ ++static struct hda_input_mux ad1884a_mobile_capture_source = { ++ .num_items = 2, ++ .items = { ++ { "Mic", 0x1 }, /* port-C */ ++ { "Mix", 0x3 }, ++ }, ++}; ++ ++static struct snd_kcontrol_new ad1884a_mobile_mixers[] = { ++ HDA_CODEC_VOLUME("Master Playback Volume", 0x21, 0x0, HDA_OUTPUT), ++ HDA_CODEC_MUTE("Master Playback Switch", 0x21, 0x0, HDA_OUTPUT), ++ HDA_CODEC_VOLUME("PCM Playback Volume", 0x20, 0x5, HDA_INPUT), ++ HDA_CODEC_MUTE("PCM Playback Switch", 0x20, 0x5, HDA_INPUT), ++ HDA_CODEC_VOLUME("Mic Playback Volume", 0x20, 0x01, HDA_INPUT), ++ HDA_CODEC_MUTE("Mic Playback Switch", 0x20, 0x01, HDA_INPUT), ++ HDA_CODEC_VOLUME("Beep Playback Volume", 0x20, 0x03, HDA_INPUT), ++ HDA_CODEC_MUTE("Beep Playback Switch", 0x20, 0x03, HDA_INPUT), ++ HDA_CODEC_VOLUME("Mic Boost", 0x15, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME("Capture Volume", 0x0c, 0x0, HDA_OUTPUT), ++ HDA_CODEC_MUTE("Capture Switch", 0x0c, 0x0, HDA_OUTPUT), ++ { ++ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, ++ .name = "Capture Source", ++ .info = ad198x_mux_enum_info, ++ .get = ad198x_mux_enum_get, ++ .put = ad198x_mux_enum_put, ++ }, ++ { } /* end */ ++}; ++ ++/* mute internal speaker if HP is plugged */ ++static void ad1884a_hp_automute(struct hda_codec *codec) ++{ ++ unsigned int present; ++ ++ present = snd_hda_codec_read(codec, 0x11, 0, ++ AC_VERB_GET_PIN_SENSE, 0) & 0x80000000; ++ snd_hda_codec_amp_stereo(codec, 0x16, HDA_OUTPUT, 0, ++ HDA_AMP_MUTE, present ? HDA_AMP_MUTE : 0); ++ snd_hda_codec_write(codec, 0x16, 0, AC_VERB_SET_EAPD_BTLENABLE, ++ present ? 0x00 : 0x02); ++} ++ ++#define AD1884A_HP_EVENT 0x37 ++ ++/* unsolicited event for HP jack sensing */ ++static void ad1884a_hp_unsol_event(struct hda_codec *codec, unsigned int res) ++{ ++ if ((res >> 26) != AD1884A_HP_EVENT) ++ return; ++ ad1884a_hp_automute(codec); ++} ++ ++/* initialize jack-sensing, too */ ++static int ad1884a_hp_init(struct hda_codec *codec) ++{ ++ ad198x_init(codec); ++ ad1884a_hp_automute(codec); ++ return 0; ++} ++ ++/* additional verbs for laptop model */ ++static struct hda_verb ad1884a_laptop_verbs[] = { ++ /* Port-A (HP) pin - always unmuted */ ++ {0x11, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, ++ /* Port-F (int speaker) mixer - route only from analog mixer */ ++ {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)}, ++ {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, ++ /* Port-F pin */ ++ {0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, ++ {0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, ++ /* analog mix */ ++ {0x20, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(4)}, ++ /* unsolicited event for pin-sense */ ++ {0x11, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | AD1884A_HP_EVENT}, ++ { } /* end */ ++}; ++ ++/* ++ */ ++ ++enum { ++ AD1884A_DESKTOP, ++ AD1884A_LAPTOP, ++ AD1884A_MOBILE, ++ AD1884A_MODELS ++}; ++ ++static const char *ad1884a_models[AD1884A_MODELS] = { ++ [AD1884A_DESKTOP] = "desktop", ++ [AD1884A_LAPTOP] = "laptop", ++ [AD1884A_MOBILE] = "mobile", ++}; ++ ++static struct snd_pci_quirk ad1884a_cfg_tbl[] = { ++ SND_PCI_QUIRK(0x103c, 0x3030, "HP", AD1884A_MOBILE), ++ {} ++}; ++ ++static int patch_ad1884a(struct hda_codec *codec) ++{ ++ struct ad198x_spec *spec; ++ int board_config; ++ ++ spec = kzalloc(sizeof(*spec), GFP_KERNEL); ++ if (spec == NULL) ++ return -ENOMEM; ++ ++ mutex_init(&spec->amp_mutex); ++ codec->spec = spec; ++ ++ spec->multiout.max_channels = 2; ++ spec->multiout.num_dacs = ARRAY_SIZE(ad1884a_dac_nids); ++ spec->multiout.dac_nids = ad1884a_dac_nids; ++ spec->multiout.dig_out_nid = AD1884A_SPDIF_OUT; ++ spec->num_adc_nids = ARRAY_SIZE(ad1884a_adc_nids); ++ spec->adc_nids = ad1884a_adc_nids; ++ spec->capsrc_nids = ad1884a_capsrc_nids; ++ spec->input_mux = &ad1884a_capture_source; ++ spec->num_mixers = 1; ++ spec->mixers[0] = ad1884a_base_mixers; ++ spec->num_init_verbs = 1; ++ spec->init_verbs[0] = ad1884a_init_verbs; ++ spec->spdif_route = 0; ++#ifdef CONFIG_SND_HDA_POWER_SAVE ++ spec->loopback.amplist = ad1884a_loopbacks; ++#endif ++ codec->patch_ops = ad198x_patch_ops; ++ ++ /* override some parameters */ ++ board_config = snd_hda_check_board_config(codec, AD1884A_MODELS, ++ ad1884a_models, ++ ad1884a_cfg_tbl); ++ switch (board_config) { ++ case AD1884A_LAPTOP: ++ spec->mixers[0] = ad1884a_laptop_mixers; ++ spec->init_verbs[spec->num_init_verbs++] = ad1884a_laptop_verbs; ++ spec->multiout.dig_out_nid = 0; ++ spec->input_mux = &ad1884a_laptop_capture_source; ++ codec->patch_ops.unsol_event = ad1884a_hp_unsol_event; ++ codec->patch_ops.init = ad1884a_hp_init; ++ break; ++ case AD1884A_MOBILE: ++ spec->mixers[0] = ad1884a_mobile_mixers; ++ spec->init_verbs[spec->num_init_verbs++] = ad1884a_laptop_verbs; ++ spec->multiout.dig_out_nid = 0; ++ spec->input_mux = &ad1884a_mobile_capture_source; ++ codec->patch_ops.unsol_event = ad1884a_hp_unsol_event; ++ codec->patch_ops.init = ad1884a_hp_init; ++ break; ++ } ++ ++ return 0; ++} ++ ++ ++/* + * AD1882 + * + * port-A - front hp-out +@@ -3654,8 +4080,12 @@ + * patch entries + */ + struct hda_codec_preset snd_hda_preset_analog[] = { ++ { .id = 0x11d4184a, .name = "AD1884A", .patch = patch_ad1884a }, + { .id = 0x11d41882, .name = "AD1882", .patch = patch_ad1882 }, ++ { .id = 0x11d41883, .name = "AD1883", .patch = patch_ad1884a }, + { .id = 0x11d41884, .name = "AD1884", .patch = patch_ad1884 }, ++ { .id = 0x11d4194a, .name = "AD1984A", .patch = patch_ad1884a }, ++ { .id = 0x11d4194b, .name = "AD1984B", .patch = patch_ad1884a }, + { .id = 0x11d41981, .name = "AD1981", .patch = patch_ad1981 }, + { .id = 0x11d41983, .name = "AD1983", .patch = patch_ad1983 }, + { .id = 0x11d41984, .name = "AD1984", .patch = patch_ad1984 }, +Index: alsa-driver-1.0.16/sound/pci/hda/patch_atihdmi.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/hda/patch_atihdmi.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/hda/patch_atihdmi.c 2008-03-07 13:13:52.000000000 -0500 +@@ -27,6 +27,7 @@ + #include + #include "hda_codec.h" + #include "hda_local.h" ++#include "hda_patch.h" + + struct atihdmi_spec { + struct hda_multi_out multiout; +@@ -116,6 +117,7 @@ + codec->pcm_info = info; + + info->name = "ATI HDMI"; ++ info->pcm_type = HDA_PCM_TYPE_HDMI; + info->stream[SNDRV_PCM_STREAM_PLAYBACK] = atihdmi_pcm_digital_playback; + + return 0; +@@ -162,6 +164,7 @@ + { .id = 0x10027919, .name = "ATI RS600 HDMI", .patch = patch_atihdmi }, + { .id = 0x1002791a, .name = "ATI RS690/780 HDMI", .patch = patch_atihdmi }, + { .id = 0x1002aa01, .name = "ATI R6xx HDMI", .patch = patch_atihdmi }, +- { .id = 0x10951392, .name = "SI HDMI", .patch = patch_atihdmi }, ++ { .id = 0x10951392, .name = "SiI1392 HDMI", .patch = patch_atihdmi }, ++ { .id = 0x17e80047, .name = "Chrontel HDMI", .patch = patch_atihdmi }, + {} /* terminator */ + }; +Index: alsa-driver-1.0.16/sound/pci/hda/patch_cmedia.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/hda/patch_cmedia.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/hda/patch_cmedia.c 2008-03-07 13:13:52.000000000 -0500 +@@ -28,6 +28,7 @@ + #include + #include "hda_codec.h" + #include "hda_local.h" ++#include "hda_patch.h" + #define NUM_PINS 11 + + +@@ -329,6 +330,11 @@ + err = snd_hda_create_spdif_out_ctls(codec, spec->multiout.dig_out_nid); + if (err < 0) + return err; ++ err = snd_hda_create_spdif_share_sw(codec, ++ &spec->multiout); ++ if (err < 0) ++ return err; ++ spec->multiout.share_spdif = 1; + } + if (spec->dig_in_nid) { + err = snd_hda_create_spdif_in_ctls(codec, spec->dig_in_nid); +@@ -432,7 +438,8 @@ + struct snd_pcm_substream *substream) + { + struct cmi_spec *spec = codec->spec; +- return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream); ++ return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream, ++ hinfo); + } + + static int cmi9880_playback_pcm_prepare(struct hda_pcm_stream *hinfo, +@@ -571,6 +578,7 @@ + codec->num_pcms++; + info++; + info->name = "CMI9880 Digital"; ++ info->pcm_type = HDA_PCM_TYPE_SPDIF; + if (spec->multiout.dig_out_nid) { + info->stream[SNDRV_PCM_STREAM_PLAYBACK] = cmi9880_pcm_digital_playback; + info->stream[SNDRV_PCM_STREAM_PLAYBACK].nid = spec->multiout.dig_out_nid; +Index: alsa-driver-1.0.16/sound/pci/hda/patch_conexant.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/hda/patch_conexant.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/hda/patch_conexant.c 2008-03-07 13:20:10.000000000 -0500 +@@ -27,6 +27,7 @@ + #include + #include "hda_codec.h" + #include "hda_local.h" ++#include "hda_patch.h" + + #define CXT_PIN_DIR_IN 0x00 + #define CXT_PIN_DIR_OUT 0x01 +@@ -98,7 +99,8 @@ + struct snd_pcm_substream *substream) + { + struct conexant_spec *spec = codec->spec; +- return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream); ++ return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream, ++ hinfo); + } + + static int conexant_playback_pcm_prepare(struct hda_pcm_stream *hinfo, +@@ -284,6 +286,7 @@ + info++; + codec->num_pcms++; + info->name = "Conexant Digital"; ++ info->pcm_type = HDA_PCM_TYPE_SPDIF; + info->stream[SNDRV_PCM_STREAM_PLAYBACK] = + conexant_pcm_digital_playback; + info->stream[SNDRV_PCM_STREAM_PLAYBACK].nid = +@@ -371,6 +374,11 @@ + spec->multiout.dig_out_nid); + if (err < 0) + return err; ++ err = snd_hda_create_spdif_share_sw(codec, ++ &spec->multiout); ++ if (err < 0) ++ return err; ++ spec->multiout.share_spdif = 1; + } + if (spec->dig_in_nid) { + err = snd_hda_create_spdif_in_ctls(codec,spec->dig_in_nid); +@@ -511,6 +519,14 @@ + } + }; + ++static struct hda_input_mux cxt5045_capture_source_hp530 = { ++ .num_items = 2, ++ .items = { ++ { "ExtMic", 0x1 }, ++ { "IntMic", 0x2 }, ++ } ++}; ++ + /* turn on/off EAPD (+ mute HP) as a master switch */ + static int cxt5045_hp_master_sw_put(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +@@ -639,6 +655,37 @@ + {} + }; + ++static struct snd_kcontrol_new cxt5045_mixers_hp530[] = { ++ { ++ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, ++ .name = "Capture Source", ++ .info = conexant_mux_enum_info, ++ .get = conexant_mux_enum_get, ++ .put = conexant_mux_enum_put ++ }, ++ HDA_CODEC_VOLUME("Int Mic Capture Volume", 0x1a, 0x02, HDA_INPUT), ++ HDA_CODEC_MUTE("Int Mic Capture Switch", 0x1a, 0x02, HDA_INPUT), ++ HDA_CODEC_VOLUME("Ext Mic Capture Volume", 0x1a, 0x01, HDA_INPUT), ++ HDA_CODEC_MUTE("Ext Mic Capture Switch", 0x1a, 0x01, HDA_INPUT), ++ HDA_CODEC_VOLUME("PCM Playback Volume", 0x17, 0x0, HDA_INPUT), ++ HDA_CODEC_MUTE("PCM Playback Switch", 0x17, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME("Int Mic Playback Volume", 0x17, 0x2, HDA_INPUT), ++ HDA_CODEC_MUTE("Int Mic Playback Switch", 0x17, 0x2, HDA_INPUT), ++ HDA_CODEC_VOLUME("Ext Mic Playback Volume", 0x17, 0x1, HDA_INPUT), ++ HDA_CODEC_MUTE("Ext Mic Playback Switch", 0x17, 0x1, HDA_INPUT), ++ HDA_BIND_VOL("Master Playback Volume", &cxt5045_hp_bind_master_vol), ++ { ++ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, ++ .name = "Master Playback Switch", ++ .info = cxt_eapd_info, ++ .get = cxt_eapd_get, ++ .put = cxt5045_hp_master_sw_put, ++ .private_value = 0x10, ++ }, ++ ++ {} ++}; ++ + static struct hda_verb cxt5045_init_verbs[] = { + /* Line in, Mic */ + {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN }, +@@ -833,6 +880,7 @@ + CXT5045_LAPTOP_MICSENSE, + CXT5045_LAPTOP_HPMICSENSE, + CXT5045_BENQ, ++ CXT5045_LAPTOP_HP530, + #ifdef CONFIG_SND_DEBUG + CXT5045_TEST, + #endif +@@ -844,6 +892,7 @@ + [CXT5045_LAPTOP_MICSENSE] = "laptop-micsense", + [CXT5045_LAPTOP_HPMICSENSE] = "laptop-hpmicsense", + [CXT5045_BENQ] = "benq", ++ [CXT5045_LAPTOP_HP530] = "laptop-hp530", + #ifdef CONFIG_SND_DEBUG + [CXT5045_TEST] = "test", + #endif +@@ -857,7 +906,7 @@ + SND_PCI_QUIRK(0x103c, 0x30bb, "HP DV8000", CXT5045_LAPTOP_HPSENSE), + SND_PCI_QUIRK(0x103c, 0x30cd, "HP DV Series", CXT5045_LAPTOP_HPSENSE), + SND_PCI_QUIRK(0x103c, 0x30cf, "HP DV9533EG", CXT5045_LAPTOP_HPSENSE), +- SND_PCI_QUIRK(0x103c, 0x30d5, "HP 530", CXT5045_LAPTOP_HPSENSE), ++ SND_PCI_QUIRK(0x103c, 0x30d5, "HP 530", CXT5045_LAPTOP_HP530), + SND_PCI_QUIRK(0x103c, 0x30d9, "HP Spartan", CXT5045_LAPTOP_HPSENSE), + SND_PCI_QUIRK(0x152d, 0x0753, "Benq R55E", CXT5045_BENQ), + SND_PCI_QUIRK(0x1734, 0x10ad, "Fujitsu Si1520", CXT5045_LAPTOP_MICSENSE), +@@ -941,6 +990,14 @@ + spec->num_mixers = 2; + codec->patch_ops.init = cxt5045_init; + break; ++ case CXT5045_LAPTOP_HP530: ++ codec->patch_ops.unsol_event = cxt5045_hp_unsol_event; ++ spec->input_mux = &cxt5045_capture_source_hp530; ++ spec->num_init_verbs = 2; ++ spec->init_verbs[1] = cxt5045_hp_sense_init_verbs; ++ spec->mixers[0] = cxt5045_mixers_hp530; ++ codec->patch_ops.init = cxt5045_init; ++ break; + #ifdef CONFIG_SND_DEBUG + case CXT5045_TEST: + spec->input_mux = &cxt5045_test_capture_source; +@@ -1230,6 +1287,11 @@ + static struct hda_verb cxt5047_hp_init_verbs[] = { + /* pin sensing on HP jack */ + {0x13, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | CONEXANT_HP_EVENT}, ++ /* 0x13 is actually shared by both HP and speaker; ++ * setting the connection to 0 (=0x19) makes the master volume control ++ * working mysteriouslly... ++ */ ++ {0x13, AC_VERB_SET_CONNECT_SEL, 0x0}, + /* Record selector: Ext Mic */ + {0x12, AC_VERB_SET_CONNECT_SEL,0x03}, + {0x19, AC_VERB_SET_AMP_GAIN_MUTE, +Index: alsa-driver-1.0.16/sound/pci/hda/patch_realtek.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/hda/patch_realtek.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/hda/patch_realtek.c 2008-03-07 13:21:07.000000000 -0500 +@@ -30,6 +30,7 @@ + #include + #include "hda_codec.h" + #include "hda_local.h" ++#include "hda_patch.h" + + #define ALC880_FRONT_EVENT 0x01 + #define ALC880_DCVOL_EVENT 0x02 +@@ -200,6 +201,8 @@ + ALC888_3ST_HP, + ALC888_6ST_DELL, + ALC883_MITAC, ++ ALC883_CLEVO_M720R, ++ ALC883_FUJITSU_PI2515, + ALC883_AUTO, + ALC883_MODEL_LAST, + }; +@@ -238,6 +241,7 @@ + /* capture */ + unsigned int num_adc_nids; + hda_nid_t *adc_nids; ++ hda_nid_t *capsrc_nids; + hda_nid_t dig_in_nid; /* digital-in NID; optional */ + + /* capture source */ +@@ -291,6 +295,7 @@ + hda_nid_t hp_nid; /* optional */ + unsigned int num_adc_nids; + hda_nid_t *adc_nids; ++ hda_nid_t *capsrc_nids; + hda_nid_t dig_in_nid; + unsigned int num_channel_mode; + const struct hda_channel_mode *channel_mode; +@@ -337,9 +342,10 @@ + struct alc_spec *spec = codec->spec; + unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id); + unsigned int mux_idx = adc_idx >= spec->num_mux_defs ? 0 : adc_idx; ++ hda_nid_t nid = spec->capsrc_nids ? ++ spec->capsrc_nids[adc_idx] : spec->adc_nids[adc_idx]; + return snd_hda_input_mux_put(codec, &spec->input_mux[mux_idx], ucontrol, +- spec->adc_nids[adc_idx], +- &spec->cur_mux[adc_idx]); ++ nid, &spec->cur_mux[adc_idx]); + } + + +@@ -708,6 +714,7 @@ + + spec->num_adc_nids = preset->num_adc_nids; + spec->adc_nids = preset->adc_nids; ++ spec->capsrc_nids = preset->capsrc_nids; + spec->dig_in_nid = preset->dig_in_nid; + + spec->unsol_event = preset->unsol_event; +@@ -742,7 +749,6 @@ + static void alc_sku_automute(struct hda_codec *codec) + { + struct alc_spec *spec = codec->spec; +- unsigned int mute; + unsigned int present; + unsigned int hp_nid = spec->autocfg.hp_pins[0]; + unsigned int sp_nid = spec->autocfg.speaker_pins[0]; +@@ -752,16 +758,8 @@ + present = snd_hda_codec_read(codec, hp_nid, 0, + AC_VERB_GET_PIN_SENSE, 0); + spec->jack_present = (present & 0x80000000) != 0; +- if (spec->jack_present) { +- /* mute internal speaker */ +- snd_hda_codec_amp_stereo(codec, sp_nid, HDA_OUTPUT, 0, +- HDA_AMP_MUTE, HDA_AMP_MUTE); +- } else { +- /* unmute internal speaker if necessary */ +- mute = snd_hda_codec_amp_read(codec, hp_nid, 0, HDA_OUTPUT, 0); +- snd_hda_codec_amp_stereo(codec, sp_nid, HDA_OUTPUT, 0, +- HDA_AMP_MUTE, mute); +- } ++ snd_hda_codec_write(codec, sp_nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, ++ spec->jack_present ? 0 : PIN_OUT); + } + + /* unsolicited event for HP jack sensing */ +@@ -1320,11 +1318,19 @@ + HDA_BIND_MUTE("Speaker Playback Switch", 0x0d, 2, HDA_INPUT), + HDA_CODEC_VOLUME("CD Playback Volume", 0x0b, 0x04, HDA_INPUT), + HDA_CODEC_MUTE("CD Playback Switch", 0x0b, 0x04, HDA_INPUT), +- HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT), +- HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x1, HDA_INPUT), ++ HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x1, HDA_INPUT), + { } /* end */ + }; + ++static struct hda_input_mux alc880_f1734_capture_source = { ++ .num_items = 2, ++ .items = { ++ { "Mic", 0x1 }, ++ { "CD", 0x4 }, ++ }, ++}; ++ + + /* + * ALC880 ASUS model +@@ -1517,6 +1523,11 @@ + spec->multiout.dig_out_nid); + if (err < 0) + return err; ++ err = snd_hda_create_spdif_share_sw(codec, ++ &spec->multiout); ++ if (err < 0) ++ return err; ++ spec->multiout.share_spdif = 1; + } + if (spec->dig_in_nid) { + err = snd_hda_create_spdif_in_ctls(codec, spec->dig_in_nid); +@@ -1936,6 +1947,9 @@ + {0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, + {0x1c, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, + ++ {0x14, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN|ALC880_HP_EVENT}, ++ {0x21, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN|ALC880_DCVOL_EVENT}, ++ + { } + }; + +@@ -2319,7 +2333,8 @@ + struct snd_pcm_substream *substream) + { + struct alc_spec *spec = codec->spec; +- return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream); ++ return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream, ++ hinfo); + } + + static int alc880_playback_pcm_prepare(struct hda_pcm_stream *hinfo, +@@ -2499,6 +2514,7 @@ + codec->num_pcms = 2; + info = spec->pcm_rec + 1; + info->name = spec->stream_name_digital; ++ info->pcm_type = HDA_PCM_TYPE_SPDIF; + if (spec->multiout.dig_out_nid && + spec->stream_digital_playback) { + info->stream[SNDRV_PCM_STREAM_PLAYBACK] = *(spec->stream_digital_playback); +@@ -3058,7 +3074,9 @@ + .hp_nid = 0x02, + .num_channel_mode = ARRAY_SIZE(alc880_2_jack_modes), + .channel_mode = alc880_2_jack_modes, +- .input_mux = &alc880_capture_source, ++ .input_mux = &alc880_f1734_capture_source, ++ .unsol_event = alc880_uniwill_p53_unsol_event, ++ .init_hook = alc880_uniwill_p53_hp_automute, + }, + [ALC880_ASUS] = { + .mixers = { alc880_asus_mixer }, +@@ -3468,15 +3486,21 @@ + return 0; + } + +-static void alc880_auto_set_output_and_unmute(struct hda_codec *codec, +- hda_nid_t nid, int pin_type, +- int dac_idx) ++static void alc_set_pin_output(struct hda_codec *codec, hda_nid_t nid, ++ unsigned int pin_type) + { +- /* set as output */ + snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, + pin_type); ++ /* unmute pin */ + snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE, + AMP_OUT_UNMUTE); ++} ++ ++static void alc880_auto_set_output_and_unmute(struct hda_codec *codec, ++ hda_nid_t nid, int pin_type, ++ int dac_idx) ++{ ++ alc_set_pin_output(codec, nid, pin_type); + /* need the manual connection? */ + if (alc880_is_multi_pin(nid)) { + struct alc_spec *spec = codec->spec; +@@ -3598,9 +3622,12 @@ + /* additional initialization for auto-configuration model */ + static void alc880_auto_init(struct hda_codec *codec) + { ++ struct alc_spec *spec = codec->spec; + alc880_auto_init_multi_out(codec); + alc880_auto_init_extra_out(codec); + alc880_auto_init_analog_input(codec); ++ if (spec->unsol_event) ++ alc_sku_automute(codec); + } + + /* +@@ -4796,11 +4823,7 @@ + hda_nid_t nid, int pin_type, + int sel_idx) + { +- /* set as output */ +- snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, +- pin_type); +- snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE, +- AMP_OUT_UNMUTE); ++ alc_set_pin_output(codec, nid, pin_type); + /* need the manual connection? */ + if (nid >= 0x12) { + int idx = nid - 0x12; +@@ -4930,7 +4953,7 @@ + /* check whether NID 0x04 is valid */ + wcap = get_wcaps(codec, 0x04); + wcap = (wcap & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT; /* get type */ +- if (wcap != AC_WID_AUD_IN) { ++ if (wcap != AC_WID_AUD_IN || spec->input_mux->num_items == 1) { + spec->adc_nids = alc260_adc_nids_alt; + spec->num_adc_nids = ARRAY_SIZE(alc260_adc_nids_alt); + spec->mixers[spec->num_mixers] = alc260_capture_alt_mixer; +@@ -4947,8 +4970,11 @@ + /* additional initialization for auto-configuration model */ + static void alc260_auto_init(struct hda_codec *codec) + { ++ struct alc_spec *spec = codec->spec; + alc260_auto_init_multi_out(codec); + alc260_auto_init_analog_input(codec); ++ if (spec->unsol_event) ++ alc_sku_automute(codec); + } + + #ifdef CONFIG_SND_HDA_POWER_SAVE +@@ -5205,6 +5231,9 @@ + #define alc882_adc_nids alc880_adc_nids + #define alc882_adc_nids_alt alc880_adc_nids_alt + ++static hda_nid_t alc882_capsrc_nids[3] = { 0x24, 0x23, 0x22 }; ++static hda_nid_t alc882_capsrc_nids_alt[2] = { 0x23, 0x22 }; ++ + /* input MUX */ + /* FIXME: should be a matrix-type input source selection */ + +@@ -5227,8 +5256,8 @@ + struct alc_spec *spec = codec->spec; + const struct hda_input_mux *imux = spec->input_mux; + unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id); +- static hda_nid_t capture_mixers[3] = { 0x24, 0x23, 0x22 }; +- hda_nid_t nid = capture_mixers[adc_idx]; ++ hda_nid_t nid = spec->capsrc_nids ? ++ spec->capsrc_nids[adc_idx] : spec->adc_nids[adc_idx]; + unsigned int *cur_val = &spec->cur_mux[adc_idx]; + unsigned int i, idx; + +@@ -6108,6 +6137,7 @@ + .dig_out_nid = ALC882_DIGOUT_NID, + .num_adc_nids = ARRAY_SIZE(alc882_adc_nids), + .adc_nids = alc882_adc_nids, ++ .capsrc_nids = alc882_capsrc_nids, + .num_channel_mode = ARRAY_SIZE(alc882_3ST_6ch_modes), + .channel_mode = alc882_3ST_6ch_modes, + .need_dac_fix = 1, +@@ -6124,6 +6154,7 @@ + .dig_out_nid = ALC882_DIGOUT_NID, + .num_adc_nids = ARRAY_SIZE(alc882_adc_nids), + .adc_nids = alc882_adc_nids, ++ .capsrc_nids = alc882_capsrc_nids, + .num_channel_mode = ARRAY_SIZE(alc882_3ST_6ch_modes), + .channel_mode = alc882_3ST_6ch_modes, + .need_dac_fix = 1, +@@ -6179,15 +6210,11 @@ + struct alc_spec *spec = codec->spec; + int idx; + ++ alc_set_pin_output(codec, nid, pin_type); + if (spec->multiout.dac_nids[dac_idx] == 0x25) + idx = 4; + else + idx = spec->multiout.dac_nids[dac_idx] - 2; +- +- snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, +- pin_type); +- snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE, +- AMP_OUT_UNMUTE); + snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_CONNECT_SEL, idx); + + } +@@ -6216,6 +6243,9 @@ + if (pin) /* connect to front */ + /* use dac 0 */ + alc882_auto_set_output_and_unmute(codec, pin, PIN_HP, 0); ++ pin = spec->autocfg.speaker_pins[0]; ++ if (pin) ++ alc882_auto_set_output_and_unmute(codec, pin, PIN_OUT, 0); + } + + #define alc882_is_input_pin(nid) alc880_is_input_pin(nid) +@@ -6228,16 +6258,21 @@ + + for (i = 0; i < AUTO_PIN_LAST; i++) { + hda_nid_t nid = spec->autocfg.input_pins[i]; +- if (alc882_is_input_pin(nid)) { ++ unsigned int vref; ++ if (!nid) ++ continue; ++ vref = PIN_IN; ++ if (1 /*i <= AUTO_PIN_FRONT_MIC*/) { ++ if (snd_hda_param_read(codec, nid, AC_PAR_PIN_CAP) & ++ AC_PINCAP_VREF_80) ++ vref = PIN_VREF80; ++ } ++ snd_hda_codec_write(codec, nid, 0, ++ AC_VERB_SET_PIN_WIDGET_CONTROL, vref); ++ if (get_wcaps(codec, nid) & AC_WCAP_OUT_AMP) + snd_hda_codec_write(codec, nid, 0, +- AC_VERB_SET_PIN_WIDGET_CONTROL, +- i <= AUTO_PIN_FRONT_MIC ? +- PIN_VREF80 : PIN_IN); +- if (nid != ALC882_PIN_CD_NID) +- snd_hda_codec_write(codec, nid, 0, +- AC_VERB_SET_AMP_GAIN_MUTE, +- AMP_OUT_MUTE); +- } ++ AC_VERB_SET_AMP_GAIN_MUTE, ++ AMP_OUT_MUTE); + } + } + +@@ -6291,9 +6326,12 @@ + /* additional initialization for auto-configuration model */ + static void alc882_auto_init(struct hda_codec *codec) + { ++ struct alc_spec *spec = codec->spec; + alc882_auto_init_multi_out(codec); + alc882_auto_init_hp_out(codec); + alc882_auto_init_analog_input(codec); ++ if (spec->unsol_event) ++ alc_sku_automute(codec); + } + + static int patch_alc882(struct hda_codec *codec) +@@ -6369,12 +6407,14 @@ + if (wcap != AC_WID_AUD_IN) { + spec->adc_nids = alc882_adc_nids_alt; + spec->num_adc_nids = ARRAY_SIZE(alc882_adc_nids_alt); ++ spec->capsrc_nids = alc882_capsrc_nids_alt; + spec->mixers[spec->num_mixers] = + alc882_capture_alt_mixer; + spec->num_mixers++; + } else { + spec->adc_nids = alc882_adc_nids; + spec->num_adc_nids = ARRAY_SIZE(alc882_adc_nids); ++ spec->capsrc_nids = alc882_capsrc_nids; + spec->mixers[spec->num_mixers] = alc882_capture_mixer; + spec->num_mixers++; + } +@@ -6417,6 +6457,8 @@ + 0x08, 0x09, + }; + ++static hda_nid_t alc883_capsrc_nids[2] = { 0x23, 0x22 }; ++ + /* input MUX */ + /* FIXME: should be a matrix-type input source selection */ + +@@ -6448,35 +6490,18 @@ + }, + }; + ++static struct hda_input_mux alc883_fujitsu_pi2515_capture_source = { ++ .num_items = 2, ++ .items = { ++ { "Mic", 0x0 }, ++ { "Int Mic", 0x1 }, ++ }, ++}; ++ + #define alc883_mux_enum_info alc_mux_enum_info + #define alc883_mux_enum_get alc_mux_enum_get +- +-static int alc883_mux_enum_put(struct snd_kcontrol *kcontrol, +- struct snd_ctl_elem_value *ucontrol) +-{ +- struct hda_codec *codec = snd_kcontrol_chip(kcontrol); +- struct alc_spec *spec = codec->spec; +- const struct hda_input_mux *imux = spec->input_mux; +- unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id); +- static hda_nid_t capture_mixers[3] = { 0x24, 0x23, 0x22 }; +- hda_nid_t nid = capture_mixers[adc_idx]; +- unsigned int *cur_val = &spec->cur_mux[adc_idx]; +- unsigned int i, idx; +- +- idx = ucontrol->value.enumerated.item[0]; +- if (idx >= imux->num_items) +- idx = imux->num_items - 1; +- if (*cur_val == idx) +- return 0; +- for (i = 0; i < imux->num_items; i++) { +- unsigned int v = (i == idx) ? 0 : HDA_AMP_MUTE; +- snd_hda_codec_amp_stereo(codec, nid, HDA_INPUT, +- imux->items[i].index, +- HDA_AMP_MUTE, v); +- } +- *cur_val = idx; +- return 1; +-} ++/* ALC883 has the ALC882-type input selection */ ++#define alc883_mux_enum_put alc882_mux_enum_put + + /* + * 2ch mode +@@ -6635,6 +6660,60 @@ + { } /* end */ + }; + ++static struct snd_kcontrol_new alc883_clevo_m720r_mixer[] = { ++ HDA_CODEC_VOLUME("Headphone Playback Volume", 0x0c, 0x0, HDA_OUTPUT), ++ HDA_BIND_MUTE("Headphone Playback Switch", 0x0c, 2, HDA_INPUT), ++ HDA_CODEC_VOLUME("Speaker Playback Volume", 0x0d, 0x0, HDA_OUTPUT), ++ HDA_BIND_MUTE("Speaker Playback Switch", 0x0d, 2, HDA_INPUT), ++ HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME("Mic Boost", 0x18, 0, HDA_INPUT), ++ HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME("Int Mic Playback Volume", 0x0b, 0x1, HDA_INPUT), ++ HDA_CODEC_VOLUME("Int Mic Boost", 0x19, 0, HDA_INPUT), ++ HDA_CODEC_MUTE("Int Mic Playback Switch", 0x0b, 0x1, HDA_INPUT), ++ HDA_CODEC_VOLUME("Capture Volume", 0x08, 0x0, HDA_INPUT), ++ HDA_CODEC_MUTE("Capture Switch", 0x08, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME_IDX("Capture Volume", 1, 0x09, 0x0, HDA_INPUT), ++ HDA_CODEC_MUTE_IDX("Capture Switch", 1, 0x09, 0x0, HDA_INPUT), ++ { ++ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, ++ /* .name = "Capture Source", */ ++ .name = "Input Source", ++ .count = 2, ++ .info = alc883_mux_enum_info, ++ .get = alc883_mux_enum_get, ++ .put = alc883_mux_enum_put, ++ }, ++ { } /* end */ ++}; ++ ++static struct snd_kcontrol_new alc883_2ch_fujitsu_pi2515_mixer[] = { ++ HDA_CODEC_VOLUME("Headphone Playback Volume", 0x0c, 0x0, HDA_OUTPUT), ++ HDA_BIND_MUTE("Headphone Playback Switch", 0x0c, 2, HDA_INPUT), ++ HDA_CODEC_VOLUME("Speaker Playback Volume", 0x0d, 0x0, HDA_OUTPUT), ++ HDA_BIND_MUTE("Speaker Playback Switch", 0x0d, 2, HDA_INPUT), ++ HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME("Mic Boost", 0x18, 0, HDA_INPUT), ++ HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME("Int Mic Playback Volume", 0x0b, 0x1, HDA_INPUT), ++ HDA_CODEC_VOLUME("Int Mic Boost", 0x19, 0, HDA_INPUT), ++ HDA_CODEC_MUTE("Int Mic Playback Switch", 0x0b, 0x1, HDA_INPUT), ++ HDA_CODEC_VOLUME("Capture Volume", 0x08, 0x0, HDA_INPUT), ++ HDA_CODEC_MUTE("Capture Switch", 0x08, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME_IDX("Capture Volume", 1, 0x09, 0x0, HDA_INPUT), ++ HDA_CODEC_MUTE_IDX("Capture Switch", 1, 0x09, 0x0, HDA_INPUT), ++ { ++ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, ++ /* .name = "Capture Source", */ ++ .name = "Input Source", ++ .count = 2, ++ .info = alc883_mux_enum_info, ++ .get = alc883_mux_enum_get, ++ .put = alc883_mux_enum_put, ++ }, ++ { } /* end */ ++}; ++ + static struct snd_kcontrol_new alc883_3ST_2ch_mixer[] = { + HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT), + HDA_BIND_MUTE("Front Playback Switch", 0x0c, 2, HDA_INPUT), +@@ -7168,6 +7247,34 @@ + { } /* end */ + }; + ++static struct hda_verb alc883_clevo_m720r_verbs[] = { ++ /* HP */ ++ {0x15, AC_VERB_SET_CONNECT_SEL, 0x00}, ++ {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, ++ /* Int speaker */ ++ {0x14, AC_VERB_SET_CONNECT_SEL, 0x01}, ++ {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, ++ ++ /* enable unsolicited event */ ++ {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN}, ++ ++ { } /* end */ ++}; ++ ++static struct hda_verb alc883_2ch_fujitsu_pi2515_verbs[] = { ++ /* HP */ ++ {0x14, AC_VERB_SET_CONNECT_SEL, 0x00}, ++ {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, ++ /* Subwoofer */ ++ {0x15, AC_VERB_SET_CONNECT_SEL, 0x01}, ++ {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, ++ ++ /* enable unsolicited event */ ++ {0x14, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN}, ++ ++ { } /* end */ ++}; ++ + static struct hda_verb alc883_tagra_verbs[] = { + {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, + {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, +@@ -7351,6 +7458,46 @@ + alc883_tagra_automute(codec); + } + ++/* toggle speaker-output according to the hp-jack state */ ++static void alc883_clevo_m720r_automute(struct hda_codec *codec) ++{ ++ unsigned int present; ++ unsigned char bits; ++ ++ present = snd_hda_codec_read(codec, 0x15, 0, AC_VERB_GET_PIN_SENSE, 0) ++ & AC_PINSENSE_PRESENCE; ++ bits = present ? HDA_AMP_MUTE : 0; ++ snd_hda_codec_amp_stereo(codec, 0x14, HDA_OUTPUT, 0, ++ HDA_AMP_MUTE, bits); ++} ++ ++static void alc883_clevo_m720r_unsol_event(struct hda_codec *codec, ++ unsigned int res) ++{ ++ if ((res >> 26) == ALC880_HP_EVENT) ++ alc883_clevo_m720r_automute(codec); ++} ++ ++/* toggle speaker-output according to the hp-jack state */ ++static void alc883_2ch_fujitsu_pi2515_automute(struct hda_codec *codec) ++{ ++ unsigned int present; ++ unsigned char bits; ++ ++ present = snd_hda_codec_read(codec, 0x14, 0, AC_VERB_GET_PIN_SENSE, 0) ++ & AC_PINSENSE_PRESENCE; ++ bits = present ? HDA_AMP_MUTE : 0; ++ snd_hda_codec_amp_stereo(codec, 0x15, HDA_OUTPUT, 0, ++ HDA_AMP_MUTE, bits); ++} ++ ++static void alc883_2ch_fujitsu_pi2515_unsol_event(struct hda_codec *codec, ++ unsigned int res) ++{ ++ if ((res >> 26) == ALC880_HP_EVENT) ++ alc883_2ch_fujitsu_pi2515_automute(codec); ++} ++ + static void alc883_haier_w66_automute(struct hda_codec *codec) + { + unsigned int present; +@@ -7588,6 +7735,8 @@ + [ALC888_3ST_HP] = "3stack-hp", + [ALC888_6ST_DELL] = "6stack-dell", + [ALC883_MITAC] = "mitac", ++ [ALC883_CLEVO_M720R] = "clevo-m720r", ++ [ALC883_FUJITSU_PI2515] = "fujitsu-pi2515", + [ALC883_AUTO] = "auto", + }; + +@@ -7612,6 +7761,7 @@ + SND_PCI_QUIRK(0x1462, 0x040d, "MSI", ALC883_TARGA_2ch_DIG), + SND_PCI_QUIRK(0x1462, 0x0579, "MSI", ALC883_TARGA_2ch_DIG), + SND_PCI_QUIRK(0x1462, 0x3729, "MSI S420", ALC883_TARGA_DIG), ++ SND_PCI_QUIRK(0x1462, 0x3783, "NEC S970", ALC883_TARGA_DIG), + SND_PCI_QUIRK(0x1462, 0x3b7f, "MSI", ALC883_TARGA_2ch_DIG), + SND_PCI_QUIRK(0x1462, 0x3ef9, "MSI", ALC883_TARGA_DIG), + SND_PCI_QUIRK(0x1462, 0x3fc1, "MSI", ALC883_TARGA_DIG), +@@ -7628,9 +7778,11 @@ + SND_PCI_QUIRK(0x1462, 0x7327, "MSI", ALC883_6ST_DIG), + SND_PCI_QUIRK(0x1462, 0xa422, "MSI", ALC883_TARGA_2ch_DIG), + SND_PCI_QUIRK(0x147b, 0x1083, "Abit IP35-PRO", ALC883_6ST_DIG), ++ SND_PCI_QUIRK(0x1558, 0x0721, "Clevo laptop M720R", ALC883_CLEVO_M720R), + SND_PCI_QUIRK(0x1558, 0, "Clevo laptop", ALC883_LAPTOP_EAPD), + SND_PCI_QUIRK(0x15d9, 0x8780, "Supermicro PDSBA", ALC883_3ST_6ch), + SND_PCI_QUIRK(0x161f, 0x2054, "Medion laptop", ALC883_MEDION), ++ SND_PCI_QUIRK(0x1734, 0x1108, "Fujitsu AMILO Pi2515", ALC883_FUJITSU_PI2515), + SND_PCI_QUIRK(0x17aa, 0x101e, "Lenovo 101e", ALC883_LENOVO_101E_2ch), + SND_PCI_QUIRK(0x17aa, 0x2085, "Lenovo NB0763", ALC883_LENOVO_NB0763), + SND_PCI_QUIRK(0x17aa, 0x3bfc, "Lenovo NB0763", ALC883_LENOVO_NB0763), +@@ -7649,8 +7801,6 @@ + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, + .dig_out_nid = ALC883_DIGOUT_NID, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .dig_in_nid = ALC883_DIGIN_NID, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes), + .channel_mode = alc883_3ST_2ch_modes, +@@ -7662,8 +7812,6 @@ + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, + .dig_out_nid = ALC883_DIGOUT_NID, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .dig_in_nid = ALC883_DIGIN_NID, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_6ch_modes), + .channel_mode = alc883_3ST_6ch_modes, +@@ -7675,8 +7823,6 @@ + .init_verbs = { alc883_init_verbs }, + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_6ch_modes), + .channel_mode = alc883_3ST_6ch_modes, + .need_dac_fix = 1, +@@ -7688,8 +7834,6 @@ + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, + .dig_out_nid = ALC883_DIGOUT_NID, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .dig_in_nid = ALC883_DIGIN_NID, + .num_channel_mode = ARRAY_SIZE(alc883_sixstack_modes), + .channel_mode = alc883_sixstack_modes, +@@ -7701,8 +7845,6 @@ + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, + .dig_out_nid = ALC883_DIGOUT_NID, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_6ch_modes), + .channel_mode = alc883_3ST_6ch_modes, + .need_dac_fix = 1, +@@ -7716,8 +7858,6 @@ + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, + .dig_out_nid = ALC883_DIGOUT_NID, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes), + .channel_mode = alc883_3ST_2ch_modes, + .input_mux = &alc883_capture_source, +@@ -7734,8 +7874,6 @@ + .init_verbs = { alc883_init_verbs, alc880_gpio1_init_verbs }, + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes), + .channel_mode = alc883_3ST_2ch_modes, + .input_mux = &alc883_capture_source, +@@ -7746,8 +7884,6 @@ + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, + .dig_out_nid = ALC883_DIGOUT_NID, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes), + .channel_mode = alc883_3ST_2ch_modes, + .input_mux = &alc883_capture_source, +@@ -7761,8 +7897,6 @@ + alc883_medion_eapd_verbs }, + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc883_sixstack_modes), + .channel_mode = alc883_sixstack_modes, + .input_mux = &alc883_capture_source, +@@ -7773,8 +7907,6 @@ + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, + .dig_out_nid = ALC883_DIGOUT_NID, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes), + .channel_mode = alc883_3ST_2ch_modes, + .input_mux = &alc883_capture_source, +@@ -7786,19 +7918,27 @@ + .init_verbs = { alc883_init_verbs, alc882_eapd_verbs }, + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes), + .channel_mode = alc883_3ST_2ch_modes, + .input_mux = &alc883_capture_source, + }, ++ [ALC883_CLEVO_M720R] = { ++ .mixers = { alc883_clevo_m720r_mixer }, ++ .init_verbs = { alc883_init_verbs, alc883_clevo_m720r_verbs }, ++ .num_dacs = ARRAY_SIZE(alc883_dac_nids), ++ .dac_nids = alc883_dac_nids, ++ .dig_out_nid = ALC883_DIGOUT_NID, ++ .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes), ++ .channel_mode = alc883_3ST_2ch_modes, ++ .input_mux = &alc883_capture_source, ++ .unsol_event = alc883_clevo_m720r_unsol_event, ++ .init_hook = alc883_clevo_m720r_automute, ++ }, + [ALC883_LENOVO_101E_2ch] = { + .mixers = { alc883_lenovo_101e_2ch_mixer}, + .init_verbs = { alc883_init_verbs, alc883_lenovo_101e_verbs}, + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes), + .channel_mode = alc883_3ST_2ch_modes, + .input_mux = &alc883_lenovo_101e_capture_source, +@@ -7810,8 +7950,6 @@ + .init_verbs = { alc883_init_verbs, alc883_lenovo_nb0763_verbs}, + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes), + .channel_mode = alc883_3ST_2ch_modes, + .need_dac_fix = 1, +@@ -7825,8 +7963,6 @@ + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, + .dig_out_nid = ALC883_DIGOUT_NID, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_6ch_modes), + .channel_mode = alc883_3ST_6ch_modes, + .need_dac_fix = 1, +@@ -7840,8 +7976,6 @@ + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, + .dig_out_nid = ALC883_DIGOUT_NID, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes), + .channel_mode = alc883_3ST_2ch_modes, + .input_mux = &alc883_capture_source, +@@ -7854,8 +7988,6 @@ + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, + .dig_out_nid = ALC883_DIGOUT_NID, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .dig_in_nid = ALC883_DIGIN_NID, + .num_channel_mode = ARRAY_SIZE(alc883_sixstack_modes), + .channel_mode = alc883_sixstack_modes, +@@ -7866,8 +7998,6 @@ + .init_verbs = { alc883_init_verbs, alc888_3st_hp_verbs }, + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc888_3st_hp_modes), + .channel_mode = alc888_3st_hp_modes, + .need_dac_fix = 1, +@@ -7879,8 +8009,6 @@ + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, + .dig_out_nid = ALC883_DIGOUT_NID, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .dig_in_nid = ALC883_DIGIN_NID, + .num_channel_mode = ARRAY_SIZE(alc883_sixstack_modes), + .channel_mode = alc883_sixstack_modes, +@@ -7893,14 +8021,25 @@ + .init_verbs = { alc883_init_verbs, alc883_mitac_verbs }, + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), +- .adc_nids = alc883_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes), + .channel_mode = alc883_3ST_2ch_modes, + .input_mux = &alc883_capture_source, + .unsol_event = alc883_mitac_unsol_event, + .init_hook = alc883_mitac_automute, + }, ++ [ALC883_FUJITSU_PI2515] = { ++ .mixers = { alc883_2ch_fujitsu_pi2515_mixer }, ++ .init_verbs = { alc883_init_verbs, ++ alc883_2ch_fujitsu_pi2515_verbs}, ++ .num_dacs = ARRAY_SIZE(alc883_dac_nids), ++ .dac_nids = alc883_dac_nids, ++ .dig_out_nid = ALC883_DIGOUT_NID, ++ .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes), ++ .channel_mode = alc883_3ST_2ch_modes, ++ .input_mux = &alc883_fujitsu_pi2515_capture_source, ++ .unsol_event = alc883_2ch_fujitsu_pi2515_unsol_event, ++ .init_hook = alc883_2ch_fujitsu_pi2515_automute, ++ }, + }; + + +@@ -7915,15 +8054,11 @@ + struct alc_spec *spec = codec->spec; + int idx; + ++ alc_set_pin_output(codec, nid, pin_type); + if (spec->multiout.dac_nids[dac_idx] == 0x25) + idx = 4; + else + idx = spec->multiout.dac_nids[dac_idx] - 2; +- +- snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, +- pin_type); +- snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE, +- AMP_OUT_UNMUTE); + snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_CONNECT_SEL, idx); + + } +@@ -7952,6 +8087,9 @@ + if (pin) /* connect to front */ + /* use dac 0 */ + alc883_auto_set_output_and_unmute(codec, pin, PIN_HP, 0); ++ pin = spec->autocfg.speaker_pins[0]; ++ if (pin) ++ alc883_auto_set_output_and_unmute(codec, pin, PIN_OUT, 0); + } + + #define alc883_is_input_pin(nid) alc880_is_input_pin(nid) +@@ -8003,9 +8141,12 @@ + /* additional initialization for auto-configuration model */ + static void alc883_auto_init(struct hda_codec *codec) + { ++ struct alc_spec *spec = codec->spec; + alc883_auto_init_multi_out(codec); + alc883_auto_init_hp_out(codec); + alc883_auto_init_analog_input(codec); ++ if (spec->unsol_event) ++ alc_sku_automute(codec); + } + + static int patch_alc883(struct hda_codec *codec) +@@ -8054,10 +8195,9 @@ + spec->stream_digital_playback = &alc883_pcm_digital_playback; + spec->stream_digital_capture = &alc883_pcm_digital_capture; + +- if (!spec->adc_nids && spec->input_mux) { +- spec->adc_nids = alc883_adc_nids; +- spec->num_adc_nids = ARRAY_SIZE(alc883_adc_nids); +- } ++ spec->num_adc_nids = ARRAY_SIZE(alc883_adc_nids); ++ spec->adc_nids = alc883_adc_nids; ++ spec->capsrc_nids = alc883_capsrc_nids; + + spec->vmaster_nid = 0x0c; + +@@ -8082,6 +8222,8 @@ + #define alc262_dac_nids alc260_dac_nids + #define alc262_adc_nids alc882_adc_nids + #define alc262_adc_nids_alt alc882_adc_nids_alt ++#define alc262_capsrc_nids alc882_capsrc_nids ++#define alc262_capsrc_nids_alt alc882_capsrc_nids_alt + + #define alc262_modes alc260_modes + #define alc262_capture_source alc882_capture_source +@@ -9182,9 +9324,12 @@ + /* init callback for auto-configuration model -- overriding the default init */ + static void alc262_auto_init(struct hda_codec *codec) + { ++ struct alc_spec *spec = codec->spec; + alc262_auto_init_multi_out(codec); + alc262_auto_init_hp_out(codec); + alc262_auto_init_analog_input(codec); ++ if (spec->unsol_event) ++ alc_sku_automute(codec); + } + + /* +@@ -9236,6 +9381,7 @@ + SND_PCI_QUIRK(0x104d, 0x900e, "Sony ASSAMD", ALC262_SONY_ASSAMD), + SND_PCI_QUIRK(0x104d, 0x9015, "Sony 0x9015", ALC262_SONY_ASSAMD), + SND_PCI_QUIRK(0x10cf, 0x1397, "Fujitsu", ALC262_FUJITSU), ++ SND_PCI_QUIRK(0x10cf, 0x142d, "Fujitsu Lifebook E8410", ALC262_FUJITSU), + SND_PCI_QUIRK(0x144d, 0xc032, "Samsung Q1 Ultra", ALC262_ULTRA), + SND_PCI_QUIRK(0x17ff, 0x0560, "Benq ED8", ALC262_BENQ_ED8), + SND_PCI_QUIRK(0x17ff, 0x058d, "Benq T31-16", ALC262_BENQ_T31), +@@ -9468,12 +9614,14 @@ + if (wcap != AC_WID_AUD_IN) { + spec->adc_nids = alc262_adc_nids_alt; + spec->num_adc_nids = ARRAY_SIZE(alc262_adc_nids_alt); ++ spec->capsrc_nids = alc262_capsrc_nids_alt; + spec->mixers[spec->num_mixers] = + alc262_capture_alt_mixer; + spec->num_mixers++; + } else { + spec->adc_nids = alc262_adc_nids; + spec->num_adc_nids = ARRAY_SIZE(alc262_adc_nids); ++ spec->capsrc_nids = alc262_capsrc_nids; + spec->mixers[spec->num_mixers] = alc262_capture_mixer; + spec->num_mixers++; + } +@@ -9513,6 +9661,8 @@ + 0x08 + }; + ++static hda_nid_t alc268_capsrc_nids[2] = { 0x23, 0x24 }; ++ + static struct snd_kcontrol_new alc268_base_mixer[] = { + /* output mixer control */ + HDA_CODEC_VOLUME("Front Playback Volume", 0x2, 0x0, HDA_OUTPUT), +@@ -9525,6 +9675,22 @@ + { } + }; + ++/* bind Beep switches of both NID 0x0f and 0x10 */ ++static struct hda_bind_ctls alc268_bind_beep_sw = { ++ .ops = &snd_hda_bind_sw, ++ .values = { ++ HDA_COMPOSE_AMP_VAL(0x0f, 3, 1, HDA_INPUT), ++ HDA_COMPOSE_AMP_VAL(0x10, 3, 1, HDA_INPUT), ++ 0 ++ }, ++}; ++ ++static struct snd_kcontrol_new alc268_beep_mixer[] = { ++ HDA_CODEC_VOLUME("Beep Playback Volume", 0x1d, 0x0, HDA_INPUT), ++ HDA_BIND_SW("Beep Playback Switch", &alc268_bind_beep_sw), ++ { } ++}; ++ + static struct hda_verb alc268_eapd_verbs[] = { + {0x14, AC_VERB_SET_EAPD_BTLENABLE, 2}, + {0x15, AC_VERB_SET_EAPD_BTLENABLE, 2}, +@@ -9609,8 +9775,12 @@ + }; + + static struct hda_verb alc268_acer_verbs[] = { ++ {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, /* internal dmic? */ ++ {0x13, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, + {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, + {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, ++ {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80}, ++ {0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80}, + + {0x14, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN}, + { } +@@ -9721,7 +9891,11 @@ + {0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, + {0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, + {0x1c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, +- {0x1d, AC_VERB_SET_AMP_GAIN_MUTE, (0x7000 | (0x00 << 8))}, ++ ++ /* set PCBEEP vol = 0, mute connections */ ++ {0x1d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, ++ {0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)}, ++ {0x10, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)}, + + /* Unmute Selector 23h,24h and set the default input to mic-in */ + +@@ -9760,29 +9934,17 @@ + {0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, + {0x1c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, + +- /* set PCBEEP vol = 0 */ +- {0x1d, AC_VERB_SET_AMP_GAIN_MUTE, (0xb000 | (0x00 << 8))}, ++ /* set PCBEEP vol = 0, mute connections */ ++ {0x1d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, ++ {0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)}, ++ {0x10, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)}, + + { } + }; + + #define alc268_mux_enum_info alc_mux_enum_info + #define alc268_mux_enum_get alc_mux_enum_get +- +-static int alc268_mux_enum_put(struct snd_kcontrol *kcontrol, +- struct snd_ctl_elem_value *ucontrol) +-{ +- struct hda_codec *codec = snd_kcontrol_chip(kcontrol); +- struct alc_spec *spec = codec->spec; +- +- unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id); +- static hda_nid_t capture_mixers[3] = { 0x23, 0x24 }; +- hda_nid_t nid = capture_mixers[adc_idx]; +- +- return snd_hda_input_mux_put(codec, spec->input_mux, ucontrol, +- nid, +- &spec->cur_mux[adc_idx]); +-} ++#define alc268_mux_enum_put alc_mux_enum_put + + static struct snd_kcontrol_new alc268_capture_alt_mixer[] = { + HDA_CODEC_VOLUME("Capture Volume", 0x23, 0x0, HDA_OUTPUT), +@@ -9832,13 +9994,17 @@ + }, + }; + ++static struct hda_input_mux alc268_acer_capture_source = { ++ .num_items = 3, ++ .items = { ++ { "Mic", 0x0 }, ++ { "Internal Mic", 0x6 }, ++ { "Line", 0x2 }, ++ }, ++}; ++ + #ifdef CONFIG_SND_DEBUG + static struct snd_kcontrol_new alc268_test_mixer[] = { +- HDA_CODEC_VOLUME("Front Playback Volume", 0x2, 0x0, HDA_OUTPUT), +- HDA_CODEC_MUTE("Front Playback Switch", 0x14, 0x0, HDA_OUTPUT), +- HDA_CODEC_VOLUME("Headphone Playback Volume", 0x3, 0x0, HDA_OUTPUT), +- HDA_CODEC_MUTE("Headphone Playback Switch", 0x15, 0x0, HDA_OUTPUT), +- + /* Volume widgets */ + HDA_CODEC_VOLUME("LOUT1 Playback Volume", 0x02, 0x0, HDA_OUTPUT), + HDA_CODEC_VOLUME("LOUT2 Playback Volume", 0x03, 0x0, HDA_OUTPUT), +@@ -9977,6 +10143,10 @@ + case 0x1c: + idx1 = 3; /* CD */ + break; ++ case 0x12: ++ case 0x13: ++ idx1 = 6; /* digital mics */ ++ break; + default: + continue; + } +@@ -10069,6 +10239,9 @@ + if (spec->kctl_alloc) + spec->mixers[spec->num_mixers++] = spec->kctl_alloc; + ++ if (spec->autocfg.speaker_pins[0] != 0x1d) ++ spec->mixers[spec->num_mixers++] = alc268_beep_mixer; ++ + spec->init_verbs[spec->num_init_verbs++] = alc268_volume_init_verbs; + spec->num_mux_defs = 1; + spec->input_mux = &spec->private_imux; +@@ -10087,10 +10260,13 @@ + /* init callback for auto-configuration model -- overriding the default init */ + static void alc268_auto_init(struct hda_codec *codec) + { ++ struct alc_spec *spec = codec->spec; + alc268_auto_init_multi_out(codec); + alc268_auto_init_hp_out(codec); + alc268_auto_init_mono_speaker_out(codec); + alc268_auto_init_analog_input(codec); ++ if (spec->unsol_event) ++ alc_sku_automute(codec); + } + + /* +@@ -10125,12 +10301,14 @@ + + static struct alc_config_preset alc268_presets[] = { + [ALC268_3ST] = { +- .mixers = { alc268_base_mixer, alc268_capture_alt_mixer }, ++ .mixers = { alc268_base_mixer, alc268_capture_alt_mixer, ++ alc268_beep_mixer }, + .init_verbs = { alc268_base_init_verbs }, + .num_dacs = ARRAY_SIZE(alc268_dac_nids), + .dac_nids = alc268_dac_nids, + .num_adc_nids = ARRAY_SIZE(alc268_adc_nids_alt), + .adc_nids = alc268_adc_nids_alt, ++ .capsrc_nids = alc268_capsrc_nids, + .hp_nid = 0x03, + .dig_out_nid = ALC268_DIGOUT_NID, + .num_channel_mode = ARRAY_SIZE(alc268_modes), +@@ -10138,13 +10316,15 @@ + .input_mux = &alc268_capture_source, + }, + [ALC268_TOSHIBA] = { +- .mixers = { alc268_base_mixer, alc268_capture_alt_mixer }, ++ .mixers = { alc268_base_mixer, alc268_capture_alt_mixer, ++ alc268_beep_mixer }, + .init_verbs = { alc268_base_init_verbs, alc268_eapd_verbs, + alc268_toshiba_verbs }, + .num_dacs = ARRAY_SIZE(alc268_dac_nids), + .dac_nids = alc268_dac_nids, + .num_adc_nids = ARRAY_SIZE(alc268_adc_nids_alt), + .adc_nids = alc268_adc_nids_alt, ++ .capsrc_nids = alc268_capsrc_nids, + .hp_nid = 0x03, + .num_channel_mode = ARRAY_SIZE(alc268_modes), + .channel_mode = alc268_modes, +@@ -10153,22 +10333,24 @@ + .init_hook = alc268_toshiba_automute, + }, + [ALC268_ACER] = { +- .mixers = { alc268_acer_mixer, alc268_capture_alt_mixer }, ++ .mixers = { alc268_acer_mixer, alc268_capture_alt_mixer, ++ alc268_beep_mixer }, + .init_verbs = { alc268_base_init_verbs, alc268_eapd_verbs, + alc268_acer_verbs }, + .num_dacs = ARRAY_SIZE(alc268_dac_nids), + .dac_nids = alc268_dac_nids, + .num_adc_nids = ARRAY_SIZE(alc268_adc_nids_alt), + .adc_nids = alc268_adc_nids_alt, ++ .capsrc_nids = alc268_capsrc_nids, + .hp_nid = 0x02, + .num_channel_mode = ARRAY_SIZE(alc268_modes), + .channel_mode = alc268_modes, +- .input_mux = &alc268_capture_source, ++ .input_mux = &alc268_acer_capture_source, + .unsol_event = alc268_acer_unsol_event, + .init_hook = alc268_acer_init_hook, + }, + [ALC268_DELL] = { +- .mixers = { alc268_dell_mixer }, ++ .mixers = { alc268_dell_mixer, alc268_beep_mixer }, + .init_verbs = { alc268_base_init_verbs, alc268_eapd_verbs, + alc268_dell_verbs }, + .num_dacs = ARRAY_SIZE(alc268_dac_nids), +@@ -10181,13 +10363,15 @@ + .input_mux = &alc268_capture_source, + }, + [ALC268_ZEPTO] = { +- .mixers = { alc268_base_mixer, alc268_capture_alt_mixer }, ++ .mixers = { alc268_base_mixer, alc268_capture_alt_mixer, ++ alc268_beep_mixer }, + .init_verbs = { alc268_base_init_verbs, alc268_eapd_verbs, + alc268_toshiba_verbs }, + .num_dacs = ARRAY_SIZE(alc268_dac_nids), + .dac_nids = alc268_dac_nids, + .num_adc_nids = ARRAY_SIZE(alc268_adc_nids_alt), + .adc_nids = alc268_adc_nids_alt, ++ .capsrc_nids = alc268_capsrc_nids, + .hp_nid = 0x03, + .dig_out_nid = ALC268_DIGOUT_NID, + .num_channel_mode = ARRAY_SIZE(alc268_modes), +@@ -10205,6 +10389,7 @@ + .dac_nids = alc268_dac_nids, + .num_adc_nids = ARRAY_SIZE(alc268_adc_nids_alt), + .adc_nids = alc268_adc_nids_alt, ++ .capsrc_nids = alc268_capsrc_nids, + .hp_nid = 0x03, + .dig_out_nid = ALC268_DIGOUT_NID, + .num_channel_mode = ARRAY_SIZE(alc268_modes), +@@ -10261,13 +10446,22 @@ + spec->stream_name_digital = "ALC268 Digital"; + spec->stream_digital_playback = &alc268_pcm_digital_playback; + ++ if (!query_amp_caps(codec, 0x1d, HDA_INPUT)) ++ /* override the amp caps for beep generator */ ++ snd_hda_override_amp_caps(codec, 0x1d, HDA_INPUT, ++ (0x0c << AC_AMPCAP_OFFSET_SHIFT) | ++ (0x0c << AC_AMPCAP_NUM_STEPS_SHIFT) | ++ (0x07 << AC_AMPCAP_STEP_SIZE_SHIFT) | ++ (0 << AC_AMPCAP_MUTE_SHIFT)); ++ + if (!spec->adc_nids && spec->input_mux) { + /* check whether NID 0x07 is valid */ + unsigned int wcap = get_wcaps(codec, 0x07); ++ int i; + + /* get type */ + wcap = (wcap & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT; +- if (wcap != AC_WID_AUD_IN) { ++ if (wcap != AC_WID_AUD_IN || spec->input_mux->num_items == 1) { + spec->adc_nids = alc268_adc_nids_alt; + spec->num_adc_nids = ARRAY_SIZE(alc268_adc_nids_alt); + spec->mixers[spec->num_mixers] = +@@ -10280,6 +10474,12 @@ + alc268_capture_mixer; + spec->num_mixers++; + } ++ spec->capsrc_nids = alc268_capsrc_nids; ++ /* set default input source */ ++ for (i = 0; i < spec->num_adc_nids; i++) ++ snd_hda_codec_write_cache(codec, alc268_capsrc_nids[i], ++ 0, AC_VERB_SET_CONNECT_SEL, ++ spec->input_mux->items[0].index); + } + + spec->vmaster_nid = 0x02; +@@ -10553,9 +10753,12 @@ + /* init callback for auto-configuration model -- overriding the default init */ + static void alc269_auto_init(struct hda_codec *codec) + { ++ struct alc_spec *spec = codec->spec; + alc269_auto_init_multi_out(codec); + alc269_auto_init_hp_out(codec); + alc269_auto_init_analog_input(codec); ++ if (spec->unsol_event) ++ alc_sku_automute(codec); + } + + /* +@@ -11477,13 +11680,7 @@ + hda_nid_t nid, + int pin_type, int dac_idx) + { +- /* set as output */ +- +- snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, +- pin_type); +- snd_hda_codec_write(codec, dac_idx, 0, AC_VERB_SET_AMP_GAIN_MUTE, +- AMP_OUT_UNMUTE); +- ++ alc_set_pin_output(codec, nid, pin_type); + } + + static void alc861_auto_init_multi_out(struct hda_codec *codec) +@@ -11510,6 +11707,9 @@ + if (pin) /* connect to front */ + alc861_auto_set_output_and_unmute(codec, pin, PIN_HP, + spec->multiout.dac_nids[0]); ++ pin = spec->autocfg.speaker_pins[0]; ++ if (pin) ++ alc861_auto_set_output_and_unmute(codec, pin, PIN_OUT, 0); + } + + static void alc861_auto_init_analog_input(struct hda_codec *codec) +@@ -11582,9 +11782,12 @@ + /* additional initialization for auto-configuration model */ + static void alc861_auto_init(struct hda_codec *codec) + { ++ struct alc_spec *spec = codec->spec; + alc861_auto_init_multi_out(codec); + alc861_auto_init_hp_out(codec); + alc861_auto_init_analog_input(codec); ++ if (spec->unsol_event) ++ alc_sku_automute(codec); + } + + #ifdef CONFIG_SND_HDA_POWER_SAVE +@@ -11836,6 +12039,8 @@ + 0x09, + }; + ++static hda_nid_t alc861vd_capsrc_nids[1] = { 0x22 }; ++ + /* input MUX */ + /* FIXME: should be a matrix-type input source selection */ + static struct hda_input_mux alc861vd_capture_source = { +@@ -11849,11 +12054,10 @@ + }; + + static struct hda_input_mux alc861vd_dallas_capture_source = { +- .num_items = 3, ++ .num_items = 2, + .items = { +- { "Front Mic", 0x0 }, +- { "ATAPI Mic", 0x1 }, +- { "Line In", 0x5 }, ++ { "Ext Mic", 0x0 }, ++ { "Int Mic", 0x1 }, + }, + }; + +@@ -11867,33 +12071,8 @@ + + #define alc861vd_mux_enum_info alc_mux_enum_info + #define alc861vd_mux_enum_get alc_mux_enum_get +- +-static int alc861vd_mux_enum_put(struct snd_kcontrol *kcontrol, +- struct snd_ctl_elem_value *ucontrol) +-{ +- struct hda_codec *codec = snd_kcontrol_chip(kcontrol); +- struct alc_spec *spec = codec->spec; +- const struct hda_input_mux *imux = spec->input_mux; +- unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id); +- static hda_nid_t capture_mixers[1] = { 0x22 }; +- hda_nid_t nid = capture_mixers[adc_idx]; +- unsigned int *cur_val = &spec->cur_mux[adc_idx]; +- unsigned int i, idx; +- +- idx = ucontrol->value.enumerated.item[0]; +- if (idx >= imux->num_items) +- idx = imux->num_items - 1; +- if (*cur_val == idx) +- return 0; +- for (i = 0; i < imux->num_items; i++) { +- unsigned int v = (i == idx) ? 0 : HDA_AMP_MUTE; +- snd_hda_codec_amp_stereo(codec, nid, HDA_INPUT, +- imux->items[i].index, +- HDA_AMP_MUTE, v); +- } +- *cur_val = idx; +- return 1; +-} ++/* ALC861VD has the ALC882-type input selection (but has only one ADC) */ ++#define alc861vd_mux_enum_put alc882_mux_enum_put + + /* + * 2ch mode +@@ -12048,20 +12227,22 @@ + { } /* end */ + }; + +-/* Pin assignment: Front=0x14, HP = 0x15, +- * Front Mic=0x18, ATAPI Mic = 0x19, Line In = 0x1d ++/* Pin assignment: Speaker=0x14, HP = 0x15, ++ * Ext Mic=0x18, Int Mic = 0x19, CD = 0x1c, PC Beep = 0x1d + */ + static struct snd_kcontrol_new alc861vd_dallas_mixer[] = { +- HDA_CODEC_VOLUME("Front Playback Volume", 0x02, 0x0, HDA_OUTPUT), +- HDA_BIND_MUTE("Front Playback Switch", 0x0c, 2, HDA_INPUT), ++ HDA_CODEC_VOLUME("Speaker Playback Volume", 0x02, 0x0, HDA_OUTPUT), ++ HDA_BIND_MUTE("Speaker Playback Switch", 0x0c, 2, HDA_INPUT), + HDA_CODEC_VOLUME("Headphone Playback Volume", 0x03, 0x0, HDA_OUTPUT), + HDA_BIND_MUTE("Headphone Playback Switch", 0x0d, 2, HDA_INPUT), +- HDA_CODEC_VOLUME("Front Mic Playback Volume", 0x0b, 0x0, HDA_INPUT), +- HDA_CODEC_MUTE("Front Mic Playback Switch", 0x0b, 0x0, HDA_INPUT), +- HDA_CODEC_VOLUME("ATAPI Mic Playback Volume", 0x0b, 0x1, HDA_INPUT), +- HDA_CODEC_MUTE("ATAPI Mic Playback Switch", 0x0b, 0x1, HDA_INPUT), +- HDA_CODEC_VOLUME("Line Playback Volume", 0x0b, 0x05, HDA_INPUT), +- HDA_CODEC_MUTE("Line Playback Switch", 0x0b, 0x05, HDA_INPUT), ++ HDA_CODEC_VOLUME("Ext Mic Boost", 0x18, 0, HDA_INPUT), ++ HDA_CODEC_VOLUME("Ext Mic Playback Volume", 0x0b, 0x0, HDA_INPUT), ++ HDA_CODEC_MUTE("Ext Mic Playback Switch", 0x0b, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME("Int Mic Boost", 0x19, 0, HDA_INPUT), ++ HDA_CODEC_VOLUME("Int Mic Playback Volume", 0x0b, 0x1, HDA_INPUT), ++ HDA_CODEC_MUTE("Int Mic Playback Switch", 0x0b, 0x1, HDA_INPUT), ++ HDA_CODEC_VOLUME("PC Beep Volume", 0x0b, 0x05, HDA_INPUT), ++ HDA_CODEC_MUTE("PC Beep Switch", 0x0b, 0x05, HDA_INPUT), + { } /* end */ + }; + +@@ -12362,6 +12543,7 @@ + /*SND_PCI_QUIRK(0x1179, 0xff00, "DALLAS", ALC861VD_DALLAS),*/ /*lenovo*/ + SND_PCI_QUIRK(0x1179, 0xff01, "DALLAS", ALC861VD_DALLAS), + SND_PCI_QUIRK(0x1179, 0xff03, "Toshiba P205", ALC861VD_LENOVO), ++ SND_PCI_QUIRK(0x1179, 0xff31, "Toshiba L30-149", ALC861VD_DALLAS), + SND_PCI_QUIRK(0x1565, 0x820d, "Biostar NF61S SE", ALC861VD_6ST_DIG), + SND_PCI_QUIRK(0x17aa, 0x2066, "Lenovo", ALC861VD_LENOVO), + SND_PCI_QUIRK(0x17aa, 0x3802, "Lenovo 3000 C200", ALC861VD_LENOVO), +@@ -12376,8 +12558,6 @@ + alc861vd_3stack_init_verbs }, + .num_dacs = ARRAY_SIZE(alc660vd_dac_nids), + .dac_nids = alc660vd_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc861vd_adc_nids), +- .adc_nids = alc861vd_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc861vd_3stack_2ch_modes), + .channel_mode = alc861vd_3stack_2ch_modes, + .input_mux = &alc861vd_capture_source, +@@ -12389,8 +12569,6 @@ + .num_dacs = ARRAY_SIZE(alc660vd_dac_nids), + .dac_nids = alc660vd_dac_nids, + .dig_out_nid = ALC861VD_DIGOUT_NID, +- .num_adc_nids = ARRAY_SIZE(alc861vd_adc_nids), +- .adc_nids = alc861vd_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc861vd_3stack_2ch_modes), + .channel_mode = alc861vd_3stack_2ch_modes, + .input_mux = &alc861vd_capture_source, +@@ -12435,8 +12613,6 @@ + alc861vd_lenovo_unsol_verbs }, + .num_dacs = ARRAY_SIZE(alc660vd_dac_nids), + .dac_nids = alc660vd_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc861vd_adc_nids), +- .adc_nids = alc861vd_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc861vd_3stack_2ch_modes), + .channel_mode = alc861vd_3stack_2ch_modes, + .input_mux = &alc861vd_capture_source, +@@ -12448,8 +12624,6 @@ + .init_verbs = { alc861vd_dallas_verbs }, + .num_dacs = ARRAY_SIZE(alc861vd_dac_nids), + .dac_nids = alc861vd_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc861vd_adc_nids), +- .adc_nids = alc861vd_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc861vd_3stack_2ch_modes), + .channel_mode = alc861vd_3stack_2ch_modes, + .input_mux = &alc861vd_dallas_capture_source, +@@ -12461,9 +12635,7 @@ + .init_verbs = { alc861vd_dallas_verbs, alc861vd_eapd_verbs }, + .num_dacs = ARRAY_SIZE(alc861vd_dac_nids), + .dac_nids = alc861vd_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc861vd_adc_nids), + .dig_out_nid = ALC861VD_DIGOUT_NID, +- .adc_nids = alc861vd_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc861vd_3stack_2ch_modes), + .channel_mode = alc861vd_3stack_2ch_modes, + .input_mux = &alc861vd_hp_capture_source, +@@ -12478,11 +12650,7 @@ + static void alc861vd_auto_set_output_and_unmute(struct hda_codec *codec, + hda_nid_t nid, int pin_type, int dac_idx) + { +- /* set as output */ +- snd_hda_codec_write(codec, nid, 0, +- AC_VERB_SET_PIN_WIDGET_CONTROL, pin_type); +- snd_hda_codec_write(codec, nid, 0, +- AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE); ++ alc_set_pin_output(codec, nid, pin_type); + } + + static void alc861vd_auto_init_multi_out(struct hda_codec *codec) +@@ -12509,6 +12677,9 @@ + pin = spec->autocfg.hp_pins[0]; + if (pin) /* connect to front and use dac 0 */ + alc861vd_auto_set_output_and_unmute(codec, pin, PIN_HP, 0); ++ pin = spec->autocfg.speaker_pins[0]; ++ if (pin) ++ alc861vd_auto_set_output_and_unmute(codec, pin, PIN_OUT, 0); + } + + #define alc861vd_is_input_pin(nid) alc880_is_input_pin(nid) +@@ -12712,9 +12883,12 @@ + /* additional initialization for auto-configuration model */ + static void alc861vd_auto_init(struct hda_codec *codec) + { ++ struct alc_spec *spec = codec->spec; + alc861vd_auto_init_multi_out(codec); + alc861vd_auto_init_hp_out(codec); + alc861vd_auto_init_analog_input(codec); ++ if (spec->unsol_event) ++ alc_sku_automute(codec); + } + + static int patch_alc861vd(struct hda_codec *codec) +@@ -12765,6 +12939,7 @@ + + spec->adc_nids = alc861vd_adc_nids; + spec->num_adc_nids = ARRAY_SIZE(alc861vd_adc_nids); ++ spec->capsrc_nids = alc861vd_capsrc_nids; + + spec->mixers[spec->num_mixers] = alc861vd_capture_mixer; + spec->num_mixers++; +@@ -12806,9 +12981,11 @@ + /* ADC1-2 */ + 0x09, + }; ++ ++static hda_nid_t alc662_capsrc_nids[1] = { 0x22 }; ++ + /* input MUX */ + /* FIXME: should be a matrix-type input source selection */ +- + static struct hda_input_mux alc662_capture_source = { + .num_items = 4, + .items = { +@@ -12837,33 +13014,8 @@ + + #define alc662_mux_enum_info alc_mux_enum_info + #define alc662_mux_enum_get alc_mux_enum_get ++#define alc662_mux_enum_put alc882_mux_enum_put + +-static int alc662_mux_enum_put(struct snd_kcontrol *kcontrol, +- struct snd_ctl_elem_value *ucontrol) +-{ +- struct hda_codec *codec = snd_kcontrol_chip(kcontrol); +- struct alc_spec *spec = codec->spec; +- const struct hda_input_mux *imux = spec->input_mux; +- unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id); +- static hda_nid_t capture_mixers[2] = { 0x23, 0x22 }; +- hda_nid_t nid = capture_mixers[adc_idx]; +- unsigned int *cur_val = &spec->cur_mux[adc_idx]; +- unsigned int i, idx; +- +- idx = ucontrol->value.enumerated.item[0]; +- if (idx >= imux->num_items) +- idx = imux->num_items - 1; +- if (*cur_val == idx) +- return 0; +- for (i = 0; i < imux->num_items; i++) { +- unsigned int v = (i == idx) ? 0 : HDA_AMP_MUTE; +- snd_hda_codec_amp_stereo(codec, nid, HDA_INPUT, +- imux->items[i].index, +- HDA_AMP_MUTE, v); +- } +- *cur_val = idx; +- return 1; +-} + /* + * 2ch mode + */ +@@ -13340,8 +13492,6 @@ + .num_dacs = ARRAY_SIZE(alc662_dac_nids), + .dac_nids = alc662_dac_nids, + .dig_out_nid = ALC662_DIGOUT_NID, +- .num_adc_nids = ARRAY_SIZE(alc662_adc_nids), +- .adc_nids = alc662_adc_nids, + .dig_in_nid = ALC662_DIGIN_NID, + .num_channel_mode = ARRAY_SIZE(alc662_3ST_2ch_modes), + .channel_mode = alc662_3ST_2ch_modes, +@@ -13354,8 +13504,6 @@ + .num_dacs = ARRAY_SIZE(alc662_dac_nids), + .dac_nids = alc662_dac_nids, + .dig_out_nid = ALC662_DIGOUT_NID, +- .num_adc_nids = ARRAY_SIZE(alc662_adc_nids), +- .adc_nids = alc662_adc_nids, + .dig_in_nid = ALC662_DIGIN_NID, + .num_channel_mode = ARRAY_SIZE(alc662_3ST_6ch_modes), + .channel_mode = alc662_3ST_6ch_modes, +@@ -13368,8 +13516,6 @@ + .init_verbs = { alc662_init_verbs }, + .num_dacs = ARRAY_SIZE(alc662_dac_nids), + .dac_nids = alc662_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc662_adc_nids), +- .adc_nids = alc662_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc662_3ST_6ch_modes), + .channel_mode = alc662_3ST_6ch_modes, + .need_dac_fix = 1, +@@ -13382,8 +13528,6 @@ + .num_dacs = ARRAY_SIZE(alc662_dac_nids), + .dac_nids = alc662_dac_nids, + .dig_out_nid = ALC662_DIGOUT_NID, +- .num_adc_nids = ARRAY_SIZE(alc662_adc_nids), +- .adc_nids = alc662_adc_nids, + .dig_in_nid = ALC662_DIGIN_NID, + .num_channel_mode = ARRAY_SIZE(alc662_5stack_modes), + .channel_mode = alc662_5stack_modes, +@@ -13394,8 +13538,6 @@ + .init_verbs = { alc662_init_verbs, alc662_sue_init_verbs }, + .num_dacs = ARRAY_SIZE(alc662_dac_nids), + .dac_nids = alc662_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc662_adc_nids), +- .adc_nids = alc662_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc662_3ST_2ch_modes), + .channel_mode = alc662_3ST_2ch_modes, + .input_mux = &alc662_lenovo_101e_capture_source, +@@ -13408,8 +13550,6 @@ + alc662_eeepc_sue_init_verbs }, + .num_dacs = ARRAY_SIZE(alc662_dac_nids), + .dac_nids = alc662_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc861vd_adc_nids), +- .adc_nids = alc662_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc662_3ST_2ch_modes), + .channel_mode = alc662_3ST_2ch_modes, + .input_mux = &alc662_eeepc_capture_source, +@@ -13423,8 +13563,6 @@ + alc662_eeepc_ep20_sue_init_verbs }, + .num_dacs = ARRAY_SIZE(alc662_dac_nids), + .dac_nids = alc662_dac_nids, +- .num_adc_nids = ARRAY_SIZE(alc662_adc_nids), +- .adc_nids = alc662_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc662_3ST_6ch_modes), + .channel_mode = alc662_3ST_6ch_modes, + .input_mux = &alc662_lenovo_101e_capture_source, +@@ -13570,11 +13708,7 @@ + hda_nid_t nid, int pin_type, + int dac_idx) + { +- /* set as output */ +- snd_hda_codec_write(codec, nid, 0, +- AC_VERB_SET_PIN_WIDGET_CONTROL, pin_type); +- snd_hda_codec_write(codec, nid, 0, +- AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE); ++ alc_set_pin_output(codec, nid, pin_type); + /* need the manual connection? */ + if (alc880_is_multi_pin(nid)) { + struct alc_spec *spec = codec->spec; +@@ -13609,6 +13743,9 @@ + if (pin) /* connect to front */ + /* use dac 0 */ + alc662_auto_set_output_and_unmute(codec, pin, PIN_HP, 0); ++ pin = spec->autocfg.speaker_pins[0]; ++ if (pin) ++ alc662_auto_set_output_and_unmute(codec, pin, PIN_OUT, 0); + } + + #define alc662_is_input_pin(nid) alc880_is_input_pin(nid) +@@ -13686,9 +13823,12 @@ + /* additional initialization for auto-configuration model */ + static void alc662_auto_init(struct hda_codec *codec) + { ++ struct alc_spec *spec = codec->spec; + alc662_auto_init_multi_out(codec); + alc662_auto_init_hp_out(codec); + alc662_auto_init_analog_input(codec); ++ if (spec->unsol_event) ++ alc_sku_automute(codec); + } + + static int patch_alc662(struct hda_codec *codec) +@@ -13736,10 +13876,9 @@ + spec->stream_digital_playback = &alc662_pcm_digital_playback; + spec->stream_digital_capture = &alc662_pcm_digital_capture; + +- if (!spec->adc_nids && spec->input_mux) { +- spec->adc_nids = alc662_adc_nids; +- spec->num_adc_nids = ARRAY_SIZE(alc662_adc_nids); +- } ++ spec->adc_nids = alc662_adc_nids; ++ spec->num_adc_nids = ARRAY_SIZE(alc662_adc_nids); ++ spec->capsrc_nids = alc662_capsrc_nids; + + spec->vmaster_nid = 0x02; + +Index: alsa-driver-1.0.16/sound/pci/hda/patch_si3054.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/hda/patch_si3054.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/hda/patch_si3054.c 2008-03-07 13:13:52.000000000 -0500 +@@ -28,7 +28,7 @@ + #include + #include "hda_codec.h" + #include "hda_local.h" +- ++#include "hda_patch.h" + + /* si3054 verbs */ + #define SI3054_VERB_READ_NODE 0x900 +@@ -206,7 +206,7 @@ + info->name = "Si3054 Modem"; + info->stream[SNDRV_PCM_STREAM_PLAYBACK] = si3054_pcm; + info->stream[SNDRV_PCM_STREAM_CAPTURE] = si3054_pcm; +- info->is_modem = 1; ++ info->pcm_type = HDA_PCM_TYPE_MODEM; + return 0; + } + +Index: alsa-driver-1.0.16/sound/pci/hda/patch_sigmatel.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/hda/patch_sigmatel.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/hda/patch_sigmatel.c 2008-03-07 13:13:52.000000000 -0500 +@@ -32,6 +32,7 @@ + #include + #include "hda_codec.h" + #include "hda_local.h" ++#include "hda_patch.h" + + #define NUM_CONTROL_ALLOC 32 + #define STAC_PWR_EVENT 0x20 +@@ -64,11 +65,14 @@ + + enum { + STAC_92HD73XX_REF, ++ STAC_DELL_M6, + STAC_92HD73XX_MODELS + }; + + enum { + STAC_92HD71BXX_REF, ++ STAC_DELL_M4_1, ++ STAC_DELL_M4_2, + STAC_92HD71BXX_MODELS + }; + +@@ -136,6 +140,7 @@ + /* power management */ + unsigned int num_pwrs; + hda_nid_t *pwr_nids; ++ hda_nid_t *dac_list; + + /* playback */ + struct hda_input_mux *mono_mux; +@@ -245,7 +250,7 @@ + 0x1c, + }; + +-static hda_nid_t stac92hd71bxx_dac_nids[2] = { ++static hda_nid_t stac92hd71bxx_dac_nids[1] = { + 0x10, /*0x11, */ + }; + +@@ -291,6 +296,10 @@ + 0x15, 0x16, 0x17 + }; + ++static hda_nid_t stac927x_dac_nids[6] = { ++ 0x02, 0x03, 0x04, 0x05, 0x06, 0 ++}; ++ + static hda_nid_t stac927x_dmux_nids[1] = { + 0x1b, + }; +@@ -332,10 +341,10 @@ + 0x0f, 0x10, 0x11, 0x15, 0x1b, + }; + +-static hda_nid_t stac92hd73xx_pin_nids[12] = { ++static hda_nid_t stac92hd73xx_pin_nids[13] = { + 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, + 0x0f, 0x10, 0x11, 0x12, 0x13, +- 0x14, 0x22 ++ 0x14, 0x1e, 0x22 + }; + + static hda_nid_t stac92hd71bxx_pin_nids[10] = { +@@ -528,6 +537,24 @@ + {} + }; + ++static struct hda_verb dell_m6_core_init[] = { ++ /* set master volume and direct control */ ++ { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff}, ++ /* setup audio connections */ ++ { 0x0a, AC_VERB_SET_CONNECT_SEL, 0x00}, ++ { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x01}, ++ { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x02}, ++ /* setup adcs to point to mixer */ ++ { 0x20, AC_VERB_SET_CONNECT_SEL, 0x0b}, ++ { 0x21, AC_VERB_SET_CONNECT_SEL, 0x0b}, ++ /* setup import muxs */ ++ { 0x28, AC_VERB_SET_CONNECT_SEL, 0x01}, ++ { 0x29, AC_VERB_SET_CONNECT_SEL, 0x01}, ++ { 0x2a, AC_VERB_SET_CONNECT_SEL, 0x01}, ++ { 0x2b, AC_VERB_SET_CONNECT_SEL, 0x00}, ++ {} ++}; ++ + static struct hda_verb stac92hd73xx_8ch_core_init[] = { + /* set master volume and direct control */ + { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff}, +@@ -911,6 +938,11 @@ + err = snd_hda_create_spdif_out_ctls(codec, spec->multiout.dig_out_nid); + if (err < 0) + return err; ++ err = snd_hda_create_spdif_share_sw(codec, ++ &spec->multiout); ++ if (err < 0) ++ return err; ++ spec->multiout.share_spdif = 1; + } + if (spec->dig_in_nid) { + err = snd_hda_create_spdif_in_ctls(codec, spec->dig_in_nid); +@@ -1212,24 +1244,48 @@ + {} /* terminator */ + }; + +-static unsigned int ref92hd73xx_pin_configs[12] = { ++static unsigned int ref92hd73xx_pin_configs[13] = { + 0x02214030, 0x02a19040, 0x01a19020, 0x02214030, + 0x0181302e, 0x01014010, 0x01014020, 0x01014030, + 0x02319040, 0x90a000f0, 0x90a000f0, 0x01452050, ++ 0x01452050, ++}; ++ ++static unsigned int dell_m6_pin_configs[13] = { ++ 0x0321101f, 0x4f00000f, 0x4f0000f0, 0x90170110, ++ 0x03a11020, 0x03011050, 0x4f0000f0, 0x4f0000f0, ++ 0x4f0000f0, 0x90a60160, 0x4f0000f0, 0x4f0000f0, ++ 0x4f0000f0, + }; + + static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { +- [STAC_92HD73XX_REF] = ref92hd73xx_pin_configs, ++ [STAC_92HD73XX_REF] = ref92hd73xx_pin_configs, ++ [STAC_DELL_M6] = dell_m6_pin_configs, + }; + + static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = { + [STAC_92HD73XX_REF] = "ref", ++ [STAC_DELL_M6] = "dell-m6", + }; + + static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = { + /* SigmaTel reference board */ + SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, +- "DFI LanParty", STAC_92HD73XX_REF), ++ "DFI LanParty", STAC_92HD73XX_REF), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0254, ++ "unknown Dell", STAC_DELL_M6), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0255, ++ "unknown Dell", STAC_DELL_M6), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0256, ++ "unknown Dell", STAC_DELL_M6), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0257, ++ "unknown Dell", STAC_DELL_M6), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x025e, ++ "unknown Dell", STAC_DELL_M6), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x025f, ++ "unknown Dell", STAC_DELL_M6), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0271, ++ "unknown Dell", STAC_DELL_M6), + {} /* terminator */ + }; + +@@ -1239,18 +1295,56 @@ + 0x90a000f0, 0x01452050, + }; + ++static unsigned int dell_m4_1_pin_configs[13] = { ++ 0x0421101f, 0x04a11221, 0x40f000f0, 0x90170110, ++ 0x23a1902e, 0x23014250, 0x40f000f0, 0x4f0000f0, ++ 0x40f000f0, 0x4f0000f0, ++}; ++ ++static unsigned int dell_m4_2_pin_configs[13] = { ++ 0x0421101f, 0x04a11221, 0x90a70330, 0x90170110, ++ 0x23a1902e, 0x23014250, 0x40f000f0, 0x40f000f0, ++ 0x40f000f0, 0x044413b0, ++}; ++ + static unsigned int *stac92hd71bxx_brd_tbl[STAC_92HD71BXX_MODELS] = { + [STAC_92HD71BXX_REF] = ref92hd71bxx_pin_configs, ++ [STAC_DELL_M4_1] = dell_m4_1_pin_configs, ++ [STAC_DELL_M4_2] = dell_m4_2_pin_configs, + }; + + static const char *stac92hd71bxx_models[STAC_92HD71BXX_MODELS] = { + [STAC_92HD71BXX_REF] = "ref", ++ [STAC_DELL_M4_1] = "dell-m4-1", ++ [STAC_DELL_M4_2] = "dell-m4-2", + }; + + static struct snd_pci_quirk stac92hd71bxx_cfg_tbl[] = { + /* SigmaTel reference board */ + SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, + "DFI LanParty", STAC_92HD71BXX_REF), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0233, ++ "unknown Dell", STAC_DELL_M4_1), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0234, ++ "unknown Dell", STAC_DELL_M4_1), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0250, ++ "unknown Dell", STAC_DELL_M4_1), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x024f, ++ "unknown Dell", STAC_DELL_M4_1), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x024d, ++ "unknown Dell", STAC_DELL_M4_1), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0251, ++ "unknown Dell", STAC_DELL_M4_1), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0277, ++ "unknown Dell", STAC_DELL_M4_1), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0263, ++ "unknown Dell", STAC_DELL_M4_2), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0265, ++ "unknown Dell", STAC_DELL_M4_2), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0262, ++ "unknown Dell", STAC_DELL_M4_2), ++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0264, ++ "unknown Dell", STAC_DELL_M4_2), + {} /* terminator */ + }; + +@@ -1743,7 +1837,8 @@ + struct snd_pcm_substream *substream) + { + struct sigmatel_spec *spec = codec->spec; +- return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream); ++ return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream, ++ hinfo); + } + + static int stac92xx_playback_pcm_prepare(struct hda_pcm_stream *hinfo, +@@ -1899,6 +1994,7 @@ + codec->num_pcms++; + info++; + info->name = "STAC92xx Digital"; ++ info->pcm_type = HDA_PCM_TYPE_SPDIF; + if (spec->multiout.dig_out_nid) { + info->stream[SNDRV_PCM_STREAM_PLAYBACK] = stac92xx_pcm_digital_playback; + info->stream[SNDRV_PCM_STREAM_PLAYBACK].nid = spec->multiout.dig_out_nid; +@@ -2232,6 +2328,29 @@ + return 0; + } + ++static int add_spec_dacs(struct sigmatel_spec *spec, hda_nid_t nid) ++{ ++ if (!spec->multiout.hp_nid) ++ spec->multiout.hp_nid = nid; ++ else if (spec->multiout.num_dacs > 4) { ++ printk(KERN_WARNING "stac92xx: No space for DAC 0x%x\n", nid); ++ return 1; ++ } else { ++ spec->multiout.dac_nids[spec->multiout.num_dacs] = nid; ++ spec->multiout.num_dacs++; ++ } ++ return 0; ++} ++ ++static int check_in_dac_nids(struct sigmatel_spec *spec, hda_nid_t nid) ++{ ++ if (is_in_dac_nids(spec, nid)) ++ return 1; ++ if (spec->multiout.hp_nid == nid) ++ return 1; ++ return 0; ++} ++ + /* add playback controls from the parsed DAC table */ + static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, + const struct auto_pin_cfg *cfg) +@@ -2246,7 +2365,7 @@ + unsigned int wid_caps, pincap; + + +- for (i = 0; i < cfg->line_outs; i++) { ++ for (i = 0; i < cfg->line_outs && i < spec->multiout.num_dacs; i++) { + if (!spec->multiout.dac_nids[i]) + continue; + +@@ -2294,10 +2413,11 @@ + + if (spec->mic_switch) { + unsigned int def_conf; +- nid = cfg->input_pins[AUTO_PIN_MIC]; ++ unsigned int mic_pin = AUTO_PIN_MIC; ++again: ++ nid = cfg->input_pins[mic_pin]; + def_conf = snd_hda_codec_read(codec, nid, 0, + AC_VERB_GET_CONFIG_DEFAULT, 0); +- + /* some laptops have an internal analog microphone + * which can't be used as a output */ + if (get_defcfg_connect(def_conf) != AC_JACK_PORT_FIXED) { +@@ -2307,38 +2427,22 @@ + err = stac92xx_add_control(spec, + STAC_CTL_WIDGET_IO_SWITCH, + "Mic as Output Switch", (nid << 8) | 1); ++ nid = snd_hda_codec_read(codec, nid, 0, ++ AC_VERB_GET_CONNECT_LIST, 0) & 0xff; ++ if (!check_in_dac_nids(spec, nid)) ++ add_spec_dacs(spec, nid); + if (err < 0) + return err; + } ++ } else if (mic_pin == AUTO_PIN_MIC) { ++ mic_pin = AUTO_PIN_FRONT_MIC; ++ goto again; + } + } + + return 0; + } + +-static int check_in_dac_nids(struct sigmatel_spec *spec, hda_nid_t nid) +-{ +- if (is_in_dac_nids(spec, nid)) +- return 1; +- if (spec->multiout.hp_nid == nid) +- return 1; +- return 0; +-} +- +-static int add_spec_dacs(struct sigmatel_spec *spec, hda_nid_t nid) +-{ +- if (!spec->multiout.hp_nid) +- spec->multiout.hp_nid = nid; +- else if (spec->multiout.num_dacs > 4) { +- printk(KERN_WARNING "stac92xx: No space for DAC 0x%x\n", nid); +- return 1; +- } else { +- spec->multiout.dac_nids[spec->multiout.num_dacs] = nid; +- spec->multiout.num_dacs++; +- } +- return 0; +-} +- + /* add playback controls for Speaker and HP outputs */ + static int stac92xx_auto_create_hp_ctls(struct hda_codec *codec, + struct auto_pin_cfg *cfg) +@@ -2755,7 +2859,7 @@ + */ + for (i = 0; i < spec->autocfg.speaker_outs && lfe_pin == 0x0; i++) { + hda_nid_t pin = spec->autocfg.speaker_pins[i]; +- unsigned long wcaps = get_wcaps(codec, pin); ++ unsigned int wcaps = get_wcaps(codec, pin); + wcaps &= (AC_WCAP_STEREO | AC_WCAP_OUT_AMP); + if (wcaps == AC_WCAP_OUT_AMP) + /* found a mono speaker with an amp, must be lfe */ +@@ -2766,12 +2870,12 @@ + if (lfe_pin == 0 && spec->autocfg.speaker_outs == 0) { + for (i = 0; i < spec->autocfg.line_outs && lfe_pin == 0x0; i++) { + hda_nid_t pin = spec->autocfg.line_out_pins[i]; +- unsigned long cfg; +- cfg = snd_hda_codec_read(codec, pin, 0, ++ unsigned int defcfg; ++ defcfg = snd_hda_codec_read(codec, pin, 0, + AC_VERB_GET_CONFIG_DEFAULT, + 0x00); +- if (get_defcfg_device(cfg) == AC_JACK_SPEAKER) { +- unsigned long wcaps = get_wcaps(codec, pin); ++ if (get_defcfg_device(defcfg) == AC_JACK_SPEAKER) { ++ unsigned int wcaps = get_wcaps(codec, pin); + wcaps &= (AC_WCAP_STEREO | AC_WCAP_OUT_AMP); + if (wcaps == AC_WCAP_OUT_AMP) + /* found a mono speaker with an amp, +@@ -2876,6 +2980,19 @@ + return 0; /* nid is not a HP-Out */ + }; + ++static void stac92xx_power_down(struct hda_codec *codec) ++{ ++ struct sigmatel_spec *spec = codec->spec; ++ ++ /* power down inactive DACs */ ++ hda_nid_t *dac; ++ for (dac = spec->dac_list; *dac; dac++) ++ if (!is_in_dac_nids(spec, *dac) && ++ spec->multiout.hp_nid != *dac) ++ snd_hda_codec_write_cache(codec, *dac, 0, ++ AC_VERB_SET_POWER_STATE, AC_PWRST_D3); ++} ++ + static int stac92xx_init(struct hda_codec *codec) + { + struct sigmatel_spec *spec = codec->spec; +@@ -2919,16 +3036,21 @@ + ? STAC_HP_EVENT : STAC_PWR_EVENT; + int pinctl = snd_hda_codec_read(codec, spec->pwr_nids[i], + 0, AC_VERB_GET_PIN_WIDGET_CONTROL, 0); ++ int def_conf = snd_hda_codec_read(codec, spec->pwr_nids[i], ++ 0, AC_VERB_GET_CONFIG_DEFAULT, 0); + /* outputs are only ports capable of power management + * any attempts on powering down a input port cause the + * referenced VREF to act quirky. + */ + if (pinctl & AC_PINCTL_IN_EN) + continue; ++ if (get_defcfg_connect(def_conf) != AC_JACK_PORT_FIXED) ++ continue; + enable_pin_detect(codec, spec->pwr_nids[i], event | i); + codec->patch_ops.unsol_event(codec, (event | i) << 26); + } +- ++ if (spec->dac_list) ++ stac92xx_power_down(codec); + if (cfg->dig_out_pin) + stac92xx_auto_set_pinctl(codec, cfg->dig_out_pin, + AC_PINCTL_OUT_EN); +@@ -3101,6 +3223,9 @@ + spec->gpio_dir, spec->gpio_data); + snd_hda_codec_resume_amp(codec); + snd_hda_codec_resume_cache(codec); ++ /* power down inactive DACs */ ++ if (spec->dac_list) ++ stac92xx_power_down(codec); + /* invoke unsolicited event to reset the HP state */ + if (spec->hp_detect) + codec->patch_ops.unsol_event(codec, STAC_HP_EVENT << 26); +@@ -3329,13 +3454,40 @@ + + spec->num_muxes = ARRAY_SIZE(stac92hd73xx_mux_nids); + spec->num_adcs = ARRAY_SIZE(stac92hd73xx_adc_nids); +- spec->num_dmics = STAC92HD73XX_NUM_DMICS; + spec->num_dmuxes = ARRAY_SIZE(stac92hd73xx_dmux_nids); + spec->dinput_mux = &stac92hd73xx_dmux; + /* GPIO0 High = Enable EAPD */ + spec->gpio_mask = spec->gpio_dir = 0x1; + spec->gpio_data = 0x01; + ++ switch (spec->board_config) { ++ case STAC_DELL_M6: ++ spec->init = dell_m6_core_init; ++ switch (codec->subsystem_id) { ++ case 0x1028025e: /* Analog Mics */ ++ case 0x1028025f: ++ stac92xx_set_config_reg(codec, 0x0b, 0x90A70170); ++ spec->num_dmics = 0; ++ break; ++ case 0x10280254: /* Digital Mics */ ++ case 0x10280255: ++ case 0x10280271: ++ case 0x10280272: ++ stac92xx_set_config_reg(codec, 0x13, 0x90A60160); ++ spec->num_dmics = 1; ++ break; ++ case 0x10280256: /* Both */ ++ case 0x10280057: ++ stac92xx_set_config_reg(codec, 0x0b, 0x90A70170); ++ stac92xx_set_config_reg(codec, 0x13, 0x90A60160); ++ spec->num_dmics = 1; ++ break; ++ } ++ break; ++ default: ++ spec->num_dmics = STAC92HD73XX_NUM_DMICS; ++ } ++ + spec->num_pwrs = ARRAY_SIZE(stac92hd73xx_pwr_nids); + spec->pwr_nids = stac92hd73xx_pwr_nids; + +@@ -3424,7 +3576,7 @@ + spec->num_pwrs = ARRAY_SIZE(stac92hd71bxx_pwr_nids); + spec->pwr_nids = stac92hd71bxx_pwr_nids; + +- spec->multiout.num_dacs = 2; ++ spec->multiout.num_dacs = 1; + spec->multiout.hp_nid = 0x11; + spec->multiout.dac_nids = stac92hd71bxx_dac_nids; + +@@ -3588,6 +3740,7 @@ + spec->num_adcs = ARRAY_SIZE(stac927x_adc_nids); + spec->mux_nids = stac927x_mux_nids; + spec->num_muxes = ARRAY_SIZE(stac927x_mux_nids); ++ spec->dac_list = stac927x_dac_nids; + spec->multiout.dac_nids = spec->dac_nids; + + switch (spec->board_config) { +@@ -3602,8 +3755,10 @@ + spec->mixer = stac927x_mixer; + break; + case STAC_DELL_BIOS: ++ /* configure the analog microphone on some laptops */ ++ stac92xx_set_config_reg(codec, 0x0c, 0x90a79130); + /* correct the front output jack as a hp out */ +- stac92xx_set_config_reg(codec, 0x0f, 0x02270110); ++ stac92xx_set_config_reg(codec, 0x0f, 0x0227011f); + /* correct the front input jack as a mic */ + stac92xx_set_config_reg(codec, 0x0e, 0x02a79130); + /* fallthru */ +Index: alsa-driver-1.0.16/sound/pci/hda/patch_via.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/hda/patch_via.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/hda/patch_via.c 2008-03-07 13:13:52.000000000 -0500 +@@ -39,7 +39,7 @@ + #include + #include "hda_codec.h" + #include "hda_local.h" +- ++#include "hda_patch.h" + + /* amp values */ + #define AMP_VAL_IDX_SHIFT 19 +@@ -357,7 +357,8 @@ + struct snd_pcm_substream *substream) + { + struct via_spec *spec = codec->spec; +- return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream); ++ return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream, ++ hinfo); + } + + static int via_playback_pcm_prepare(struct hda_pcm_stream *hinfo, +@@ -493,6 +494,11 @@ + spec->multiout.dig_out_nid); + if (err < 0) + return err; ++ err = snd_hda_create_spdif_share_sw(codec, ++ &spec->multiout); ++ if (err < 0) ++ return err; ++ spec->multiout.share_spdif = 1; + } + if (spec->dig_in_nid) { + err = snd_hda_create_spdif_in_ctls(codec, spec->dig_in_nid); +@@ -523,6 +529,7 @@ + codec->num_pcms++; + info++; + info->name = spec->stream_name_digital; ++ info->pcm_type = HDA_PCM_TYPE_SPDIF; + if (spec->multiout.dig_out_nid) { + info->stream[SNDRV_PCM_STREAM_PLAYBACK] = + *(spec->stream_digital_playback); +Index: alsa-driver-1.0.16/sound/pci/ice1712/delta.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/ice1712/delta.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/ice1712/delta.c 2008-03-07 13:13:52.000000000 -0500 +@@ -1,8 +1,8 @@ + /* + * ALSA driver for ICEnsemble ICE1712 (Envy24) + * +- * Lowlevel functions for M-Audio Delta 1010, 44, 66, Dio2496, Audiophile +- * Digigram VX442 ++ * Lowlevel functions for M-Audio Delta 1010, 1010E, 44, 66, 66E, Dio2496, ++ * Audiophile, Digigram VX442 + * + * Copyright (c) 2000 Jaroslav Kysela + * +@@ -86,6 +86,7 @@ + unsigned char tmp; + tmp = snd_ice1712_read(ice, ICE1712_IREG_GPIO_DATA); + switch (ice->eeprom.subvendor) { ++ case ICE1712_SUBDEVICE_DELTA1010E: + case ICE1712_SUBDEVICE_DELTA1010LT: + tmp &= ~ICE1712_DELTA_1010LT_CS; + tmp |= ICE1712_DELTA_1010LT_CCLK | ICE1712_DELTA_1010LT_CS_CS8427; +@@ -109,6 +110,7 @@ + static void ap_cs8427_codec_deassert(struct snd_ice1712 *ice, unsigned char tmp) + { + switch (ice->eeprom.subvendor) { ++ case ICE1712_SUBDEVICE_DELTA1010E: + case ICE1712_SUBDEVICE_DELTA1010LT: + tmp &= ~ICE1712_DELTA_1010LT_CS; + tmp |= ICE1712_DELTA_1010LT_CS_NONE; +@@ -534,6 +536,14 @@ + int err; + struct snd_akm4xxx *ak; + ++ if (ice->eeprom.subvendor == ICE1712_SUBDEVICE_DELTA1010 && ++ ice->eeprom.gpiodir == 0x7b) ++ ice->eeprom.subvendor = ICE1712_SUBDEVICE_DELTA1010E; ++ ++ if (ice->eeprom.subvendor == ICE1712_SUBDEVICE_DELTA66 && ++ ice->eeprom.gpiodir == 0xfb) ++ ice->eeprom.subvendor = ICE1712_SUBDEVICE_DELTA66E; ++ + /* determine I2C, DACs and ADCs */ + switch (ice->eeprom.subvendor) { + case ICE1712_SUBDEVICE_AUDIOPHILE: +@@ -550,6 +560,7 @@ + ice->num_total_adcs = ice->omni ? 8 : 4; + break; + case ICE1712_SUBDEVICE_DELTA1010: ++ case ICE1712_SUBDEVICE_DELTA1010E: + case ICE1712_SUBDEVICE_DELTA1010LT: + case ICE1712_SUBDEVICE_MEDIASTATION: + ice->num_total_dacs = 8; +@@ -559,6 +570,7 @@ + ice->num_total_dacs = 4; /* two AK4324 codecs */ + break; + case ICE1712_SUBDEVICE_VX442: ++ case ICE1712_SUBDEVICE_DELTA66E: /* omni not suported yet */ + ice->num_total_dacs = 4; + ice->num_total_adcs = 4; + break; +@@ -568,8 +580,10 @@ + switch (ice->eeprom.subvendor) { + case ICE1712_SUBDEVICE_AUDIOPHILE: + case ICE1712_SUBDEVICE_DELTA410: ++ case ICE1712_SUBDEVICE_DELTA1010E: + case ICE1712_SUBDEVICE_DELTA1010LT: + case ICE1712_SUBDEVICE_VX442: ++ case ICE1712_SUBDEVICE_DELTA66E: + if ((err = snd_i2c_bus_create(ice->card, "ICE1712 GPIO 1", NULL, &ice->i2c)) < 0) { + snd_printk(KERN_ERR "unable to create I2C bus\n"); + return err; +@@ -601,6 +615,7 @@ + /* no analog? */ + switch (ice->eeprom.subvendor) { + case ICE1712_SUBDEVICE_DELTA1010: ++ case ICE1712_SUBDEVICE_DELTA1010E: + case ICE1712_SUBDEVICE_DELTADIO2496: + case ICE1712_SUBDEVICE_MEDIASTATION: + return 0; +@@ -627,6 +642,7 @@ + err = snd_ice1712_akm4xxx_init(ak, &akm_delta44, &akm_delta44_priv, ice); + break; + case ICE1712_SUBDEVICE_VX442: ++ case ICE1712_SUBDEVICE_DELTA66E: + err = snd_ice1712_akm4xxx_init(ak, &akm_vx442, &akm_vx442_priv, ice); + break; + default: +@@ -674,6 +690,7 @@ + if (err < 0) + return err; + break; ++ case ICE1712_SUBDEVICE_DELTA1010E: + case ICE1712_SUBDEVICE_DELTA1010LT: + err = snd_ctl_add(ice->card, snd_ctl_new1(&snd_ice1712_delta1010lt_wordclock_select, ice)); + if (err < 0) +@@ -716,6 +733,7 @@ + case ICE1712_SUBDEVICE_DELTA44: + case ICE1712_SUBDEVICE_DELTA66: + case ICE1712_SUBDEVICE_VX442: ++ case ICE1712_SUBDEVICE_DELTA66E: + err = snd_ice1712_akm4xxx_build_controls(ice); + if (err < 0) + return err; +Index: alsa-driver-1.0.16/sound/pci/ice1712/delta.h +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/ice1712/delta.h 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/ice1712/delta.h 2008-03-07 13:13:52.000000000 -0500 +@@ -36,8 +36,10 @@ + "{Lionstracs,Mediastation}," + + #define ICE1712_SUBDEVICE_DELTA1010 0x121430d6 ++#define ICE1712_SUBDEVICE_DELTA1010E 0xff1430d6 + #define ICE1712_SUBDEVICE_DELTADIO2496 0x121431d6 + #define ICE1712_SUBDEVICE_DELTA66 0x121432d6 ++#define ICE1712_SUBDEVICE_DELTA66E 0xff1432d6 + #define ICE1712_SUBDEVICE_DELTA44 0x121433d6 + #define ICE1712_SUBDEVICE_AUDIOPHILE 0x121434d6 + #define ICE1712_SUBDEVICE_DELTA410 0x121438d6 +Index: alsa-driver-1.0.16/sound/pci/ice1712/hoontech.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/ice1712/hoontech.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/ice1712/hoontech.c 2008-03-07 13:13:52.000000000 -0500 +@@ -208,6 +208,19 @@ + /* ICE1712_STDSP24_MUTE | + ICE1712_STDSP24_INSEL | + ICE1712_STDSP24_DAREAR; */ ++ /* These boxconfigs have caused problems in the past. ++ * The code is not optimal, but should now enable a working config to ++ * be achieved. ++ * ** MIDI IN can only be configured on one box ** ++ * ICE1712_STDSP24_BOX_MIDI1 needs to be set for that box. ++ * Tests on a ADAC2000 box suggest the box config flags do not ++ * work as would be expected, and the inputs are crossed. ++ * Setting ICE1712_STDSP24_BOX_MIDI1 and ICE1712_STDSP24_BOX_MIDI2 ++ * on the same box connects MIDI-In to both 401 uarts; both outputs ++ * are then active on all boxes. ++ * The default config here sets up everything on the first box. ++ * Alan Horstmann 5.2.2008 ++ */ + spec->boxconfig[0] = ICE1712_STDSP24_BOX_CHN1 | + ICE1712_STDSP24_BOX_CHN2 | + ICE1712_STDSP24_BOX_CHN3 | +@@ -223,14 +236,14 @@ + (spec->config & ICE1712_STDSP24_MUTE) ? 1 : 0); + snd_ice1712_stdsp24_insel(ice, + (spec->config & ICE1712_STDSP24_INSEL) ? 1 : 0); +- for (box = 0; box < 1; box++) { ++ for (box = 0; box < 4; box++) { + if (spec->boxconfig[box] & ICE1712_STDSP24_BOX_MIDI2) + snd_ice1712_stdsp24_midi2(ice, 1); + for (chn = 0; chn < 4; chn++) + snd_ice1712_stdsp24_box_channel(ice, box, chn, + (spec->boxconfig[box] & (1 << chn)) ? 1 : 0); +- snd_ice1712_stdsp24_box_midi(ice, box, +- (spec->boxconfig[box] & ICE1712_STDSP24_BOX_MIDI1) ? 1 : 0); ++ if (spec->boxconfig[box] & ICE1712_STDSP24_BOX_MIDI1) ++ snd_ice1712_stdsp24_box_midi(ice, box, 1); + } + + return 0; +@@ -322,6 +335,8 @@ + .name = "Hoontech SoundTrack Audio DSP24", + .model = "dsp24", + .chip_init = snd_ice1712_hoontech_init, ++ .mpu401_1_name = "MIDI-1 Hoontech/STA DSP24", ++ .mpu401_2_name = "MIDI-2 Hoontech/STA DSP24", + }, + { + .subvendor = ICE1712_SUBDEVICE_STDSP24_VALUE, /* a dummy id */ +Index: alsa-driver-1.0.16/sound/soc/fsl/mpc8610_hpcd.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/soc/fsl/mpc8610_hpcd.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/soc/fsl/mpc8610_hpcd.c 2008-03-07 13:13:52.000000000 -0500 +@@ -315,7 +315,7 @@ + machine_data->dai_format = SND_SOC_DAIFMT_LEFT_J; + machine_data->codec_clk_direction = SND_SOC_CLOCK_IN; + machine_data->cpu_clk_direction = SND_SOC_CLOCK_OUT; +- } else if (strcasecmp(sprop, "rj-master") == 0) { ++ } else if (strcasecmp(sprop, "rj-slave") == 0) { + machine_data->dai_format = SND_SOC_DAIFMT_RIGHT_J; + machine_data->codec_clk_direction = SND_SOC_CLOCK_OUT; + machine_data->cpu_clk_direction = SND_SOC_CLOCK_IN; +Index: alsa-driver-1.0.16/drivers/Kconfig +=================================================================== +--- alsa-driver-1.0.16.orig/drivers/Kconfig 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/drivers/Kconfig 2008-03-07 13:13:52.000000000 -0500 +@@ -28,12 +28,19 @@ + config SND_PCSP + tristate "Internal PC speaker support" + depends on SND +- depends on EXPERIMENTAL && X86_PC && HIGH_RES_TIMERS ++ depends on X86_PC && HIGH_RES_TIMERS + help + If you don't have a sound card in your computer, you can include a + driver for the PC speaker which allows it to act like a primitive + sound card. ++ This driver also replaces the pcspkr driver for beeps. + +- You can compile this as a module, which will be called snd-pcsp. ++ You can compile this as a module which will be called snd-pcsp. + + You don't need this driver if you only want your computer to beep. ++ You don't need this driver if you have an NForce-based motherboard ++ as it doesn't work with the NForce chipsets. ++ You don't need this driver if you only have a tablet piezo beeper ++ in your PC instead of the real speaker. ++ ++ It should not hurt to say Y or M here in all other cases. +Index: alsa-driver-1.0.16/drivers/pcsp/pcsp.c +=================================================================== +--- alsa-driver-1.0.16.orig/drivers/pcsp/pcsp.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/drivers/pcsp/pcsp.c 2008-03-07 13:18:57.000000000 -0500 +@@ -2,18 +2,17 @@ + * PC-Speaker driver for Linux + * + * Copyright (C) 1997-2001 David Woodhouse +- * Copyright (C) 2001-2007 Stas Sergeev ++ * Copyright (C) 2001-2008 Stas Sergeev + */ + + #include "adriver.h" + #include + #include ++#include + #include + #include + #include +- + #include +-#include + #include + #include "pcsp_input.h" + #include "pcsp.h" +@@ -22,6 +21,7 @@ + MODULE_DESCRIPTION("PC-Speaker driver"); + MODULE_LICENSE("GPL"); + MODULE_SUPPORTED_DEVICE("{{PC-Speaker, pcsp}}"); ++MODULE_ALIAS("platform:pcspkr"); + + static int index = SNDRV_DEFAULT_IDX1; /* Index 0-MAX */ + static char *id = SNDRV_DEFAULT_STR1; /* ID for this card */ +@@ -32,12 +32,11 @@ + module_param(id, charp, 0444); + MODULE_PARM_DESC(id, "ID string for pcsp soundcard."); + module_param(enable, bool, 0444); +-MODULE_PARM_DESC(enable, "dummy"); ++MODULE_PARM_DESC(enable, "Enable PC-Speaker sound."); + + struct snd_pcsp pcsp_chip; + +- +-static int __init snd_pcsp_create(struct snd_card *card) ++static int __devinit snd_pcsp_create(struct snd_card *card) + { + static struct snd_device_ops ops = { }; + struct timespec tp; +@@ -47,9 +46,9 @@ + hrtimer_get_res(CLOCK_MONOTONIC, &tp); + if (tp.tv_sec || tp.tv_nsec > PCSP_MAX_PERIOD_NS) { + printk(KERN_ERR "PCSP: Timer resolution is not sufficient " +- "(%linS)\n", tp.tv_nsec); ++ "(%linS)\n", tp.tv_nsec); + printk(KERN_ERR "PCSP: Make sure you have HPET and ACPI " +- "enabled.\n"); ++ "enabled.\n"); + return -EIO; + } + +@@ -59,7 +58,7 @@ + min_div = MAX_DIV; + #if PCSP_DEBUG + printk("PCSP: lpj=%li, min_div=%i, res=%li\n", +- loops_per_jiffy, min_div, tp.tv_nsec); ++ loops_per_jiffy, min_div, tp.tv_nsec); + #endif + + div = MAX_DIV / min_div; +@@ -69,7 +68,7 @@ + pcsp_chip.treble = min(pcsp_chip.max_treble, PCSP_DEFAULT_TREBLE); + pcsp_chip.playback_ptr = 0; + pcsp_chip.period_ptr = 0; +- pcsp_chip.timer_active = 0; ++ atomic_set(&pcsp_chip.timer_active, 0); + pcsp_chip.enable = 1; + pcsp_chip.pcspkr = 1; + +@@ -88,12 +87,12 @@ + return 0; + } + +-static int __init snd_card_pcsp_probe(int dev) ++static int __devinit snd_card_pcsp_probe(int devnum, struct device *dev) + { + struct snd_card *card; + int err; + +- if (dev != 0) ++ if (devnum != 0) + return -EINVAL; + + hrtimer_init(&pcsp_chip.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); +@@ -120,6 +119,8 @@ + return err; + } + ++ snd_card_set_dev(pcsp_chip.card, dev); ++ + strcpy(card->driver, "PC-Speaker"); + strcpy(card->shortname, "pcsp"); + sprintf(card->longname, "Internal PC-Speaker at port 0x%x", +@@ -131,41 +132,109 @@ + return err; + } + +- pcspkr_input_init(&pcsp_chip.input_dev); +- + return 0; + } + +-static int __init alsa_card_pcsp_init(void) ++static int __devinit alsa_card_pcsp_init(struct device *dev) + { +- int dev = 0, cards = 0; ++ int err; ++ ++ err = snd_card_pcsp_probe(0, dev); ++ if (err) { ++ printk(KERN_ERR "PC-Speaker initialization failed.\n"); ++ return err; ++ } + + #ifdef CONFIG_DEBUG_PAGEALLOC + /* Well, CONFIG_DEBUG_PAGEALLOC makes the sound horrible. Lets alert */ + printk(KERN_WARNING + "PCSP: Warning, CONFIG_DEBUG_PAGEALLOC is enabled!\n" +- "You have to disable it if you want to use the PC-Speaker driver.\n" +- "Unless it is disabled, enjoy the horrible, distorted and crackling " +- "noise.\n"); ++ "You have to disable it if you want to use the PC-Speaker " ++ "driver.\n" ++ "Unless it is disabled, enjoy the horrible, distorted " ++ "and crackling noise.\n"); + #endif + +- if (enable) { +- if (snd_card_pcsp_probe(dev) >= 0) +- cards++; +- } +- if (!cards) { +- printk(KERN_ERR "PC-Speaker initialization failed.\n"); +- return -ENODEV; ++ return 0; ++} ++ ++static void __devexit alsa_card_pcsp_exit(struct snd_pcsp *chip) ++{ ++ snd_card_free(chip->card); ++} ++ ++static int __devinit pcsp_probe(struct platform_device *dev) ++{ ++ int err; ++ ++ err = pcspkr_input_init(&pcsp_chip.input_dev, &dev->dev); ++ if (err < 0) ++ return err; ++ ++ err = alsa_card_pcsp_init(&dev->dev); ++ if (err < 0) { ++ pcspkr_input_remove(pcsp_chip.input_dev); ++ return err; + } + ++ platform_set_drvdata(dev, &pcsp_chip); ++ return 0; ++} ++ ++static int __devexit pcsp_remove(struct platform_device *dev) ++{ ++ struct snd_pcsp *chip = platform_get_drvdata(dev); ++ alsa_card_pcsp_exit(chip); ++ pcspkr_input_remove(chip->input_dev); ++ platform_set_drvdata(dev, NULL); ++ return 0; ++} ++ ++static void pcsp_stop_beep(struct snd_pcsp *chip) ++{ ++ unsigned long flags; ++ spin_lock_irqsave(&chip->substream_lock, flags); ++ if (!chip->playback_substream) ++ pcspkr_stop_sound(); ++ spin_unlock_irqrestore(&chip->substream_lock, flags); ++} ++ ++static int pcsp_suspend(struct platform_device *dev, pm_message_t state) ++{ ++ struct snd_pcsp *chip = platform_get_drvdata(dev); ++ pcsp_stop_beep(chip); ++ snd_pcm_suspend_all(chip->pcm); + return 0; + } + +-static void __exit alsa_card_pcsp_exit(void) ++static void pcsp_shutdown(struct platform_device *dev) ++{ ++ struct snd_pcsp *chip = platform_get_drvdata(dev); ++ pcsp_stop_beep(chip); ++} ++ ++static struct platform_driver pcsp_platform_driver = { ++ .driver = { ++ .name = "pcspkr", ++ .owner = THIS_MODULE, ++ }, ++ .probe = pcsp_probe, ++ .remove = __devexit_p(pcsp_remove), ++ .suspend = pcsp_suspend, ++ .shutdown = pcsp_shutdown, ++}; ++ ++static int __init pcsp_init(void) ++{ ++ if (!enable) ++ return -ENODEV; ++ return platform_driver_register(&pcsp_platform_driver); ++} ++ ++static void __exit pcsp_exit(void) + { +- pcspkr_input_remove(pcsp_chip.input_dev); +- snd_card_free(pcsp_chip.card); ++ platform_driver_unregister(&pcsp_platform_driver); + } + +-module_init(alsa_card_pcsp_init); +-module_exit(alsa_card_pcsp_exit); ++module_init(pcsp_init); ++module_exit(pcsp_exit); +Index: alsa-driver-1.0.16/drivers/pcsp/pcsp.h +=================================================================== +--- alsa-driver-1.0.16.orig/drivers/pcsp/pcsp.h 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/drivers/pcsp/pcsp.h 2008-03-07 13:13:52.000000000 -0500 +@@ -3,28 +3,24 @@ + * + * Copyright (C) 1993-1997 Michael Beck + * Copyright (C) 1997-2001 David Woodhouse +- * Copyright (C) 2001-2007 Stas Sergeev ++ * Copyright (C) 2001-2008 Stas Sergeev + */ + + #ifndef __PCSP_H__ + #define __PCSP_H__ + + #include ++#if defined(CONFIG_MIPS) || defined(CONFIG_X86) ++/* Use the global PIT lock ! */ + #include ++#else ++#include ++static DEFINE_SPINLOCK(i8253_lock); ++#endif + + #define PCSP_SOUND_VERSION 0x400 /* read 4.00 */ + #define PCSP_DEBUG 0 + +-#if PCSP_DEBUG +-#define assert(expr) \ +- if(!(expr)) { \ +- printk( "Assertion failed! %s, %s, %s, line=%d\n", \ +- #expr,__FILE__,__FUNCTION__,__LINE__); \ +- } +-#else +-#define assert(expr) +-#endif +- + /* default timer freq for PC-Speaker: 18643 Hz */ + #define DIV_18KHZ 64 + #define MAX_DIV DIV_18KHZ +@@ -45,13 +41,12 @@ + #define PCSP_MAX_RATE__1 MIN_DIV/PIT_TICK_RATE + #define PCSP_MAX_PERIOD_NS (1000000000ULL * PCSP_MIN_RATE__1) + #define PCSP_MIN_PERIOD_NS (1000000000ULL * PCSP_MAX_RATE__1) +-#if 0 +-#define PCSP_RATE__1 CUR_DIV/PIT_TICK_RATE +-#define PCSP_PERIOD_NS() (1000000000ULL * PCSP_RATE__1) +-#else +-/* and now - without using __udivdi3 :( */ +-#define PCSP_PERIOD_NS() (chip->treble ? PCSP_MIN_PERIOD_NS : PCSP_MAX_PERIOD_NS) +-#endif ++#define PCSP_CALC_NS(div) ({ \ ++ u64 __val = 1000000000ULL * (div); \ ++ do_div(__val, PIT_TICK_RATE); \ ++ __val; \ ++}) ++#define PCSP_PERIOD_NS() PCSP_CALC_NS(CUR_DIV()) + + #define PCSP_MAX_PERIOD_SIZE (64*1024) + #define PCSP_MAX_PERIODS 512 +@@ -59,19 +54,21 @@ + + struct snd_pcsp { + struct snd_card *card; ++ struct snd_pcm *pcm; + struct input_dev *input_dev; + struct hrtimer timer; + unsigned short port, irq, dma; + spinlock_t substream_lock; + struct snd_pcm_substream *playback_substream; +- volatile size_t playback_ptr; +- volatile size_t period_ptr; +- volatile int timer_active; ++ size_t playback_ptr; ++ size_t period_ptr; ++ atomic_t timer_active; ++ int thalf; ++ u64 ns_rem; + unsigned char val61; + int enable; + int max_treble; + int treble; +-// int bass; + int pcspkr; + }; + +Index: alsa-driver-1.0.16/drivers/pcsp/pcsp_input.h +=================================================================== +--- alsa-driver-1.0.16.orig/drivers/pcsp/pcsp_input.h 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/drivers/pcsp/pcsp_input.h 2008-03-07 13:13:52.000000000 -0500 +@@ -1,13 +1,14 @@ + /* + * PC-Speaker driver for Linux + * +- * Copyright (C) 2001-2007 Stas Sergeev ++ * Copyright (C) 2001-2008 Stas Sergeev + */ + + #ifndef __PCSP_INPUT_H__ + #define __PCSP_INPUT_H__ + +-int __init pcspkr_input_init(struct input_dev **dev); +-int __exit pcspkr_input_remove(struct input_dev *dev); ++int __devinit pcspkr_input_init(struct input_dev **rdev, struct device *dev); ++int pcspkr_input_remove(struct input_dev *dev); ++void pcspkr_stop_sound(void); + + #endif +Index: alsa-driver-1.0.16/drivers/pcsp/pcsp_lib.c +=================================================================== +--- alsa-driver-1.0.16.orig/drivers/pcsp/pcsp_lib.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/drivers/pcsp/pcsp_lib.c 2008-03-07 13:13:52.000000000 -0500 +@@ -4,16 +4,21 @@ + * + * Copyright (C) 1993-1997 Michael Beck + * Copyright (C) 1997-2001 David Woodhouse +- * Copyright (C) 2001-2007 Stas Sergeev ++ * Copyright (C) 2001-2008 Stas Sergeev + */ + ++#include ++#include + #include +-#include + #include + #include +-#include + #include "pcsp.h" + ++static int nforce_wa; ++module_param(nforce_wa, bool, 0444); ++MODULE_PARM_DESC(nforce_wa, "Apply NForce chipset workaround " ++ "(expect bad sound)"); ++ + #define DMIX_WANTS_S16 1 + + static void pcsp_start_timer(unsigned long dummy) +@@ -39,18 +44,29 @@ + * The only solution I could find was to move the + * hrtimer_start() into a tasklet. -stsp + */ +-DECLARE_TASKLET(pcsp_start_timer_tasklet, pcsp_start_timer, 0); ++static DECLARE_TASKLET(pcsp_start_timer_tasklet, pcsp_start_timer, 0); + + enum hrtimer_restart pcsp_do_timer(struct hrtimer *handle) + { + unsigned long flags; + unsigned char timer_cnt, val; + int fmt_size, periods_elapsed; ++ u64 ns; + size_t period_bytes, buffer_bytes; + struct snd_pcm_substream *substream; + struct snd_pcm_runtime *runtime; + struct snd_pcsp *chip = container_of(handle, struct snd_pcsp, timer); + ++ if (chip->thalf) { ++ outb(chip->val61, 0x61); ++ chip->thalf = 0; ++ if (!atomic_read(&chip->timer_active)) ++ return HRTIMER_NORESTART; ++ hrtimer_forward(&chip->timer, chip->timer.expires, ++ ktime_set(0, chip->ns_rem)); ++ return HRTIMER_RESTART; ++ } ++ + /* hrtimer calls us from both hardirq and softirq contexts, + * so irqsave :( */ + spin_lock_irqsave(&chip->substream_lock, flags); +@@ -75,7 +91,7 @@ + goto exit_nr_unlock1; + substream = chip->playback_substream; + snd_pcm_stream_lock(substream); +- if (!chip->timer_active) ++ if (!atomic_read(&chip->timer_active)) + goto exit_nr_unlock2; + + runtime = substream->runtime; +@@ -88,9 +104,14 @@ + + if (timer_cnt && chip->enable) { + spin_lock(&i8253_lock); +- outb_p(chip->val61, 0x61); +- outb_p(timer_cnt, 0x42); +- outb(chip->val61 ^ 1, 0x61); ++ if (!nforce_wa) { ++ outb_p(chip->val61, 0x61); ++ outb_p(timer_cnt, 0x42); ++ outb(chip->val61 ^ 1, 0x61); ++ } else { ++ outb(chip->val61 ^ 2, 0x61); ++ chip->thalf = 1; ++ } + spin_unlock(&i8253_lock); + } + +@@ -99,7 +120,8 @@ + chip->playback_ptr += PCSP_INDEX_INC() * fmt_size; + periods_elapsed = chip->playback_ptr - chip->period_ptr; + if (periods_elapsed < 0) { +- printk(KERN_WARNING "PCSP: playback_ptr inconsistent (%zi %zi %zi)\n", ++ printk(KERN_WARNING "PCSP: playback_ptr inconsistent " ++ "(%zi %zi %zi)\n", + chip->playback_ptr, period_bytes, buffer_bytes); + periods_elapsed += buffer_bytes; + } +@@ -118,10 +140,13 @@ + + spin_unlock_irqrestore(&chip->substream_lock, flags); + +- if (!chip->timer_active) ++ if (!atomic_read(&chip->timer_active)) + return HRTIMER_NORESTART; +- hrtimer_forward(&chip->timer, chip->timer.expires, +- ktime_set(0, PCSP_PERIOD_NS())); ++ ++ chip->ns_rem = PCSP_PERIOD_NS(); ++ ns = (chip->thalf ? PCSP_CALC_NS(timer_cnt) : chip->ns_rem); ++ chip->ns_rem -= ns; ++ hrtimer_forward(&chip->timer, chip->timer.expires, ktime_set(0, ns)); + return HRTIMER_RESTART; + + exit_nr_unlock2: +@@ -133,7 +158,10 @@ + + static void pcsp_start_playing(struct snd_pcsp *chip) + { +- if (chip->timer_active) { ++#if PCSP_DEBUG ++ printk(KERN_INFO "PCSP: start_playing called\n"); ++#endif ++ if (atomic_read(&chip->timer_active)) { + printk(KERN_ERR "PCSP: Timer already active\n"); + return; + } +@@ -142,17 +170,21 @@ + chip->val61 = inb(0x61) | 0x03; + outb_p(0x92, 0x43); /* binary, mode 1, LSB only, ch 2 */ + spin_unlock(&i8253_lock); +- chip->timer_active = 1; ++ atomic_set(&chip->timer_active, 1); ++ chip->thalf = 0; + + tasklet_schedule(&pcsp_start_timer_tasklet); + } + + static void pcsp_stop_playing(struct snd_pcsp *chip) + { +- if (!chip->timer_active) ++#if PCSP_DEBUG ++ printk(KERN_INFO "PCSP: stop_playing called\n"); ++#endif ++ if (!atomic_read(&chip->timer_active)) + return; + +- chip->timer_active = 0; ++ atomic_set(&chip->timer_active, 0); + spin_lock(&i8253_lock); + /* restore the timer */ + outb_p(0xb6, 0x43); /* binary, mode 3, LSB/MSB, ch 2 */ +@@ -164,9 +196,9 @@ + { + struct snd_pcsp *chip = snd_pcm_substream_chip(substream); + #if PCSP_DEBUG +- printk("close called\n"); ++ printk(KERN_INFO "PCSP: close called\n"); + #endif +- if (chip->timer_active) { ++ if (atomic_read(&chip->timer_active)) { + printk(KERN_ERR "PCSP: timer still active\n"); + pcsp_stop_playing(chip); + } +@@ -190,7 +222,7 @@ + static int snd_pcsp_playback_hw_free(struct snd_pcm_substream *substream) + { + #if PCSP_DEBUG +- printk("hw_free called\n"); ++ printk(KERN_INFO "PCSP: hw_free called\n"); + #endif + return snd_pcm_lib_free_pages(substream); + } +@@ -199,12 +231,13 @@ + { + struct snd_pcsp *chip = snd_pcm_substream_chip(substream); + #if PCSP_DEBUG +- printk("prepare called, size=%i psize=%i f=%i f1=%i\n", +- snd_pcm_lib_buffer_bytes(substream), +- snd_pcm_lib_period_bytes(substream), +- snd_pcm_lib_buffer_bytes(substream) / +- snd_pcm_lib_period_bytes(substream), +- substream->runtime->periods); ++ printk(KERN_INFO "PCSP: prepare called, " ++ "size=%zi psize=%zi f=%zi f1=%i\n", ++ snd_pcm_lib_buffer_bytes(substream), ++ snd_pcm_lib_period_bytes(substream), ++ snd_pcm_lib_buffer_bytes(substream) / ++ snd_pcm_lib_period_bytes(substream), ++ substream->runtime->periods); + #endif + chip->playback_ptr = 0; + chip->period_ptr = 0; +@@ -215,7 +248,7 @@ + { + struct snd_pcsp *chip = snd_pcm_substream_chip(substream); + #if PCSP_DEBUG +- printk("trigger called\n"); ++ printk(KERN_INFO "PCSP: trigger called\n"); + #endif + switch (cmd) { + case SNDRV_PCM_TRIGGER_START: +@@ -266,9 +299,9 @@ + struct snd_pcsp *chip = snd_pcm_substream_chip(substream); + struct snd_pcm_runtime *runtime = substream->runtime; + #if PCSP_DEBUG +- printk("open called\n"); ++ printk(KERN_INFO "PCSP: open called\n"); + #endif +- if (chip->timer_active) { ++ if (atomic_read(&chip->timer_active)) { + printk(KERN_ERR "PCSP: still active!!\n"); + return -EBUSY; + } +@@ -288,22 +321,23 @@ + .pointer = snd_pcsp_playback_pointer, + }; + +-int __init snd_pcsp_new_pcm(struct snd_pcsp *chip) ++int __devinit snd_pcsp_new_pcm(struct snd_pcsp *chip) + { +- struct snd_pcm *pcm; + int err; + +- err = snd_pcm_new(chip->card, "pcspeaker", 0, 1, 0, &pcm); ++ err = snd_pcm_new(chip->card, "pcspeaker", 0, 1, 0, &chip->pcm); + if (err < 0) + return err; + +- snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_pcsp_playback_ops); ++ snd_pcm_set_ops(chip->pcm, SNDRV_PCM_STREAM_PLAYBACK, ++ &snd_pcsp_playback_ops); + +- pcm->private_data = chip; +- pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX; +- strcpy(pcm->name, "pcsp"); ++ chip->pcm->private_data = chip; ++ chip->pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX; ++ strcpy(chip->pcm->name, "pcsp"); + +- snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_CONTINUOUS, ++ snd_pcm_lib_preallocate_pages_for_all(chip->pcm, ++ SNDRV_DMA_TYPE_CONTINUOUS, + snd_dma_continuous_data + (GFP_KERNEL), PCSP_BUFFER_SIZE, + PCSP_BUFFER_SIZE); +Index: alsa-driver-1.0.16/drivers/pcsp/pcsp_mixer.c +=================================================================== +--- alsa-driver-1.0.16.orig/drivers/pcsp/pcsp_mixer.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/drivers/pcsp/pcsp_mixer.c 2008-03-07 13:13:52.000000000 -0500 +@@ -2,7 +2,7 @@ + * PC-Speaker driver for Linux + * + * Mixer implementation. +- * Copyright (C) 2001-2007 Stas Sergeev ++ * Copyright (C) 2001-2008 Stas Sergeev + */ + + #include "adriver.h" +@@ -72,7 +72,7 @@ + if (treble != chip->treble) { + chip->treble = treble; + #if PCSP_DEBUG +- printk(KERN_INFO "PCSP: rate set to %i\n", PCSP_RATE); ++ printk(KERN_INFO "PCSP: rate set to %i\n", PCSP_RATE()); + #endif + changed = 1; + } +@@ -119,13 +119,13 @@ + .put = pcsp_##ctl_type##_put, \ + } + +-static struct snd_kcontrol_new __initdata snd_pcsp_controls[] = { ++static struct snd_kcontrol_new __devinitdata snd_pcsp_controls[] = { + PCSP_MIXER_CONTROL(enable, "Master Playback Switch"), + PCSP_MIXER_CONTROL(treble, "BaseFRQ Playback Volume"), + PCSP_MIXER_CONTROL(pcspkr, "PC Speaker Playback Switch"), + }; + +-int __init snd_pcsp_new_mixer(struct snd_pcsp *chip) ++int __devinit snd_pcsp_new_mixer(struct snd_pcsp *chip) + { + struct snd_card *card = chip->card; + int i, err; +Index: alsa-driver-1.0.16/sound/pci/hda/hda_codec.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/hda/hda_codec.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/hda/hda_codec.c 2008-03-07 13:13:52.000000000 -0500 +@@ -31,6 +31,7 @@ + #include + #include "hda_local.h" + #include ++#include "hda_patch.h" /* codec presets */ + + #ifdef CONFIG_SND_HDA_POWER_SAVE + /* define this option here to hide as static */ +@@ -51,21 +52,50 @@ + + /* codec vendor labels */ + static struct hda_vendor_id hda_vendor_ids[] = { +- { 0x10ec, "Realtek" }, ++ { 0x1002, "ATI" }, + { 0x1057, "Motorola" }, ++ { 0x1095, "Silicon Image" }, ++ { 0x10ec, "Realtek" }, + { 0x1106, "VIA" }, + { 0x111d, "IDT" }, ++ { 0x11c1, "LSI" }, + { 0x11d4, "Analog Devices" }, + { 0x13f6, "C-Media" }, + { 0x14f1, "Conexant" }, ++ { 0x17e8, "Chrontel" }, ++ { 0x1854, "LG" }, + { 0x434d, "C-Media" }, + { 0x8384, "SigmaTel" }, + {} /* terminator */ + }; + +-/* codec presets */ +-#include "hda_patch.h" +- ++static const struct hda_codec_preset *hda_preset_tables[] = { ++#ifdef CONFIG_SND_HDA_CODEC_REALTEK ++ snd_hda_preset_realtek, ++#endif ++#ifdef CONFIG_SND_HDA_CODEC_CMEDIA ++ snd_hda_preset_cmedia, ++#endif ++#ifdef CONFIG_SND_HDA_CODEC_ANALOG ++ snd_hda_preset_analog, ++#endif ++#ifdef CONFIG_SND_HDA_CODEC_SIGMATEL ++ snd_hda_preset_sigmatel, ++#endif ++#ifdef CONFIG_SND_HDA_CODEC_SI3054 ++ snd_hda_preset_si3054, ++#endif ++#ifdef CONFIG_SND_HDA_CODEC_ATIHDMI ++ snd_hda_preset_atihdmi, ++#endif ++#ifdef CONFIG_SND_HDA_CODEC_CONEXANT ++ snd_hda_preset_conexant, ++#endif ++#ifdef CONFIG_SND_HDA_CODEC_VIA ++ snd_hda_preset_via, ++#endif ++ NULL ++}; + + #ifdef CONFIG_SND_HDA_POWER_SAVE + static void hda_power_work(struct work_struct *work); +@@ -1063,6 +1093,12 @@ + const char **s; + int err; + ++ for (s = slaves; *s && !snd_hda_find_mixer_ctl(codec, *s); s++) ++ ; ++ if (!*s) { ++ snd_printdd("No slave found for %s\n", name); ++ return 0; ++ } + kctl = snd_ctl_make_virtual_master(name, tlv); + if (!kctl) + return -ENOMEM; +@@ -1205,8 +1241,8 @@ + struct hda_bind_ctls *c; + int err; + +- c = (struct hda_bind_ctls *)kcontrol->private_value; + mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ ++ c = (struct hda_bind_ctls *)kcontrol->private_value; + kcontrol->private_value = *c->values; + err = c->ops->info(kcontrol, uinfo); + kcontrol->private_value = (long)c; +@@ -1221,8 +1257,8 @@ + struct hda_bind_ctls *c; + int err; + +- c = (struct hda_bind_ctls *)kcontrol->private_value; + mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ ++ c = (struct hda_bind_ctls *)kcontrol->private_value; + kcontrol->private_value = *c->values; + err = c->ops->get(kcontrol, ucontrol); + kcontrol->private_value = (long)c; +@@ -1238,8 +1274,8 @@ + unsigned long *vals; + int err = 0, change = 0; + +- c = (struct hda_bind_ctls *)kcontrol->private_value; + mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ ++ c = (struct hda_bind_ctls *)kcontrol->private_value; + for (vals = c->values; *vals; vals++) { + kcontrol->private_value = *vals; + err = c->ops->put(kcontrol, ucontrol); +@@ -1259,8 +1295,8 @@ + struct hda_bind_ctls *c; + int err; + +- c = (struct hda_bind_ctls *)kcontrol->private_value; + mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ ++ c = (struct hda_bind_ctls *)kcontrol->private_value; + kcontrol->private_value = *c->values; + err = c->ops->tlv(kcontrol, op_flag, size, tlv); + kcontrol->private_value = (long)c; +@@ -1527,6 +1563,43 @@ + } + + /* ++ * SPDIF sharing with analog output ++ */ ++static int spdif_share_sw_get(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ struct hda_multi_out *mout = snd_kcontrol_chip(kcontrol); ++ ucontrol->value.integer.value[0] = mout->share_spdif; ++ return 0; ++} ++ ++static int spdif_share_sw_put(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ struct hda_multi_out *mout = snd_kcontrol_chip(kcontrol); ++ mout->share_spdif = !!ucontrol->value.integer.value[0]; ++ return 0; ++} ++ ++static struct snd_kcontrol_new spdif_share_sw = { ++ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, ++ .name = "IEC958 Default PCM Playback Switch", ++ .info = snd_ctl_boolean_mono_info, ++ .get = spdif_share_sw_get, ++ .put = spdif_share_sw_put, ++}; ++ ++int snd_hda_create_spdif_share_sw(struct hda_codec *codec, ++ struct hda_multi_out *mout) ++{ ++ if (!mout->dig_out_nid) ++ return 0; ++ /* ATTENTION: here mout is passed as private_data, instead of codec */ ++ return snd_ctl_add(codec->bus->card, ++ snd_ctl_new1(&spdif_share_sw, mout)); ++} ++ ++/* + * SPDIF input + */ + +@@ -2551,9 +2624,36 @@ + */ + int snd_hda_multi_out_analog_open(struct hda_codec *codec, + struct hda_multi_out *mout, +- struct snd_pcm_substream *substream) ++ struct snd_pcm_substream *substream, ++ struct hda_pcm_stream *hinfo) + { +- substream->runtime->hw.channels_max = mout->max_channels; ++ struct snd_pcm_runtime *runtime = substream->runtime; ++ runtime->hw.channels_max = mout->max_channels; ++ if (mout->dig_out_nid) { ++ if (!mout->analog_rates) { ++ mout->analog_rates = hinfo->rates; ++ mout->analog_formats = hinfo->formats; ++ mout->analog_maxbps = hinfo->maxbps; ++ } else { ++ runtime->hw.rates = mout->analog_rates; ++ runtime->hw.formats = mout->analog_formats; ++ hinfo->maxbps = mout->analog_maxbps; ++ } ++ if (!mout->spdif_rates) { ++ snd_hda_query_supported_pcm(codec, mout->dig_out_nid, ++ &mout->spdif_rates, ++ &mout->spdif_formats, ++ &mout->spdif_maxbps); ++ } ++ mutex_lock(&codec->spdif_mutex); ++ if (mout->share_spdif) { ++ runtime->hw.rates &= mout->spdif_rates; ++ runtime->hw.formats &= mout->spdif_formats; ++ if (mout->spdif_maxbps < hinfo->maxbps) ++ hinfo->maxbps = mout->spdif_maxbps; ++ } ++ } ++ mutex_unlock(&codec->spdif_mutex); + return snd_pcm_hw_constraint_step(substream->runtime, 0, + SNDRV_PCM_HW_PARAM_CHANNELS, 2); + } +@@ -2573,7 +2673,8 @@ + int i; + + mutex_lock(&codec->spdif_mutex); +- if (mout->dig_out_nid && mout->dig_out_used != HDA_DIG_EXCLUSIVE) { ++ if (mout->dig_out_nid && mout->share_spdif && ++ mout->dig_out_used != HDA_DIG_EXCLUSIVE) { + if (chs == 2 && + snd_hda_is_supported_format(codec, mout->dig_out_nid, + format) && +@@ -2815,6 +2916,30 @@ + } + } + ++ /* FIX-UP: ++ * If no line-out is defined but multiple HPs are found, ++ * some of them might be the real line-outs. ++ */ ++ if (!cfg->line_outs && cfg->hp_outs > 1) { ++ int i = 0; ++ while (i < cfg->hp_outs) { ++ /* The real HPs should have the sequence 0x0f */ ++ if ((sequences_hp[i] & 0x0f) == 0x0f) { ++ i++; ++ continue; ++ } ++ /* Move it to the line-out table */ ++ cfg->line_out_pins[cfg->line_outs] = cfg->hp_pins[i]; ++ sequences_line_out[cfg->line_outs] = sequences_hp[i]; ++ cfg->line_outs++; ++ cfg->hp_outs--; ++ memmove(cfg->hp_pins + i, cfg->hp_pins + i + 1, ++ sizeof(cfg->hp_pins[0]) * (cfg->hp_outs - i)); ++ memmove(sequences_hp + i - 1, sequences_hp + i, ++ sizeof(sequences_hp[0]) * (cfg->hp_outs - i)); ++ } ++ } ++ + /* sort by sequence */ + sort_pins_by_sequence(cfg->line_out_pins, sequences_line_out, + cfg->line_outs); +Index: alsa-driver-1.0.16/sound/usb/usx2y/usX2Yhwdep.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/usb/usx2y/usX2Yhwdep.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/usb/usx2y/usX2Yhwdep.c 2008-03-07 13:13:52.000000000 -0500 +@@ -84,7 +84,7 @@ + us428->us428ctls_sharedmem->CtlSnapShotLast = -2; + } + area->vm_ops = &us428ctls_vm_ops; +- area->vm_flags |= VM_RESERVED; ++ area->vm_flags |= VM_RESERVED | VM_DONTEXPAND; + area->vm_private_data = hw->private_data; + return 0; + } +Index: alsa-driver-1.0.16/sound/usb/usx2y/usx2yhwdeppcm.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/usb/usx2y/usx2yhwdeppcm.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/usb/usx2y/usx2yhwdeppcm.c 2008-03-07 13:13:52.000000000 -0500 +@@ -722,7 +722,7 @@ + return -ENODEV; + } + area->vm_ops = &snd_usX2Y_hwdep_pcm_vm_ops; +- area->vm_flags |= VM_RESERVED; ++ area->vm_flags |= VM_RESERVED | VM_DONTEXPAND; + area->vm_private_data = hw->private_data; + return 0; + } +Index: alsa-driver-1.0.16/usb/usx2y/usX2Yhwdep.patch +=================================================================== +--- alsa-driver-1.0.16.orig/usb/usx2y/usX2Yhwdep.patch 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/usb/usx2y/usX2Yhwdep.patch 2008-03-07 13:13:52.000000000 -0500 +@@ -90,7 +90,7 @@ + } + area->vm_ops = &us428ctls_vm_ops; + +#ifdef VM_RESERVED +- area->vm_flags |= VM_RESERVED; ++ area->vm_flags |= VM_RESERVED | VM_DONTEXPAND; + +#endif + +#ifndef LINUX_2_2 + area->vm_private_data = hw->private_data; +Index: alsa-driver-1.0.16/usb/usx2y/usx2yhwdeppcm.patch +=================================================================== +--- alsa-driver-1.0.16.orig/usb/usx2y/usx2yhwdeppcm.patch 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/usb/usx2y/usx2yhwdeppcm.patch 2008-03-07 13:13:52.000000000 -0500 +@@ -182,7 +182,7 @@ + } + area->vm_ops = &snd_usX2Y_hwdep_pcm_vm_ops; + +#ifdef VM_RESERVED +- area->vm_flags |= VM_RESERVED; ++ area->vm_flags |= VM_RESERVED | VM_DONTEXPAND; + +#endif + +#ifndef LINUX_2_2 + area->vm_private_data = hw->private_data; +Index: alsa-driver-1.0.16/sound/pci/hda/hda_local.h +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/hda/hda_local.h 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/hda/hda_local.h 2008-03-07 13:13:52.000000000 -0500 +@@ -228,8 +228,18 @@ + int max_channels; /* currently supported analog channels */ + int dig_out_used; /* current usage of digital out (HDA_DIG_XXX) */ + int no_share_stream; /* don't share a stream with multiple pins */ ++ int share_spdif; /* share SPDIF pin */ ++ /* PCM information for both analog and SPDIF DACs */ ++ unsigned int analog_rates; ++ unsigned int analog_maxbps; ++ u64 analog_formats; ++ unsigned int spdif_rates; ++ unsigned int spdif_maxbps; ++ u64 spdif_formats; + }; + ++int snd_hda_create_spdif_share_sw(struct hda_codec *codec, ++ struct hda_multi_out *mout); + int snd_hda_multi_out_dig_open(struct hda_codec *codec, + struct hda_multi_out *mout); + int snd_hda_multi_out_dig_close(struct hda_codec *codec, +@@ -241,7 +251,8 @@ + struct snd_pcm_substream *substream); + int snd_hda_multi_out_analog_open(struct hda_codec *codec, + struct hda_multi_out *mout, +- struct snd_pcm_substream *substream); ++ struct snd_pcm_substream *substream, ++ struct hda_pcm_stream *hinfo); + int snd_hda_multi_out_analog_prepare(struct hda_codec *codec, + struct hda_multi_out *mout, + unsigned int stream_tag, +Index: alsa-driver-1.0.16/sound/pci/hda/hda_proc.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/hda/hda_proc.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/hda/hda_proc.c 2008-03-07 13:13:52.000000000 -0500 +@@ -584,7 +584,8 @@ + print_amp_caps(buffer, codec, nid, HDA_INPUT); + snd_iprintf(buffer, " Amp-In vals: "); + print_amp_vals(buffer, codec, nid, HDA_INPUT, +- wid_caps & AC_WCAP_STEREO, conn_len); ++ wid_caps & AC_WCAP_STEREO, ++ wid_type == AC_WID_PIN ? 1 : conn_len); + } + if (wid_caps & AC_WCAP_OUT_AMP) { + snd_iprintf(buffer, " Amp-Out caps: "); +Index: alsa-driver-1.0.16/drivers/pcsp/pcsp_input.c +=================================================================== +--- alsa-driver-1.0.16.orig/drivers/pcsp/pcsp_input.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/drivers/pcsp/pcsp_input.c 2008-03-07 13:13:52.000000000 -0500 +@@ -13,12 +13,8 @@ + * the Free Software Foundation + */ + +-#include +-#include + #include + #include +-#include +-#include + #include + #include "pcsp.h" + +@@ -44,12 +40,17 @@ + spin_unlock_irqrestore(&i8253_lock, flags); + } + ++void pcspkr_stop_sound(void) ++{ ++ pcspkr_do_sound(0); ++} ++ + static int pcspkr_input_event(struct input_dev *dev, unsigned int type, + unsigned int code, int value) + { + unsigned int count = 0; + +- if (pcsp_chip.timer_active || !pcsp_chip.pcspkr) ++ if (atomic_read(&pcsp_chip.timer_active) || !pcsp_chip.pcspkr) + return 0; + + switch (type) { +@@ -77,7 +78,7 @@ + return 0; + } + +-int __init pcspkr_input_init(struct input_dev **dev) ++int __devinit pcspkr_input_init(struct input_dev **rdev, struct device *dev) + { + int err; + +@@ -91,6 +92,7 @@ + input_dev->id.vendor = 0x001f; + input_dev->id.product = 0x0001; + input_dev->id.version = 0x0100; ++ input_dev->dev.parent = dev; + + input_dev->evbit[0] = BIT(EV_SND); + input_dev->sndbit[0] = BIT(SND_BELL) | BIT(SND_TONE); +@@ -102,17 +104,14 @@ + return err; + } + +- *dev = input_dev; ++ *rdev = input_dev; + return 0; + } + +-int __exit pcspkr_input_remove(struct input_dev *dev) ++int pcspkr_input_remove(struct input_dev *dev) + { +- if (!dev) +- return 0; +- /* turn off the speaker */ +- pcspkr_do_sound(0); +- input_unregister_device(dev); // this also does kfree() ++ pcspkr_stop_sound(); ++ input_unregister_device(dev); /* this also does kfree() */ + + return 0; + } +Index: alsa-driver-1.0.16/usb/caiaq/caiaq-device.patch +=================================================================== +--- alsa-driver-1.0.16.orig/usb/caiaq/caiaq-device.patch 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/usb/caiaq/caiaq-device.patch 2008-03-07 13:13:52.000000000 -0500 +@@ -1,5 +1,5 @@ +---- ../../alsa-kernel/usb/caiaq/caiaq-device.c 2007-12-20 11:47:37.000000000 +0100 +-+++ caiaq-device.c 2007-12-20 12:31:32.000000000 +0100 ++--- ../../alsa-kernel/usb/caiaq/caiaq-device.c 2008-02-18 11:25:15.000000000 +0100 +++++ caiaq-device.c 2008-02-18 11:34:40.000000000 +0100 + @@ -1,3 +1,4 @@ + +#include "adriver.h" + /* +@@ -31,6 +31,6 @@ + +#define snd_usb_caiaq_midi_output_done snd_usb_caiaq_midi_output_done_wrapper + +#endif + + +- static int init_card(struct snd_usb_caiaqdev *dev) ++ static int __devinit init_card(struct snd_usb_caiaqdev *dev) + { + char *c; +Index: alsa-driver-1.0.16/pci/intel8x0.patch +=================================================================== +--- alsa-driver-1.0.16.orig/pci/intel8x0.patch 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/pci/intel8x0.patch 2008-03-07 13:13:52.000000000 -0500 +@@ -1,5 +1,5 @@ +---- ../alsa-kernel/pci/intel8x0.c 2007-12-20 11:47:37.000000000 +0100 +-+++ intel8x0.c 2007-12-20 12:13:15.000000000 +0100 ++--- ../alsa-kernel/pci/intel8x0.c 2008-02-18 15:20:00.000000000 +0100 +++++ intel8x0.c 2008-02-18 15:40:42.000000000 +0100 + @@ -1,3 +1,4 @@ + +#include "adriver.h" + /* +@@ -16,7 +16,7 @@ + + MODULE_AUTHOR("Jaroslav Kysela "); + MODULE_DESCRIPTION("Intel 82801AA,82901AB,i810,i820,i830,i840,i845,MX440; SiS 7012; Ali 5455"); +-@@ -703,7 +707,7 @@ ++@@ -702,7 +706,7 @@ + iputbyte(chip, port + ichdev->roff_sr, ICH_FIFOE | ICH_BCIS | ICH_LVBCI); + } + +@@ -25,17 +25,25 @@ + /* + * Intel 82443MX running a 100MHz processor system bus has a hardware bug, + * which aborts PCI busmaster for audio transfer. A workaround is to set +-@@ -714,7 +718,9 @@ ++@@ -712,10 +716,17 @@ ++ static void fill_nocache(void *buf, int size, int nocache) + { + size = (size + PAGE_SIZE - 1) >> PAGE_SHIFT; +- change_page_attr(virt_to_page(buf), size, nocache ? PAGE_KERNEL_NOCACHE : PAGE_KERNEL); +++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) ++ if (nocache) ++ set_pages_uc(virt_to_page(buf), size); ++ else ++ set_pages_wb(virt_to_page(buf), size); +++#else +++ change_page_attr(virt_to_page(buf), size, nocache ? PAGE_KERNEL_NOCACHE : PAGE_KERNEL); + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) +- global_flush_tlb(); +++ global_flush_tlb(); +++#endif + +#endif + } + #else +- #define fill_nocache(buf,size,nocache) +-@@ -3082,3 +3088,5 @@ ++ #define fill_nocache(buf, size, nocache) do { ; } while (0) ++@@ -3117,3 +3128,5 @@ + + module_init(alsa_card_intel8x0_init) + module_exit(alsa_card_intel8x0_exit) +Index: alsa-driver-1.0.16/drivers/aloop-kernel.c +=================================================================== +--- alsa-driver-1.0.16.orig/drivers/aloop-kernel.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/drivers/aloop-kernel.c 2008-03-07 13:17:32.000000000 -0500 +@@ -29,12 +29,6 @@ + #include + #include + +-/* comment in to trash your kernel logfiles */ +-/* #define SND_CARD_LOOPBACK_VERBOSE */ +-/* comment in for synchronization on start trigger +- * works well on alsa apps but bad on oss emulation */ +-/* #define SND_CARD_LOOPBACK_START_SYNC */ +- + MODULE_AUTHOR("Jaroslav Kysela "); + MODULE_DESCRIPTION("A loopback soundcard"); + MODULE_LICENSE("GPL"); +@@ -45,9 +39,7 @@ + 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] = {1, [1 ... (SNDRV_CARDS - 1)] = 0}; +-static int pcm_devs[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 1}; + static int pcm_substreams[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 8}; +-/* static int midi_devs[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 2}; */ + + module_param_array(index, int, NULL, 0444); + MODULE_PARM_DESC(index, "Index value for loopback soundcard."); +@@ -55,12 +47,8 @@ + MODULE_PARM_DESC(id, "ID string for loopback soundcard."); + module_param_array(enable, bool, NULL, 0444); + MODULE_PARM_DESC(enable, "Enable this loopback soundcard."); +-module_param_array(pcm_devs, int, NULL, 0444); +-MODULE_PARM_DESC(pcm_devs, "PCM devices # (0-4) for loopback driver."); + module_param_array(pcm_substreams, int, NULL, 0444); + MODULE_PARM_DESC(pcm_substreams, "PCM substreams # (1-8) for loopback driver."); +-/* module_param_array(midi_devs, int, NULL, 0444); +- * MODULE_PARM_DESC(midi_devs, "MIDI devices # (0-2) for loopback driver."); */ + + typedef struct snd_card_loopback_cable { + struct snd_pcm_substream *playback; +@@ -84,16 +72,12 @@ + snd_card_loopback_t *loopback; + spinlock_t lock; + struct timer_list timer; +- int stream; +- unsigned int pcm_1000_size; +- unsigned int pcm_1000_count; +- unsigned int pcm_size; +- unsigned int pcm_count; ++ unsigned int pcm_buffer_size; ++ unsigned int pcm_period_size; + unsigned int pcm_bps; /* bytes per second */ +- unsigned int pcm_1000_jiffie; /* 1000 * bytes per one jiffie */ +- unsigned int pcm_1000_irq_pos; /* IRQ position */ +- unsigned int pcm_1000_buf_pos; /* position in buffer */ +- unsigned int pcm_period_pos; /* period aligned pos in buffer */ ++ unsigned int pcm_hz; /* HZ */ ++ unsigned int pcm_irq_pos; /* IRQ position */ ++ unsigned int pcm_buf_pos; /* position in buffer */ + struct snd_pcm_substream *substream; + struct snd_card_loopback_cable *cable; + } snd_card_loopback_pcm_t; +@@ -122,18 +106,7 @@ + { + struct snd_pcm_runtime *runtime = substream->runtime; + snd_card_loopback_pcm_t *dpcm = runtime->private_data; +-#ifdef SND_CARD_LOOPBACK_START_SYNC +- snd_card_loopback_pcm_t *capture_dpcm; +-#endif + if (cmd == SNDRV_PCM_TRIGGER_START) { +-#ifdef SND_CARD_LOOPBACK_START_SYNC +- if (dpcm->cable->capture_running) { +- capture_dpcm = dpcm->cable->capture->runtime->private_data; +- dpcm->pcm_1000_irq_pos = capture_dpcm->pcm_1000_irq_pos; +- dpcm->pcm_1000_buf_pos = capture_dpcm->pcm_1000_buf_pos; +- dpcm->pcm_period_pos = capture_dpcm->pcm_period_pos; +- } +-#endif + dpcm->cable->playback_running = 1; + snd_card_loopback_timer_start(substream); + } else if (cmd == SNDRV_PCM_TRIGGER_STOP) { +@@ -153,18 +126,7 @@ + { + struct snd_pcm_runtime *runtime = substream->runtime; + snd_card_loopback_pcm_t *dpcm = runtime->private_data; +-#ifdef SND_CARD_LOOPBACK_START_SYNC +- snd_card_loopback_pcm_t *playback_dpcm; +-#endif + if (cmd == SNDRV_PCM_TRIGGER_START) { +-#ifdef SND_CARD_LOOPBACK_START_SYNC +- if (dpcm->cable->playback_running) { +- playback_dpcm = dpcm->cable->playback->runtime->private_data; +- dpcm->pcm_1000_irq_pos = playback_dpcm->pcm_1000_irq_pos; +- dpcm->pcm_1000_buf_pos = playback_dpcm->pcm_1000_buf_pos; +- dpcm->pcm_period_pos = playback_dpcm->pcm_period_pos; +- } +-#endif + dpcm->cable->capture_running = 1; + snd_card_loopback_timer_start(substream); + } else if (cmd == SNDRV_PCM_TRIGGER_STOP) { +@@ -189,14 +151,11 @@ + if (bps <= 0) + return -EINVAL; + dpcm->pcm_bps = bps; +- dpcm->pcm_1000_jiffie = (1000 * bps) / HZ; +- dpcm->pcm_size = frames_to_bytes(runtime, runtime->buffer_size); +- dpcm->pcm_count = frames_to_bytes(runtime, runtime->period_size); +- dpcm->pcm_1000_size = 1000 * frames_to_bytes(runtime, runtime->buffer_size); +- dpcm->pcm_1000_count = 1000 * frames_to_bytes(runtime, runtime->period_size); +- dpcm->pcm_1000_irq_pos = 0; +- dpcm->pcm_1000_buf_pos = 0; +- dpcm->pcm_period_pos = 0; ++ dpcm->pcm_hz = HZ; ++ dpcm->pcm_buffer_size = frames_to_bytes(runtime, runtime->buffer_size); ++ dpcm->pcm_period_size = frames_to_bytes(runtime, runtime->period_size); ++ dpcm->pcm_irq_pos = 0; ++ dpcm->pcm_buf_pos = 0; + + cable->hw.formats = (1ULL << runtime->format); + cable->hw.rate_min = runtime->rate; +@@ -221,19 +180,6 @@ + cable->capture_valid = 1; + } + +-#ifdef SND_CARD_LOOPBACK_VERBOSE +- printk(KERN_INFO "snd-aloop(c%dd%ds%d%c): frq=%d chs=%d fmt=%d buf=%d per=%d pers=%d\n", +- substream->pcm->card->number, +- substream->pcm->device, +- substream->stream, +- (SNDRV_PCM_STREAM_PLAYBACK == substream->stream ? 'p' : 'c'), +- runtime->rate, +- runtime->channels, +- snd_pcm_format_width(runtime->format), +- frames_to_bytes(runtime, runtime->buffer_size), +- frames_to_bytes(runtime, runtime->period_size), +- runtime->periods); +-#endif + return 0; + } + +@@ -245,13 +191,11 @@ + add_timer(&dpcm->timer); + spin_lock_irq(&dpcm->lock); + +- dpcm->pcm_1000_irq_pos += dpcm->pcm_1000_jiffie; +- dpcm->pcm_1000_buf_pos += dpcm->pcm_1000_jiffie; +- dpcm->pcm_1000_buf_pos %= dpcm->pcm_1000_size; +- if (dpcm->pcm_1000_irq_pos >= dpcm->pcm_1000_count) { +- dpcm->pcm_1000_irq_pos %= dpcm->pcm_1000_count; +- dpcm->pcm_period_pos += dpcm->pcm_count; +- dpcm->pcm_period_pos %= dpcm->pcm_size; ++ dpcm->pcm_irq_pos += dpcm->pcm_bps; ++ if (dpcm->pcm_irq_pos >= dpcm->pcm_period_size * dpcm->pcm_hz) { ++ dpcm->pcm_irq_pos %= dpcm->pcm_period_size * dpcm->pcm_hz; ++ dpcm->pcm_buf_pos += dpcm->pcm_period_size; ++ dpcm->pcm_buf_pos %= dpcm->pcm_buffer_size; + spin_unlock_irq(&dpcm->lock); + snd_pcm_period_elapsed(dpcm->substream); + } else { +@@ -263,14 +207,15 @@ + { + struct snd_pcm_runtime *runtime = substream->runtime; + snd_card_loopback_pcm_t *dpcm = runtime->private_data; +- return bytes_to_frames(runtime, dpcm->pcm_period_pos); ++ return bytes_to_frames(runtime, dpcm->pcm_buf_pos); + } + + static struct snd_pcm_hardware snd_card_loopback_info = + { + .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | + SNDRV_PCM_INFO_MMAP_VALID), +- .formats = (SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE), ++ .formats = (SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE | ++ SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_FLOAT_LE), + .rates = (SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_192000), + .rate_min = 8000, + .rate_max = 192000, +@@ -297,9 +242,6 @@ + snd_card_loopback_pcm_t *dpcm = runtime->private_data; + struct snd_dma_buffer *dmab = NULL; + if (NULL == dpcm->cable->dma_buffer) { +-#ifdef SND_CARD_LOOPBACK_VERBOSE +- printk(KERN_INFO "snd-aloop: allocating dma buffer\n"); +-#endif + dmab = kzalloc(sizeof(*dmab), GFP_KERNEL); + if (NULL == dmab) + return -ENOMEM; +@@ -336,9 +278,6 @@ + if (NULL == cable->dma_buffer) + return 0; + +-#ifdef SND_CARD_LOOPBACK_VERBOSE +- printk(KERN_INFO "snd-aloop: freeing dma buffer\n"); +-#endif + snd_dma_free_pages(cable->dma_buffer); + kfree(cable->dma_buffer); + cable->dma_buffer = NULL; +@@ -380,7 +319,6 @@ + dpcm->timer.data = (unsigned long)dpcm; + dpcm->timer.function = snd_card_loopback_timer_function; + dpcm->cable = &loopback->cables[substream->number][half]; +- dpcm->stream = substream->stream; + runtime->private_data = dpcm; + runtime->private_free = snd_card_loopback_runtime_free; + runtime->hw = snd_card_loopback_info; +@@ -452,17 +390,11 @@ + struct snd_pcm *pcm; + int err; + +- if (0 == device) { +- if ((err = snd_pcm_new(loopback->card, "Loopback PCM", device, substreams, substreams, &pcm)) < 0) +- return err; +- snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_card_loopback_playback_ops); +- snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_card_loopback_capture_ops); +- } else { +- if ((err = snd_pcm_new(loopback->card, "Loopback PCM", device, substreams, substreams, &pcm)) < 0) +- return err; +- snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_card_loopback_playback_ops); +- snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_card_loopback_capture_ops); +- } ++ if ((err = snd_pcm_new(loopback->card, "Loopback PCM", device, substreams, substreams, &pcm)) < 0) ++ return err; ++ snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_card_loopback_playback_ops); ++ snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_card_loopback_capture_ops); ++ + pcm->private_data = loopback; + pcm->info_flags = 0; + strcpy(pcm->name, "Loopback PCM"); +@@ -492,6 +424,11 @@ + return -ENOMEM; + loopback = (struct snd_card_loopback *)card->private_data; + ++ if (pcm_substreams[dev] < 1) ++ pcm_substreams[dev] = 1; ++ if (pcm_substreams[dev] > MAX_PCM_SUBSTREAMS) ++ pcm_substreams[dev] = MAX_PCM_SUBSTREAMS; ++ + for (subdev = 0; subdev < pcm_substreams[dev]; subdev++) { + for (half = 0; half < 2; half++) { + loopback->cables[subdev][half].playback = NULL; +@@ -507,10 +444,6 @@ + } + + loopback->card = card; +- if (pcm_substreams[dev] < 1) +- pcm_substreams[dev] = 1; +- if (pcm_substreams[dev] > MAX_PCM_SUBSTREAMS) +- pcm_substreams[dev] = MAX_PCM_SUBSTREAMS; + if ((err = snd_card_loopback_pcm(loopback, 0, pcm_substreams[dev])) < 0) + goto __nodev; + if ((err = snd_card_loopback_pcm(loopback, 1, pcm_substreams[dev])) < 0) +Index: alsa-driver-1.0.16/sound/Documentation/ALSA-Configuration.txt +=================================================================== +--- alsa-driver-1.0.16.orig/sound/Documentation/ALSA-Configuration.txt 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/Documentation/ALSA-Configuration.txt 2008-03-07 13:19:41.000000000 -0500 +@@ -912,6 +912,11 @@ + 3stack 3-stack mode (default) + 6stack 6-stack mode + ++ AD1884A / AD1883 / AD1984A / AD1984B ++ desktop 3-stack desktop (default) ++ laptop laptop with HP jack sensing ++ mobile mobile devices with HP jack sensing ++ + AD1884 + N/A + +@@ -1018,6 +1023,16 @@ + 3stack D965 3stack + 5stack D965 5stack + SPDIF + dell-3stack Dell Dimension E520 ++ dell-bios Fixes with Dell BIOS setup ++ ++ STAC92HD71B* ++ ref Reference board ++ dell-m4-1 Dell desktops ++ dell-m4-2 Dell desktops ++ ++ STAC92HD73* ++ ref Reference board ++ dell-m6 Dell desktops + + STAC9872 + vaio Setup for VAIO FE550G/SZ110 +@@ -1591,6 +1606,16 @@ + + Power management is _not_ supported. + ++ Module snd-pcsp ++ ----------------- ++ ++ Module for internal PC-Speaker. ++ ++ nforce_wa - enable NForce chipset workaround. Expect bad sound. ++ ++ This module supports system beeps, some kind of PCM playback and ++ even a few mixer controls. ++ + Module snd-pcxhr + ---------------- + +Index: alsa-driver-1.0.16/sound/usb/caiaq/caiaq-device.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/usb/caiaq/caiaq-device.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/usb/caiaq/caiaq-device.c 2008-03-07 13:13:52.000000000 -0500 +@@ -245,7 +245,7 @@ + tmp, sizeof(tmp)); + } + +-static void setup_card(struct snd_usb_caiaqdev *dev) ++static void __devinit setup_card(struct snd_usb_caiaqdev *dev) + { + int ret; + char val[4]; +@@ -359,7 +359,7 @@ + return card; + } + +-static int init_card(struct snd_usb_caiaqdev *dev) ++static int __devinit init_card(struct snd_usb_caiaqdev *dev) + { + char *c; + struct usb_device *usb_dev = dev->chip.dev; +@@ -428,7 +428,7 @@ + return 0; + } + +-static int snd_probe(struct usb_interface *intf, ++static int __devinit snd_probe(struct usb_interface *intf, + const struct usb_device_id *id) + { + int ret; +Index: alsa-driver-1.0.16/sound/usb/caiaq/caiaq-control.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/usb/caiaq/caiaq-control.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/usb/caiaq/caiaq-control.c 2008-03-07 13:13:52.000000000 -0500 +@@ -108,7 +108,7 @@ + return 1; + } + +-static struct snd_kcontrol_new kcontrol_template = { ++static struct snd_kcontrol_new kcontrol_template __devinitdata = { + .iface = SNDRV_CTL_ELEM_IFACE_HWDEP, + .access = SNDRV_CTL_ELEM_ACCESS_READWRITE, + .index = 0, +@@ -247,7 +247,7 @@ + { "Software lock", 40 } + }; + +-int snd_usb_caiaq_control_init(struct snd_usb_caiaqdev *dev) ++int __devinit snd_usb_caiaq_control_init(struct snd_usb_caiaqdev *dev) + { + int i; + struct snd_kcontrol *kc; +Index: alsa-driver-1.0.16/sound/spi/at73c213.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/spi/at73c213.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/spi/at73c213.c 2008-03-07 13:13:52.000000000 -0500 +@@ -737,7 +737,7 @@ + /* + * Device functions + */ +-static int snd_at73c213_ssc_init(struct snd_at73c213 *chip) ++static int __devinit snd_at73c213_ssc_init(struct snd_at73c213 *chip) + { + /* + * Continuous clock output. +@@ -767,7 +767,7 @@ + return 0; + } + +-static int snd_at73c213_chip_init(struct snd_at73c213 *chip) ++static int __devinit snd_at73c213_chip_init(struct snd_at73c213 *chip) + { + int retval; + unsigned char dac_ctrl = 0; +@@ -933,7 +933,7 @@ + return retval; + } + +-static int snd_at73c213_probe(struct spi_device *spi) ++static int __devinit snd_at73c213_probe(struct spi_device *spi) + { + struct snd_card *card; + struct snd_at73c213 *chip; +Index: alsa-driver-1.0.16/sound/include/ac97_codec.h +=================================================================== +--- alsa-driver-1.0.16.orig/sound/include/ac97_codec.h 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/include/ac97_codec.h 2008-03-07 13:13:52.000000000 -0500 +@@ -397,6 +397,7 @@ + #define AC97_HAS_NO_TONE (1<<16) /* no Tone volume */ + #define AC97_HAS_NO_STD_PCM (1<<17) /* no standard AC97 PCM volume and mute */ + #define AC97_HAS_NO_AUX (1<<18) /* no standard AC97 AUX volume and mute */ ++#define AC97_HAS_8CH (1<<19) /* supports 8-channel output */ + + /* rates indexes */ + #define AC97_RATES_FRONT_DAC 0 +Index: alsa-driver-1.0.16/sound/pci/ac97/ac97_patch.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/ac97/ac97_patch.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/ac97/ac97_patch.c 2008-03-07 13:13:52.000000000 -0500 +@@ -114,10 +114,9 @@ + + static int ac97_channel_mode_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) + { +- static const char *texts[] = { "2ch", "4ch", "6ch" }; +- if (kcontrol->private_value) +- return ac97_enum_text_info(kcontrol, uinfo, texts, 2); /* 4ch only */ +- return ac97_enum_text_info(kcontrol, uinfo, texts, 3); ++ static const char *texts[] = { "2ch", "4ch", "6ch", "8ch" }; ++ return ac97_enum_text_info(kcontrol, uinfo, texts, ++ kcontrol->private_value); + } + + static int ac97_channel_mode_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) +@@ -133,13 +132,8 @@ + struct snd_ac97 *ac97 = snd_kcontrol_chip(kcontrol); + unsigned char mode = ucontrol->value.enumerated.item[0]; + +- if (kcontrol->private_value) { +- if (mode >= 2) +- return -EINVAL; +- } else { +- if (mode >= 3) +- return -EINVAL; +- } ++ if (mode >= kcontrol->private_value) ++ return -EINVAL; + + if (mode != ac97->channel_mode) { + ac97->channel_mode = mode; +@@ -158,6 +152,7 @@ + .get = ac97_surround_jack_mode_get, \ + .put = ac97_surround_jack_mode_put, \ + } ++/* 6ch */ + #define AC97_CHANNEL_MODE_CTL \ + { \ + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \ +@@ -165,7 +160,9 @@ + .info = ac97_channel_mode_info, \ + .get = ac97_channel_mode_get, \ + .put = ac97_channel_mode_put, \ ++ .private_value = 3, \ + } ++/* 4ch */ + #define AC97_CHANNEL_MODE_4CH_CTL \ + { \ + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \ +@@ -173,7 +170,17 @@ + .info = ac97_channel_mode_info, \ + .get = ac97_channel_mode_get, \ + .put = ac97_channel_mode_put, \ +- .private_value = 1, \ ++ .private_value = 2, \ ++ } ++/* 8ch */ ++#define AC97_CHANNEL_MODE_8CH_CTL \ ++ { \ ++ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \ ++ .name = "Channel Mode", \ ++ .info = ac97_channel_mode_info, \ ++ .get = ac97_channel_mode_get, \ ++ .put = ac97_channel_mode_put, \ ++ .private_value = 4, \ + } + + static inline int is_surround_on(struct snd_ac97 *ac97) +@@ -210,6 +217,10 @@ + return !ac97->indep_surround && !is_clfe_on(ac97); + } + ++static inline int alc850_is_aux_back_surround(struct snd_ac97 *ac97) ++{ ++ return is_surround_on(ac97); ++} + + /* The following snd_ac97_ymf753_... items added by David Shust (dshust@shustring.com) */ + /* Modified for YMF743 by Keita Maehara */ +@@ -2816,10 +2827,12 @@ + + #define AC97_ALC850_JACK_SELECT 0x76 + #define AC97_ALC850_MISC1 0x7a ++#define AC97_ALC850_MULTICH 0x6a + + static void alc850_update_jacks(struct snd_ac97 *ac97) + { + int shared; ++ int aux_is_back_surround; + + /* shared Line-In / Surround Out */ + shared = is_shared_surrout(ac97); +@@ -2837,13 +2850,18 @@ + /* MIC-IN = 1, CENTER-LFE = 5 */ + snd_ac97_update_bits(ac97, AC97_ALC850_JACK_SELECT, 7 << 4, + shared ? (5<<4) : (1<<4)); ++ ++ aux_is_back_surround = alc850_is_aux_back_surround(ac97); ++ /* Aux is Back Surround */ ++ snd_ac97_update_bits(ac97, AC97_ALC850_MULTICH, 1 << 10, ++ aux_is_back_surround ? (1<<10) : (0<<10)); + } + + static const struct snd_kcontrol_new snd_ac97_controls_alc850[] = { + AC97_PAGE_SINGLE("Duplicate Front", AC97_ALC650_MULTICH, 0, 1, 0, 0), + AC97_SINGLE("Mic Front Input Switch", AC97_ALC850_JACK_SELECT, 15, 1, 1), + AC97_SURROUND_JACK_MODE_CTL, +- AC97_CHANNEL_MODE_CTL, ++ AC97_CHANNEL_MODE_8CH_CTL, + }; + + static int patch_alc850_specific(struct snd_ac97 *ac97) +@@ -2869,6 +2887,7 @@ + ac97->build_ops = &patch_alc850_ops; + + ac97->spec.dev_flags = 0; /* for IEC958 playback route - ALC655 compatible */ ++ ac97->flags |= AC97_HAS_8CH; + + /* assume only page 0 for writing cache */ + snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, AC97_PAGE_VENDOR); +@@ -2878,6 +2897,7 @@ + spdif-in monitor off, spdif-in PCM off + center on mic off, surround on line-in off + duplicate front off ++ NB default bit 10=0 = Aux is Capture, not Back Surround + */ + snd_ac97_write_cache(ac97, AC97_ALC650_MULTICH, 1<<15); + /* SURR_OUT: on, Surr 1kOhm: on, Surr Amp: off, Front 1kOhm: off +Index: alsa-driver-1.0.16/sound/pci/intel8x0.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/intel8x0.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/intel8x0.c 2008-03-07 13:17:15.000000000 -0500 +@@ -155,7 +155,8 @@ + #define ICH_PCM_SPDIF_69 0x80000000 /* s/pdif pcm on slots 6&9 */ + #define ICH_PCM_SPDIF_1011 0xc0000000 /* s/pdif pcm on slots 10&11 */ + #define ICH_PCM_20BIT 0x00400000 /* 20-bit samples (ICH4) */ +-#define ICH_PCM_246_MASK 0x00300000 /* 6 channels (not all chips) */ ++#define ICH_PCM_246_MASK 0x00300000 /* chan mask (not all chips) */ ++#define ICH_PCM_8 0x00300000 /* 8 channels (not all chips) */ + #define ICH_PCM_6 0x00200000 /* 6 channels (not all chips) */ + #define ICH_PCM_4 0x00100000 /* 4 channels (not all chips) */ + #define ICH_PCM_2 0x00000000 /* 2 channels (stereo) */ +@@ -382,6 +383,7 @@ + + unsigned multi4: 1, + multi6: 1, ++ multi8 :1, + dra: 1, + smp20bit: 1; + unsigned in_ac97_init: 1, +@@ -710,11 +712,13 @@ + static void fill_nocache(void *buf, int size, int nocache) + { + size = (size + PAGE_SIZE - 1) >> PAGE_SHIFT; +- change_page_attr(virt_to_page(buf), size, nocache ? PAGE_KERNEL_NOCACHE : PAGE_KERNEL); +- global_flush_tlb(); ++ if (nocache) ++ set_pages_uc(virt_to_page(buf), size); ++ else ++ set_pages_wb(virt_to_page(buf), size); + } + #else +-#define fill_nocache(buf,size,nocache) ++#define fill_nocache(buf, size, nocache) do { ; } while (0) + #endif + + /* +@@ -995,6 +999,8 @@ + cnt |= ICH_PCM_4; + else if (runtime->channels == 6) + cnt |= ICH_PCM_6; ++ else if (runtime->channels == 8) ++ cnt |= ICH_PCM_8; + if (chip->device_type == DEVICE_NFORCE) { + /* reset to 2ch once to keep the 6 channel data in alignment, + * to start from Front Left always +@@ -1104,6 +1110,16 @@ + .mask = 0, + }; + ++static unsigned int channels8[] = { ++ 2, 4, 6, 8, ++}; ++ ++static struct snd_pcm_hw_constraint_list hw_constraints_channels8 = { ++ .count = ARRAY_SIZE(channels8), ++ .list = channels8, ++ .mask = 0, ++}; ++ + static int snd_intel8x0_pcm_open(struct snd_pcm_substream *substream, struct ichdev *ichdev) + { + struct intel8x0 *chip = snd_pcm_substream_chip(substream); +@@ -1134,7 +1150,12 @@ + if (err < 0) + return err; + +- if (chip->multi6) { ++ if (chip->multi8) { ++ runtime->hw.channels_max = 8; ++ snd_pcm_hw_constraint_list(runtime, 0, ++ SNDRV_PCM_HW_PARAM_CHANNELS, ++ &hw_constraints_channels8); ++ } else if (chip->multi6) { + runtime->hw.channels_max = 6; + snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, + &hw_constraints_channels6); +@@ -1706,6 +1727,12 @@ + }; + + static struct ac97_quirk ac97_quirks[] __devinitdata = { ++ { ++ .subvendor = 0x0e11, ++ .subdevice = 0x000e, ++ .name = "Compaq Deskpro EN", /* AD1885 */ ++ .type = AC97_TUNE_HP_ONLY ++ }, + { + .subvendor = 0x0e11, + .subdevice = 0x008a, +@@ -2195,8 +2222,11 @@ + } + if (pbus->pcms[0].r[0].slots & (1 << AC97_SLOT_PCM_SLEFT)) { + chip->multi4 = 1; +- if (pbus->pcms[0].r[0].slots & (1 << AC97_SLOT_LFE)) ++ if (pbus->pcms[0].r[0].slots & (1 << AC97_SLOT_LFE)) { + chip->multi6 = 1; ++ if (chip->ac97[0]->flags & AC97_HAS_8CH) ++ chip->multi8 = 1; ++ } + } + if (pbus->pcms[0].r[1].rslots[0]) { + chip->dra = 1; +Index: alsa-driver-1.0.16/sound/core/seq/seq_clientmgr.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/core/seq/seq_clientmgr.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/core/seq/seq_clientmgr.c 2008-03-07 13:13:52.000000000 -0500 +@@ -149,13 +149,13 @@ + } + spin_unlock_irqrestore(&clients_lock, flags); + #ifdef CONFIG_KMOD +- if (!in_interrupt() && current->fs->root) { ++ if (!in_interrupt()) { + static char client_requested[SNDRV_SEQ_GLOBAL_CLIENTS]; + static char card_requested[SNDRV_CARDS]; + if (clientid < SNDRV_SEQ_GLOBAL_CLIENTS) { + int idx; + +- if (! client_requested[clientid] && current->fs->root) { ++ if (!client_requested[clientid]) { + client_requested[clientid] = 1; + for (idx = 0; idx < 15; idx++) { + if (seq_client_load[idx] < 0) +Index: alsa-driver-1.0.16/sound/core/seq/seq_device.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/core/seq/seq_device.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/core/seq/seq_device.c 2008-03-07 13:13:52.000000000 -0500 +@@ -149,9 +149,6 @@ + if (snd_seq_in_init) + return; + +- if (! current->fs->root) +- return; +- + mutex_lock(&ops_mutex); + list_for_each_entry(ops, &opslist, list) { + if (! (ops->driver & DRIVER_LOADED) && +Index: alsa-driver-1.0.16/sound/core/sound.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/core/sound.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/core/sound.c 2008-03-07 13:13:52.000000000 -0500 +@@ -71,8 +71,6 @@ + */ + void snd_request_card(int card) + { +- if (! current->fs->root) +- return; + if (snd_card_locked(card)) + return; + if (card < 0 || card >= cards_limit) +@@ -86,8 +84,6 @@ + { + char *str; + +- if (! current->fs->root) +- return; + switch (minor) { + case SNDRV_MINOR_SEQUENCER: str = "snd-seq"; break; + case SNDRV_MINOR_TIMER: str = "snd-timer"; break; +Index: alsa-driver-1.0.16/sound/core/timer.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/core/timer.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/core/timer.c 2008-03-07 13:13:52.000000000 -0500 +@@ -150,8 +150,6 @@ + + static void snd_timer_request(struct snd_timer_id *tid) + { +- if (! current->fs->root) +- return; + switch (tid->dev_class) { + case SNDRV_TIMER_CLASS_GLOBAL: + if (tid->device < timer_limit) +Index: alsa-driver-1.0.16/sound/ppc/daca.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/ppc/daca.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/ppc/daca.c 2008-03-07 13:13:52.000000000 -0500 +@@ -250,9 +250,8 @@ + struct pmac_daca *mix; + + #ifdef CONFIG_KMOD +- if (current->fs->root) +- request_module("i2c-powermac"); +-#endif /* CONFIG_KMOD */ ++ request_module("i2c-powermac"); ++#endif /* CONFIG_KMOD */ + + mix = kzalloc(sizeof(*mix), GFP_KERNEL); + if (! mix) +Index: alsa-driver-1.0.16/sound/ppc/tumbler.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/ppc/tumbler.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/ppc/tumbler.c 2008-03-07 13:13:52.000000000 -0500 +@@ -1351,9 +1351,8 @@ + char *chipname; + + #ifdef CONFIG_KMOD +- if (current->fs->root) +- request_module("i2c-powermac"); +-#endif /* CONFIG_KMOD */ ++ request_module("i2c-powermac"); ++#endif /* CONFIG_KMOD */ + + mix = kzalloc(sizeof(*mix), GFP_KERNEL); + if (! mix) +Index: alsa-driver-1.0.16/sound/pci/bt87x.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/bt87x.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/bt87x.c 2008-03-07 13:13:52.000000000 -0500 +@@ -681,15 +681,12 @@ + + static int snd_bt87x_free(struct snd_bt87x *chip) + { +- if (chip->mmio) { ++ if (chip->mmio) + snd_bt87x_stop(chip); +- if (chip->irq >= 0) +- synchronize_irq(chip->irq); +- +- iounmap(chip->mmio); +- } + if (chip->irq >= 0) + free_irq(chip->irq, chip); ++ if (chip->mmio) ++ iounmap(chip->mmio); + pci_release_regions(chip->pci); + pci_disable_device(chip->pci); + kfree(chip); +Index: alsa-driver-1.0.16/sound/soc/codecs/tlv320aic3x.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/soc/codecs/tlv320aic3x.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/soc/codecs/tlv320aic3x.c 2008-03-07 13:13:52.000000000 -0500 +@@ -660,33 +660,43 @@ + /* AIC3X codec mclk clock divider coefficients */ + static const struct aic3x_rate_divs aic3x_divs[] = { + /* 8k */ ++ {12000000, 8000, 48000, 0xa, 16, 3840}, + {22579200, 8000, 48000, 0xa, 8, 7075}, + {33868800, 8000, 48000, 0xa, 5, 8049}, + /* 11.025k */ ++ {12000000, 11025, 44100, 0x6, 15, 528}, + {22579200, 11025, 44100, 0x6, 8, 0}, + {33868800, 11025, 44100, 0x6, 5, 3333}, + /* 16k */ ++ {12000000, 16000, 48000, 0x4, 16, 3840}, + {22579200, 16000, 48000, 0x4, 8, 7075}, + {33868800, 16000, 48000, 0x4, 5, 8049}, + /* 22.05k */ ++ {12000000, 22050, 44100, 0x2, 15, 528}, + {22579200, 22050, 44100, 0x2, 8, 0}, + {33868800, 22050, 44100, 0x2, 5, 3333}, + /* 32k */ ++ {12000000, 32000, 48000, 0x1, 16, 3840}, + {22579200, 32000, 48000, 0x1, 8, 7075}, + {33868800, 32000, 48000, 0x1, 5, 8049}, + /* 44.1k */ ++ {12000000, 44100, 44100, 0x0, 15, 528}, + {22579200, 44100, 44100, 0x0, 8, 0}, + {33868800, 44100, 44100, 0x0, 5, 3333}, + /* 48k */ ++ {12000000, 48000, 48000, 0x0, 16, 3840}, + {22579200, 48000, 48000, 0x0, 8, 7075}, + {33868800, 48000, 48000, 0x0, 5, 8049}, + /* 64k */ +- {22579200, 96000, 96000, 0x1, 8, 7075}, +- {33868800, 96000, 96000, 0x1, 5, 8049}, ++ {12000000, 64000, 96000, 0x1, 16, 3840}, ++ {22579200, 64000, 96000, 0x1, 8, 7075}, ++ {33868800, 64000, 96000, 0x1, 5, 8049}, + /* 88.2k */ ++ {12000000, 88200, 88200, 0x0, 15, 528}, + {22579200, 88200, 88200, 0x0, 8, 0}, + {33868800, 88200, 88200, 0x0, 5, 3333}, + /* 96k */ ++ {12000000, 96000, 96000, 0x0, 16, 3840}, + {22579200, 96000, 96000, 0x0, 8, 7075}, + {33868800, 96000, 96000, 0x0, 5, 8049}, + }; +@@ -807,6 +817,7 @@ + struct aic3x_priv *aic3x = codec->private_data; + + switch (freq) { ++ case 12000000: + case 22579200: + case 33868800: + aic3x->sysclk = freq; +Index: alsa-driver-1.0.16/sound/core/seq/oss/seq_oss_synth.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/core/seq/oss/seq_oss_synth.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/core/seq/oss/seq_oss_synth.c 2008-03-07 13:13:52.000000000 -0500 +@@ -245,8 +245,13 @@ + info->nr_voices = rec->nr_voices; + if (info->nr_voices > 0) { + info->ch = kcalloc(info->nr_voices, sizeof(struct seq_oss_chinfo), GFP_KERNEL); +- if (!info->ch) +- BUG(); ++ if (!info->ch) { ++ snd_printk(KERN_ERR "Cannot malloc\n"); ++ rec->oper.close(&info->arg); ++ module_put(rec->oper.owner); ++ snd_use_lock_free(&rec->use_lock); ++ continue; ++ } + reset_channels(info); + } + debug_printk(("synth %d assigned\n", i)); +Index: alsa-driver-1.0.16/sound/pci/rme9652/hdsp.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/rme9652/hdsp.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/rme9652/hdsp.c 2008-03-07 13:13:52.000000000 -0500 +@@ -318,6 +318,10 @@ + #define HDSP_midi1IRQPending (1<<31) + + #define HDSP_spdifFrequencyMask (HDSP_spdifFrequency0|HDSP_spdifFrequency1|HDSP_spdifFrequency2) ++#define HDSP_spdifFrequencyMask_9632 (HDSP_spdifFrequency0|\ ++ HDSP_spdifFrequency1|\ ++ HDSP_spdifFrequency2|\ ++ HDSP_spdifFrequency3) + + #define HDSP_spdifFrequency32KHz (HDSP_spdifFrequency0) + #define HDSP_spdifFrequency44_1KHz (HDSP_spdifFrequency1) +@@ -328,7 +332,9 @@ + #define HDSP_spdifFrequency96KHz (HDSP_spdifFrequency2|HDSP_spdifFrequency1) + + /* This is for H9632 cards */ +-#define HDSP_spdifFrequency128KHz HDSP_spdifFrequencyMask ++#define HDSP_spdifFrequency128KHz (HDSP_spdifFrequency0|\ ++ HDSP_spdifFrequency1|\ ++ HDSP_spdifFrequency2) + #define HDSP_spdifFrequency176_4KHz HDSP_spdifFrequency3 + #define HDSP_spdifFrequency192KHz (HDSP_spdifFrequency3|HDSP_spdifFrequency0) + +@@ -885,28 +891,15 @@ + return ret; + } + +-static int hdsp_external_sample_rate (struct hdsp *hdsp) +-{ +- unsigned int status2 = hdsp_read(hdsp, HDSP_status2Register); +- unsigned int rate_bits = status2 & HDSP_systemFrequencyMask; +- +- switch (rate_bits) { +- case HDSP_systemFrequency32: return 32000; +- case HDSP_systemFrequency44_1: return 44100; +- case HDSP_systemFrequency48: return 48000; +- case HDSP_systemFrequency64: return 64000; +- case HDSP_systemFrequency88_2: return 88200; +- case HDSP_systemFrequency96: return 96000; +- default: +- return 0; +- } +-} +- + static int hdsp_spdif_sample_rate(struct hdsp *hdsp) + { + unsigned int status = hdsp_read(hdsp, HDSP_statusRegister); + unsigned int rate_bits = (status & HDSP_spdifFrequencyMask); + ++ /* For the 9632, the mask is different */ ++ if (hdsp->io_type == H9632) ++ rate_bits = (status & HDSP_spdifFrequencyMask_9632); ++ + if (status & HDSP_SPDIFErrorFlag) + return 0; + +@@ -933,6 +926,31 @@ + return 0; + } + ++static int hdsp_external_sample_rate(struct hdsp *hdsp) ++{ ++ unsigned int status2 = hdsp_read(hdsp, HDSP_status2Register); ++ unsigned int rate_bits = status2 & HDSP_systemFrequencyMask; ++ ++ /* For the 9632 card, there seems to be no bit for indicating external ++ * sample rate greater than 96kHz. The card reports the corresponding ++ * single speed. So the best means seems to get spdif rate when ++ * autosync reference is spdif */ ++ if (hdsp->io_type == H9632 && ++ hdsp_autosync_ref(hdsp) == HDSP_AUTOSYNC_FROM_SPDIF) ++ return hdsp_spdif_sample_rate(hdsp); ++ ++ switch (rate_bits) { ++ case HDSP_systemFrequency32: return 32000; ++ case HDSP_systemFrequency44_1: return 44100; ++ case HDSP_systemFrequency48: return 48000; ++ case HDSP_systemFrequency64: return 64000; ++ case HDSP_systemFrequency88_2: return 88200; ++ case HDSP_systemFrequency96: return 96000; ++ default: ++ return 0; ++ } ++} ++ + static void hdsp_compute_period_size(struct hdsp *hdsp) + { + hdsp->period_bytes = 1 << ((hdsp_decode_latency(hdsp->control_register) + 8)); +Index: alsa-driver-1.0.16/sound/drivers/mpu401/mpu401_uart.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/drivers/mpu401/mpu401_uart.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/drivers/mpu401/mpu401_uart.c 2008-03-07 13:13:52.000000000 -0500 +@@ -425,16 +425,17 @@ + static void snd_mpu401_uart_output_write(struct snd_mpu401 * mpu) + { + unsigned char byte; +- int max = 256, timeout; ++ int max = 256; + + do { + if (snd_rawmidi_transmit_peek(mpu->substream_output, + &byte, 1) == 1) { +- for (timeout = 100; timeout > 0; timeout--) { +- if (snd_mpu401_output_ready(mpu)) +- break; +- } +- if (timeout == 0) ++ /* ++ * Try twice because there is hardware that insists on ++ * setting the output busy bit after each write. ++ */ ++ if (!snd_mpu401_output_ready(mpu) && ++ !snd_mpu401_output_ready(mpu)) + break; /* Tx FIFO full - try again later */ + mpu->write(mpu, byte, MPU401D(mpu)); + snd_rawmidi_transmit_ack(mpu->substream_output, 1); +Index: alsa-driver-1.0.16/alsa-kernel/usb/usbaudio.c +=================================================================== +--- alsa-driver-1.0.16.orig/alsa-kernel/usb/usbaudio.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/alsa-kernel/usb/usbaudio.c 2008-03-07 13:13:52.000000000 -0500 +@@ -479,6 +479,33 @@ + return 0; + } + ++/* ++ * process after E-Mu 0202/0404 high speed playback sync complete ++ * ++ * These devices return the number of samples per packet instead of the number ++ * of samples per microframe. ++ */ ++static int retire_playback_sync_urb_hs_emu(struct snd_usb_substream *subs, ++ struct snd_pcm_runtime *runtime, ++ struct urb *urb) ++{ ++ unsigned int f; ++ unsigned long flags; ++ ++ if (urb->iso_frame_desc[0].status == 0 && ++ urb->iso_frame_desc[0].actual_length == 4) { ++ f = combine_quad((u8*)urb->transfer_buffer) & 0x0fffffff; ++ f >>= subs->datainterval; ++ if (f >= subs->freqn - subs->freqn / 8 && f <= subs->freqmax) { ++ spin_lock_irqsave(&subs->lock, flags); ++ subs->freqm = f; ++ spin_unlock_irqrestore(&subs->lock, flags); ++ } ++ } ++ ++ return 0; ++} ++ + /* determine the number of frames in the next packet */ + static int snd_usb_audio_next_packet_size(struct snd_usb_substream *subs) + { +@@ -2219,10 +2246,17 @@ + subs->stream = as; + subs->direction = stream; + subs->dev = as->chip->dev; +- if (snd_usb_get_speed(subs->dev) == USB_SPEED_FULL) ++ if (snd_usb_get_speed(subs->dev) == USB_SPEED_FULL) { + subs->ops = audio_urb_ops[stream]; +- else ++ } else { + subs->ops = audio_urb_ops_high_speed[stream]; ++ switch (as->chip->usb_id) { ++ case USB_ID(0x041e, 0x3f02): /* E-Mu 0202 USB */ ++ case USB_ID(0x041e, 0x3f04): /* E-Mu 0404 USB */ ++ subs->ops.retire_sync = retire_playback_sync_urb_hs_emu; ++ break; ++ } ++ } + snd_pcm_set_ops(as->pcm, stream, + stream == SNDRV_PCM_STREAM_PLAYBACK ? + &snd_usb_playback_ops : &snd_usb_capture_ops); +Index: alsa-driver-1.0.16/alsa-kernel/usb/usbquirks.h +=================================================================== +--- alsa-driver-1.0.16.orig/alsa-kernel/usb/usbquirks.h 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/alsa-kernel/usb/usbquirks.h 2008-03-07 13:13:52.000000000 -0500 +@@ -39,6 +39,30 @@ + .idProduct = prod, \ + .bInterfaceClass = USB_CLASS_VENDOR_SPEC + ++/* Creative/E-Mu devices */ ++{ ++ USB_DEVICE(0x041e, 0x3010), ++ .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { ++ .vendor_name = "Creative Labs", ++ .product_name = "Sound Blaster MP3+", ++ .ifnum = QUIRK_NO_INTERFACE ++ } ++}, ++{ ++ /* E-Mu 0202 USB */ ++ .match_flags = USB_DEVICE_ID_MATCH_DEVICE, ++ .idVendor = 0x041e, ++ .idProduct = 0x3f02, ++ .bInterfaceClass = USB_CLASS_AUDIO, ++}, ++{ ++ /* E-Mu 0404 USB */ ++ .match_flags = USB_DEVICE_ID_MATCH_DEVICE, ++ .idVendor = 0x041e, ++ .idProduct = 0x3f04, ++ .bInterfaceClass = USB_CLASS_AUDIO, ++}, ++ + /* + * Logitech QuickCam: bDeviceClass is vendor-specific, so generic interface + * class matches do not take effect without an explicit ID match. +@@ -97,19 +121,7 @@ + .bInterfaceClass = USB_CLASS_AUDIO, + .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL + }, +-/* E-Mu devices */ +-{ +- .match_flags = USB_DEVICE_ID_MATCH_DEVICE, +- .idVendor = 0x041e, +- .idProduct = 0x3f02, +- .bInterfaceClass = USB_CLASS_AUDIO, +-}, +-{ +- .match_flags = USB_DEVICE_ID_MATCH_DEVICE, +- .idVendor = 0x041e, +- .idProduct = 0x3f04, +- .bInterfaceClass = USB_CLASS_AUDIO, +-}, ++ + /* + * Yamaha devices + */ +@@ -1165,19 +1177,6 @@ + } + } + }, +-{ +- USB_DEVICE(0x582, 0x00a6), +- .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { +- .vendor_name = "Roland", +- .product_name = "Juno-G", +- .ifnum = 0, +- .type = QUIRK_MIDI_FIXED_ENDPOINT, +- .data = & (const struct snd_usb_midi_endpoint_info) { +- .out_cables = 0x0001, +- .in_cables = 0x0001 +- } +- } +-}, + { /* + * This quirk is for the "Advanced" modes of the Edirol UA-25. + * If the switch is not in an advanced setting, the UA-25 has +@@ -1336,6 +1335,19 @@ + }, + /* TODO: add Edirol MD-P1 support */ + { ++ USB_DEVICE(0x582, 0x00a6), ++ .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { ++ .vendor_name = "Roland", ++ .product_name = "Juno-G", ++ .ifnum = 0, ++ .type = QUIRK_MIDI_FIXED_ENDPOINT, ++ .data = & (const struct snd_usb_midi_endpoint_info) { ++ .out_cables = 0x0001, ++ .in_cables = 0x0001 ++ } ++ } ++}, ++{ + /* Roland SH-201 */ + USB_DEVICE(0x0582, 0x00ad), + .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { +@@ -1719,17 +1731,6 @@ + } + }, + +-{ +- /* Creative Sound Blaster MP3+ */ +- USB_DEVICE(0x041e, 0x3010), +- .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { +- .vendor_name = "Creative Labs", +- .product_name = "Sound Blaster MP3+", +- .ifnum = QUIRK_NO_INTERFACE +- } +- +-}, +- + /* Emagic devices */ + { + USB_DEVICE(0x086a, 0x0001), +Index: alsa-driver-1.0.16/alsa-kernel/isa/sb/sb8_main.c +=================================================================== +--- alsa-driver-1.0.16.orig/alsa-kernel/isa/sb/sb8_main.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/alsa-kernel/isa/sb/sb8_main.c 2008-03-07 13:13:52.000000000 -0500 +@@ -277,7 +277,7 @@ + } else { + snd_sbdsp_command(chip, 256 - runtime->rate_den); + } +- if (chip->capture_format != SB_DSP_OUTPUT) { ++ if (chip->capture_format != SB_DSP_INPUT) { + count--; + snd_sbdsp_command(chip, SB_DSP_BLOCK_SIZE); + snd_sbdsp_command(chip, count & 0xff); +Index: alsa-driver-1.0.16/sound/pci/oxygen/hifier.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/oxygen/hifier.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/oxygen/hifier.c 2008-03-07 13:13:52.000000000 -0500 +@@ -150,6 +150,7 @@ + .shortname = "C-Media CMI8787", + .longname = "C-Media Oxygen HD Audio", + .chip = "CMI8788", ++ .owner = THIS_MODULE, + .init = hifier_init, + .control_filter = hifier_control_filter, + .mixer_init = hifier_mixer_init, +Index: alsa-driver-1.0.16/sound/pci/oxygen/virtuoso.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/oxygen/virtuoso.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/oxygen/virtuoso.c 2008-03-07 13:13:52.000000000 -0500 +@@ -274,12 +274,12 @@ + + static void mute_ac97_ctl(struct oxygen *chip, unsigned int control) + { +- unsigned int index = chip->controls[control]->private_value & 0xff; ++ unsigned int priv_idx = chip->controls[control]->private_value & 0xff; + u16 value; + +- value = oxygen_read_ac97(chip, 0, index); ++ value = oxygen_read_ac97(chip, 0, priv_idx); + if (!(value & 0x8000)) { +- oxygen_write_ac97(chip, 0, index, value | 0x8000); ++ oxygen_write_ac97(chip, 0, priv_idx, value | 0x8000); + snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE, + &chip->controls[control]->id); + } +@@ -389,6 +389,7 @@ + .shortname = "Asus AV200", + .longname = "Asus Virtuoso 200", + .chip = "AV200", ++ .owner = THIS_MODULE, + .init = xonar_init, + .control_filter = xonar_control_filter, + .mixer_init = xonar_mixer_init, +Index: alsa-driver-1.0.16/sound/soc/soc-dapm.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/soc/soc-dapm.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/soc/soc-dapm.c 2008-03-07 13:13:52.000000000 -0500 +@@ -1334,10 +1334,11 @@ + list_for_each_entry(w, &codec->dapm_widgets, list) { + if (!strcmp(w->name, endpoint)) { + w->connected = status; ++ return 0; + } + } + +- return 0; ++ return -ENODEV; + } + EXPORT_SYMBOL_GPL(snd_soc_dapm_set_endpoint); + +Index: alsa-driver-1.0.16/sound/pci/ac97/ac97_pcm.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/ac97/ac97_pcm.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/ac97/ac97_pcm.c 2008-03-07 13:13:52.000000000 -0500 +@@ -574,7 +574,6 @@ + r = rate > 48000; + bus = pcm->bus; + if (cfg == AC97_PCM_CFG_SPDIF) { +- int err; + for (cidx = 0; cidx < 4; cidx++) + if (bus->codec[cidx] && (bus->codec[cidx]->ext_id & AC97_EI_SPDIF)) { + err = set_spdif_rate(bus->codec[cidx], rate); +Index: alsa-driver-1.0.16/sound/pci/ali5451/ali5451.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/ali5451/ali5451.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/ali5451/ali5451.c 2008-03-07 13:13:52.000000000 -0500 +@@ -1809,26 +1809,26 @@ + struct snd_ctl_elem_value *ucontrol) + { + struct snd_ali *codec = kcontrol->private_data; +- unsigned int enable; ++ unsigned int spdif_enable; + +- enable = ucontrol->value.integer.value[0] ? 1 : 0; ++ spdif_enable = ucontrol->value.integer.value[0] ? 1 : 0; + + spin_lock_irq(&codec->reg_lock); + switch (kcontrol->private_value) { + case 0: +- enable = (codec->spdif_mask & 0x02) ? 1 : 0; ++ spdif_enable = (codec->spdif_mask & 0x02) ? 1 : 0; + break; + case 1: +- enable = ((codec->spdif_mask & 0x02) && ++ spdif_enable = ((codec->spdif_mask & 0x02) && + (codec->spdif_mask & 0x04)) ? 1 : 0; + break; + case 2: +- enable = (codec->spdif_mask & 0x01) ? 1 : 0; ++ spdif_enable = (codec->spdif_mask & 0x01) ? 1 : 0; + break; + default: + break; + } +- ucontrol->value.integer.value[0] = enable; ++ ucontrol->value.integer.value[0] = spdif_enable; + spin_unlock_irq(&codec->reg_lock); + return 0; + } +@@ -1837,17 +1837,17 @@ + struct snd_ctl_elem_value *ucontrol) + { + struct snd_ali *codec = kcontrol->private_data; +- unsigned int change = 0, enable = 0; ++ unsigned int change = 0, spdif_enable = 0; + +- enable = ucontrol->value.integer.value[0] ? 1 : 0; ++ spdif_enable = ucontrol->value.integer.value[0] ? 1 : 0; + + spin_lock_irq(&codec->reg_lock); + switch (kcontrol->private_value) { + case 0: + change = (codec->spdif_mask & 0x02) ? 1 : 0; +- change = change ^ enable; ++ change = change ^ spdif_enable; + if (change) { +- if (enable) { ++ if (spdif_enable) { + codec->spdif_mask |= 0x02; + snd_ali_enable_spdif_out(codec); + } else { +@@ -1859,9 +1859,9 @@ + break; + case 1: + change = (codec->spdif_mask & 0x04) ? 1 : 0; +- change = change ^ enable; ++ change = change ^ spdif_enable; + if (change && (codec->spdif_mask & 0x02)) { +- if (enable) { ++ if (spdif_enable) { + codec->spdif_mask |= 0x04; + snd_ali_enable_spdif_chnout(codec); + } else { +@@ -1872,9 +1872,9 @@ + break; + case 2: + change = (codec->spdif_mask & 0x01) ? 1 : 0; +- change = change ^ enable; ++ change = change ^ spdif_enable; + if (change) { +- if (enable) { ++ if (spdif_enable) { + codec->spdif_mask |= 0x01; + snd_ali_enable_spdif_in(codec); + } else { +Index: alsa-driver-1.0.16/sound/pci/ca0106/ca0106_main.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/ca0106/ca0106_main.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/ca0106/ca0106_main.c 2008-03-07 13:13:52.000000000 -0500 +@@ -435,22 +435,22 @@ + static void snd_ca0106_intr_enable(struct snd_ca0106 *emu, unsigned int intrenb) + { + unsigned long flags; +- unsigned int enable; +- ++ unsigned int intr_enable; ++ + spin_lock_irqsave(&emu->emu_lock, flags); +- enable = inl(emu->port + INTE) | intrenb; +- outl(enable, emu->port + INTE); ++ intr_enable = inl(emu->port + INTE) | intrenb; ++ outl(intr_enable, emu->port + INTE); + spin_unlock_irqrestore(&emu->emu_lock, flags); + } + + static void snd_ca0106_intr_disable(struct snd_ca0106 *emu, unsigned int intrenb) + { + unsigned long flags; +- unsigned int enable; +- ++ unsigned int intr_enable; ++ + spin_lock_irqsave(&emu->emu_lock, flags); +- enable = inl(emu->port + INTE) & ~intrenb; +- outl(enable, emu->port + INTE); ++ intr_enable = inl(emu->port + INTE) & ~intrenb; ++ outl(intr_enable, emu->port + INTE); + spin_unlock_irqrestore(&emu->emu_lock, flags); + } + +Index: alsa-driver-1.0.16/sound/pci/ca0106/ca0106_mixer.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/ca0106/ca0106_mixer.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/ca0106/ca0106_mixer.c 2008-03-07 13:13:52.000000000 -0500 +@@ -650,11 +650,11 @@ + + #define ADD_CTLS(emu, ctls) \ + do { \ +- int i, err; \ ++ int i, _err; \ + for (i = 0; i < ARRAY_SIZE(ctls); i++) { \ +- err = snd_ctl_add(card, snd_ctl_new1(&ctls[i], emu)); \ +- if (err < 0) \ +- return err; \ ++ _err = snd_ctl_add(card, snd_ctl_new1(&ctls[i], emu)); \ ++ if (_err < 0) \ ++ return _err; \ + } \ + } while (0) + +Index: alsa-driver-1.0.16/sound/pci/cmipci.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/cmipci.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/cmipci.c 2008-03-07 13:13:52.000000000 -0500 +@@ -2744,12 +2744,13 @@ + } + + for (idx = 0; idx < CM_SAVED_MIXERS; idx++) { +- struct snd_ctl_elem_id id; ++ struct snd_ctl_elem_id elem_id; + struct snd_kcontrol *ctl; +- memset(&id, 0, sizeof(id)); +- id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; +- strcpy(id.name, cm_saved_mixer[idx].name); +- if ((ctl = snd_ctl_find_id(cm->card, &id)) != NULL) ++ memset(&elem_id, 0, sizeof(elem_id)); ++ elem_id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; ++ strcpy(elem_id.name, cm_saved_mixer[idx].name); ++ ctl = snd_ctl_find_id(cm->card, &elem_id); ++ if (ctl) + cm->mixer_res_ctl[idx] = ctl; + } + +Index: alsa-driver-1.0.16/sound/pci/ens1370.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/ens1370.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/ens1370.c 2008-03-07 13:13:52.000000000 -0500 +@@ -1635,20 +1635,20 @@ + if (has_spdif > 0 || + (!has_spdif && es1371_quirk_lookup(ensoniq, es1371_spdif_present))) { + struct snd_kcontrol *kctl; +- int i, index = 0; ++ int i, is_spdif = 0; + + ensoniq->spdif_default = ensoniq->spdif_stream = + SNDRV_PCM_DEFAULT_CON_SPDIF; + outl(ensoniq->spdif_default, ES_REG(ensoniq, CHANNEL_STATUS)); + + if (ensoniq->u.es1371.ac97->ext_id & AC97_EI_SPDIF) +- index++; ++ is_spdif++; + + for (i = 0; i < ARRAY_SIZE(snd_es1371_mixer_spdif); i++) { + kctl = snd_ctl_new1(&snd_es1371_mixer_spdif[i], ensoniq); + if (!kctl) + return -ENOMEM; +- kctl->id.index = index; ++ kctl->id.index = is_spdif; + err = snd_ctl_add(card, kctl); + if (err < 0) + return err; +Index: alsa-driver-1.0.16/sound/pci/es1968.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/es1968.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/es1968.c 2008-03-07 13:13:52.000000000 -0500 +@@ -1960,7 +1960,7 @@ + { + struct snd_ac97_bus *pbus; + struct snd_ac97_template ac97; +- struct snd_ctl_elem_id id; ++ struct snd_ctl_elem_id elem_id; + int err; + static struct snd_ac97_bus_ops ops = { + .write = snd_es1968_ac97_write, +@@ -1977,14 +1977,14 @@ + return err; + + /* attach master switch / volumes for h/w volume control */ +- memset(&id, 0, sizeof(id)); +- id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; +- strcpy(id.name, "Master Playback Switch"); +- chip->master_switch = snd_ctl_find_id(chip->card, &id); +- memset(&id, 0, sizeof(id)); +- id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; +- strcpy(id.name, "Master Playback Volume"); +- chip->master_volume = snd_ctl_find_id(chip->card, &id); ++ memset(&elem_id, 0, sizeof(elem_id)); ++ elem_id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; ++ strcpy(elem_id.name, "Master Playback Switch"); ++ chip->master_switch = snd_ctl_find_id(chip->card, &elem_id); ++ memset(&elem_id, 0, sizeof(elem_id)); ++ elem_id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; ++ strcpy(elem_id.name, "Master Playback Volume"); ++ chip->master_volume = snd_ctl_find_id(chip->card, &elem_id); + + return 0; + } +Index: alsa-driver-1.0.16/sound/pci/fm801.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/fm801.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/fm801.c 2008-03-07 13:13:52.000000000 -0500 +@@ -1285,7 +1285,6 @@ + + static int snd_fm801_chip_init(struct fm801 *chip, int resume) + { +- int id; + unsigned short cmdw; + + if (chip->tea575x_tuner & 0x0010) +@@ -1310,13 +1309,14 @@ + } else { + /* my card has the secondary codec */ + /* at address #3, so the loop is inverted */ +- for (id = 3; id > 0; id--) { +- if (! wait_for_codec(chip, id, AC97_VENDOR_ID1, ++ int i; ++ for (i = 3; i > 0; i--) { ++ if (!wait_for_codec(chip, i, AC97_VENDOR_ID1, + msecs_to_jiffies(50))) { + cmdw = inw(FM801_REG(chip, AC97_DATA)); + if (cmdw != 0xffff && cmdw != 0) { + chip->secondary = 1; +- chip->secondary_addr = id; ++ chip->secondary_addr = i; + break; + } + } +Index: alsa-driver-1.0.16/sound/pci/maestro3.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/maestro3.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/maestro3.c 2008-03-07 13:13:52.000000000 -0500 +@@ -2068,7 +2068,7 @@ + { + struct snd_ac97_bus *pbus; + struct snd_ac97_template ac97; +- struct snd_ctl_elem_id id; ++ struct snd_ctl_elem_id elem_id; + int err; + static struct snd_ac97_bus_ops ops = { + .write = snd_m3_ac97_write, +@@ -2088,14 +2088,14 @@ + schedule_timeout_uninterruptible(msecs_to_jiffies(100)); + snd_ac97_write(chip->ac97, AC97_PCM, 0); + +- memset(&id, 0, sizeof(id)); +- id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; +- strcpy(id.name, "Master Playback Switch"); +- chip->master_switch = snd_ctl_find_id(chip->card, &id); +- memset(&id, 0, sizeof(id)); +- id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; +- strcpy(id.name, "Master Playback Volume"); +- chip->master_volume = snd_ctl_find_id(chip->card, &id); ++ memset(&elem_id, 0, sizeof(elem_id)); ++ elem_id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; ++ strcpy(elem_id.name, "Master Playback Switch"); ++ chip->master_switch = snd_ctl_find_id(chip->card, &elem_id); ++ memset(&elem_id, 0, sizeof(elem_id)); ++ elem_id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; ++ strcpy(elem_id.name, "Master Playback Volume"); ++ chip->master_volume = snd_ctl_find_id(chip->card, &elem_id); + + return 0; + } +@@ -2569,7 +2569,7 @@ + { + struct snd_card *card = pci_get_drvdata(pci); + struct snd_m3 *chip = card->private_data; +- int i, index; ++ int i, dsp_index; + + if (chip->suspend_mem == NULL) + return 0; +@@ -2583,12 +2583,12 @@ + snd_m3_assp_halt(chip); + + /* save dsp image */ +- index = 0; ++ dsp_index = 0; + for (i = REV_B_CODE_MEMORY_BEGIN; i <= REV_B_CODE_MEMORY_END; i++) +- chip->suspend_mem[index++] = ++ chip->suspend_mem[dsp_index++] = + snd_m3_assp_read(chip, MEMTYPE_INTERNAL_CODE, i); + for (i = REV_B_DATA_MEMORY_BEGIN ; i <= REV_B_DATA_MEMORY_END; i++) +- chip->suspend_mem[index++] = ++ chip->suspend_mem[dsp_index++] = + snd_m3_assp_read(chip, MEMTYPE_INTERNAL_DATA, i); + + pci_disable_device(pci); +@@ -2601,7 +2601,7 @@ + { + struct snd_card *card = pci_get_drvdata(pci); + struct snd_m3 *chip = card->private_data; +- int i, index; ++ int i, dsp_index; + + if (chip->suspend_mem == NULL) + return 0; +@@ -2625,13 +2625,13 @@ + snd_m3_ac97_reset(chip); + + /* restore dsp image */ +- index = 0; ++ dsp_index = 0; + for (i = REV_B_CODE_MEMORY_BEGIN; i <= REV_B_CODE_MEMORY_END; i++) + snd_m3_assp_write(chip, MEMTYPE_INTERNAL_CODE, i, +- chip->suspend_mem[index++]); ++ chip->suspend_mem[dsp_index++]); + for (i = REV_B_DATA_MEMORY_BEGIN ; i <= REV_B_DATA_MEMORY_END; i++) + snd_m3_assp_write(chip, MEMTYPE_INTERNAL_DATA, i, +- chip->suspend_mem[index++]); ++ chip->suspend_mem[dsp_index++]); + + /* tell the dma engine to restart itself */ + snd_m3_assp_write(chip, MEMTYPE_INTERNAL_DATA, +Index: alsa-driver-1.0.16/sound/pci/rme32.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/rme32.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/rme32.c 2008-03-07 13:13:52.000000000 -0500 +@@ -1350,7 +1350,8 @@ + return err; + rme32->port = pci_resource_start(rme32->pci, 0); + +- if ((rme32->iobase = ioremap_nocache(rme32->port, RME32_IO_SIZE)) == 0) { ++ rme32->iobase = ioremap_nocache(rme32->port, RME32_IO_SIZE); ++ if (!rme32->iobase) { + snd_printk(KERN_ERR "unable to remap memory region 0x%lx-0x%lx\n", + rme32->port, rme32->port + RME32_IO_SIZE - 1); + return -ENOMEM; +Index: alsa-driver-1.0.16/sound/pci/rme96.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/rme96.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/rme96.c 2008-03-07 13:13:52.000000000 -0500 +@@ -1559,7 +1559,8 @@ + return err; + rme96->port = pci_resource_start(rme96->pci, 0); + +- if ((rme96->iobase = ioremap_nocache(rme96->port, RME96_IO_SIZE)) == 0) { ++ rme96->iobase = ioremap_nocache(rme96->port, RME96_IO_SIZE); ++ if (!rme96->iobase) { + snd_printk(KERN_ERR "unable to remap memory region 0x%lx-0x%lx\n", rme96->port, rme96->port + RME96_IO_SIZE - 1); + return -ENOMEM; + } +Index: alsa-driver-1.0.16/sound/drivers/dummy.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/drivers/dummy.c 2008-03-07 13:13:40.000000000 -0500 ++++ alsa-driver-1.0.16/sound/drivers/dummy.c 2008-03-07 13:13:52.000000000 -0500 +@@ -259,10 +259,10 @@ + dpcm->timer.expires = 1 + jiffies; + add_timer(&dpcm->timer); + dpcm->pcm_irq_pos += dpcm->pcm_bps; ++ dpcm->pcm_buf_pos += dpcm->pcm_bps; ++ dpcm->pcm_buf_pos %= dpcm->pcm_buffer_size * dpcm->pcm_hz; + if (dpcm->pcm_irq_pos >= dpcm->pcm_period_size * dpcm->pcm_hz) { + dpcm->pcm_irq_pos %= dpcm->pcm_period_size * dpcm->pcm_hz; +- dpcm->pcm_buf_pos += dpcm->pcm_period_size; +- dpcm->pcm_buf_pos %= dpcm->pcm_buffer_size; + spin_unlock_irqrestore(&dpcm->lock, flags); + snd_pcm_period_elapsed(dpcm->substream); + } else +@@ -274,7 +274,7 @@ + struct snd_pcm_runtime *runtime = substream->runtime; + struct snd_dummy_pcm *dpcm = runtime->private_data; + +- return bytes_to_frames(runtime, dpcm->pcm_buf_pos); ++ return bytes_to_frames(runtime, dpcm->pcm_buf_pos / dpcm->pcm_hz); + } + + static struct snd_pcm_hardware snd_card_dummy_playback = +Index: alsa-driver-1.0.16/sound/include/asoundef.h +=================================================================== +--- alsa-driver-1.0.16.orig/sound/include/asoundef.h 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/include/asoundef.h 2008-03-07 13:13:52.000000000 -0500 +@@ -112,6 +112,14 @@ + #define IEC958_AES3_CON_CLOCK_1000PPM (0<<4) /* 1000 ppm */ + #define IEC958_AES3_CON_CLOCK_50PPM (1<<4) /* 50 ppm */ + #define IEC958_AES3_CON_CLOCK_VARIABLE (2<<4) /* variable pitch */ ++#define IEC958_AES4_CON_MAX_WORDLEN_24 (1<<0) /* 0 = 20-bit, 1 = 24-bit */ ++#define IEC958_AES4_CON_WORDLEN (7<<1) /* mask - sample word length */ ++#define IEC958_AES4_CON_WORDLEN_NOTID (0<<1) /* not indicated */ ++#define IEC958_AES4_CON_WORDLEN_20_16 (1<<1) /* 20-bit or 16-bit */ ++#define IEC958_AES4_CON_WORDLEN_22_18 (2<<1) /* 22-bit or 18-bit */ ++#define IEC958_AES4_CON_WORDLEN_23_19 (4<<1) /* 23-bit or 19-bit */ ++#define IEC958_AES4_CON_WORDLEN_24_20 (5<<1) /* 24-bit or 20-bit */ ++#define IEC958_AES4_CON_WORDLEN_21_17 (6<<1) /* 21-bit or 17-bit */ + + /***************************************************************************** + * * +Index: alsa-driver-1.0.16/sound/pci/au88x0/au88x0_pcm.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/au88x0/au88x0_pcm.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/au88x0/au88x0_pcm.c 2008-03-07 13:13:52.000000000 -0500 +@@ -498,14 +498,14 @@ + }; + + /* create a pcm device */ +-static int __devinit snd_vortex_new_pcm(vortex_t * chip, int idx, int nr) ++static int __devinit snd_vortex_new_pcm(vortex_t *chip, int idx, int nr) + { + struct snd_pcm *pcm; + struct snd_kcontrol *kctl; + int i; + int err, nr_capt; + +- if ((chip == 0) || (idx < 0) || (idx >= VORTEX_PCM_LAST)) ++ if (!chip || idx < 0 || idx >= VORTEX_PCM_LAST) + return -ENODEV; + + /* idx indicates which kind of PCM device. ADB, SPDIF, I2S and A3D share the +@@ -514,9 +514,9 @@ + nr_capt = nr; + else + nr_capt = 0; +- if ((err = +- snd_pcm_new(chip->card, vortex_pcm_prettyname[idx], idx, nr, +- nr_capt, &pcm)) < 0) ++ err = snd_pcm_new(chip->card, vortex_pcm_prettyname[idx], idx, nr, ++ nr_capt, &pcm); ++ if (err < 0) + return err; + strcpy(pcm->name, vortex_pcm_name[idx]); + chip->pcm[idx] = pcm; +Index: alsa-driver-1.0.16/sound/pci/emu10k1/emu10k1x.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/emu10k1/emu10k1x.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/emu10k1/emu10k1x.c 2008-03-07 13:13:52.000000000 -0500 +@@ -327,22 +327,22 @@ + static void snd_emu10k1x_intr_enable(struct emu10k1x *emu, unsigned int intrenb) + { + unsigned long flags; +- unsigned int enable; +- ++ unsigned int intr_enable; ++ + spin_lock_irqsave(&emu->emu_lock, flags); +- enable = inl(emu->port + INTE) | intrenb; +- outl(enable, emu->port + INTE); ++ intr_enable = inl(emu->port + INTE) | intrenb; ++ outl(intr_enable, emu->port + INTE); + spin_unlock_irqrestore(&emu->emu_lock, flags); + } + + static void snd_emu10k1x_intr_disable(struct emu10k1x *emu, unsigned int intrenb) + { + unsigned long flags; +- unsigned int enable; +- ++ unsigned int intr_enable; ++ + spin_lock_irqsave(&emu->emu_lock, flags); +- enable = inl(emu->port + INTE) & ~intrenb; +- outl(enable, emu->port + INTE); ++ intr_enable = inl(emu->port + INTE) & ~intrenb; ++ outl(intr_enable, emu->port + INTE); + spin_unlock_irqrestore(&emu->emu_lock, flags); + } + +@@ -795,9 +795,9 @@ + + // capture interrupt + if (status & (IPR_CAP_0_LOOP | IPR_CAP_0_HALF_LOOP)) { +- struct emu10k1x_voice *pvoice = &chip->capture_voice; +- if (pvoice->use) +- snd_emu10k1x_pcm_interrupt(chip, pvoice); ++ struct emu10k1x_voice *cap_voice = &chip->capture_voice; ++ if (cap_voice->use) ++ snd_emu10k1x_pcm_interrupt(chip, cap_voice); + else + snd_emu10k1x_intr_disable(chip, + INTE_CAP_0_LOOP | +Index: alsa-driver-1.0.16/sound/pci/emu10k1/emuproc.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/emu10k1/emuproc.c 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/emu10k1/emuproc.c 2008-03-07 13:13:52.000000000 -0500 +@@ -412,7 +412,7 @@ + struct snd_info_buffer *buffer) + { + struct snd_emu10k1 *emu = entry->private_data; +- int value; ++ u32 value; + unsigned long flags; + int i; + snd_iprintf(buffer, "EMU1010 Registers:\n\n"); +Index: alsa-driver-1.0.16/sound/pci/hda/hda_patch.h +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/hda/hda_patch.h 2008-02-05 04:23:23.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/hda/hda_patch.h 2008-03-07 13:13:52.000000000 -0500 +@@ -18,31 +18,3 @@ + extern struct hda_codec_preset snd_hda_preset_conexant[]; + /* VIA codecs */ + extern struct hda_codec_preset snd_hda_preset_via[]; +- +-static const struct hda_codec_preset *hda_preset_tables[] = { +-#ifdef CONFIG_SND_HDA_CODEC_REALTEK +- snd_hda_preset_realtek, +-#endif +-#ifdef CONFIG_SND_HDA_CODEC_CMEDIA +- snd_hda_preset_cmedia, +-#endif +-#ifdef CONFIG_SND_HDA_CODEC_ANALOG +- snd_hda_preset_analog, +-#endif +-#ifdef CONFIG_SND_HDA_CODEC_SIGMATEL +- snd_hda_preset_sigmatel, +-#endif +-#ifdef CONFIG_SND_HDA_CODEC_SI3054 +- snd_hda_preset_si3054, +-#endif +-#ifdef CONFIG_SND_HDA_CODEC_ATIHDMI +- snd_hda_preset_atihdmi, +-#endif +-#ifdef CONFIG_SND_HDA_CODEC_CONEXANT +- snd_hda_preset_conexant, +-#endif +-#ifdef CONFIG_SND_HDA_CODEC_VIA +- snd_hda_preset_via, +-#endif +- NULL +-}; +Index: alsa-driver-1.0.16/sound/pci/ice1712/ice1712.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/ice1712/ice1712.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/ice1712/ice1712.c 2008-03-07 13:13:52.000000000 -0500 +@@ -1297,11 +1297,14 @@ + static int snd_ice1712_pro_mixer_switch_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) + { + struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol); +- int index = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + kcontrol->private_value; ++ int priv_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + ++ kcontrol->private_value; + + spin_lock_irq(&ice->reg_lock); +- ucontrol->value.integer.value[0] = !((ice->pro_volumes[index] >> 15) & 1); +- ucontrol->value.integer.value[1] = !((ice->pro_volumes[index] >> 31) & 1); ++ ucontrol->value.integer.value[0] = ++ !((ice->pro_volumes[priv_idx] >> 15) & 1); ++ ucontrol->value.integer.value[1] = ++ !((ice->pro_volumes[priv_idx] >> 31) & 1); + spin_unlock_irq(&ice->reg_lock); + return 0; + } +@@ -1309,16 +1312,17 @@ + static int snd_ice1712_pro_mixer_switch_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) + { + struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol); +- int index = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + kcontrol->private_value; ++ int priv_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + ++ kcontrol->private_value; + unsigned int nval, change; + + nval = (ucontrol->value.integer.value[0] ? 0 : 0x00008000) | + (ucontrol->value.integer.value[1] ? 0 : 0x80000000); + spin_lock_irq(&ice->reg_lock); +- nval |= ice->pro_volumes[index] & ~0x80008000; +- change = nval != ice->pro_volumes[index]; +- ice->pro_volumes[index] = nval; +- snd_ice1712_update_volume(ice, index); ++ nval |= ice->pro_volumes[priv_idx] & ~0x80008000; ++ change = nval != ice->pro_volumes[priv_idx]; ++ ice->pro_volumes[priv_idx] = nval; ++ snd_ice1712_update_volume(ice, priv_idx); + spin_unlock_irq(&ice->reg_lock); + return change; + } +@@ -1335,11 +1339,14 @@ + static int snd_ice1712_pro_mixer_volume_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) + { + struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol); +- int index = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + kcontrol->private_value; ++ int priv_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + ++ kcontrol->private_value; + + spin_lock_irq(&ice->reg_lock); +- ucontrol->value.integer.value[0] = (ice->pro_volumes[index] >> 0) & 127; +- ucontrol->value.integer.value[1] = (ice->pro_volumes[index] >> 16) & 127; ++ ucontrol->value.integer.value[0] = ++ (ice->pro_volumes[priv_idx] >> 0) & 127; ++ ucontrol->value.integer.value[1] = ++ (ice->pro_volumes[priv_idx] >> 16) & 127; + spin_unlock_irq(&ice->reg_lock); + return 0; + } +@@ -1347,16 +1354,17 @@ + static int snd_ice1712_pro_mixer_volume_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) + { + struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol); +- int index = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + kcontrol->private_value; ++ int priv_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + ++ kcontrol->private_value; + unsigned int nval, change; + + nval = (ucontrol->value.integer.value[0] & 127) | + ((ucontrol->value.integer.value[1] & 127) << 16); + spin_lock_irq(&ice->reg_lock); +- nval |= ice->pro_volumes[index] & ~0x007f007f; +- change = nval != ice->pro_volumes[index]; +- ice->pro_volumes[index] = nval; +- snd_ice1712_update_volume(ice, index); ++ nval |= ice->pro_volumes[priv_idx] & ~0x007f007f; ++ change = nval != ice->pro_volumes[priv_idx]; ++ ice->pro_volumes[priv_idx] = nval; ++ snd_ice1712_update_volume(ice, priv_idx); + spin_unlock_irq(&ice->reg_lock); + return change; + } +Index: alsa-driver-1.0.16/sound/pci/ice1712/phase.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/ice1712/phase.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/ice1712/phase.c 2008-03-07 13:13:52.000000000 -0500 +@@ -51,7 +51,7 @@ + struct phase28_spec { + unsigned short master[2]; + unsigned short vol[8]; +-} phase28; ++}; + + /* WM8770 registers */ + #define WM_DAC_ATTEN 0x00 /* DAC1-8 analog attenuation */ +Index: alsa-driver-1.0.16/sound/pci/ice1712/revo.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/ice1712/revo.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/ice1712/revo.c 2008-03-07 13:13:52.000000000 -0500 +@@ -36,7 +36,7 @@ + struct revo51_spec { + struct snd_i2c_device *dev; + struct snd_pt2258 *pt2258; +-} revo51; ++}; + + static void revo_i2s_mclk_changed(struct snd_ice1712 *ice) + { +Index: alsa-driver-1.0.16/sound/pci/pcxhr/pcxhr_core.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/pcxhr/pcxhr_core.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/pcxhr/pcxhr_core.c 2008-03-07 13:13:52.000000000 -0500 +@@ -1005,30 +1005,37 @@ + int nb_stream = (prmh->stat[i] >> (2*FIELD_SIZE)) & MASK_FIRST_FIELD; + int pipe = prmh->stat[i] & MASK_FIRST_FIELD; + int is_capture = prmh->stat[i] & 0x400000; +- u32 err; ++ u32 err2; + + if (prmh->stat[i] & 0x800000) { /* if BIT_END */ + snd_printdd("TASKLET : End%sPipe %d\n", + is_capture ? "Record" : "Play", pipe); + } + i++; +- err = prmh->stat[i] ? prmh->stat[i] : prmh->stat[i+1]; +- if (err) +- pcxhr_handle_async_err(mgr, err, PCXHR_ERR_PIPE, ++ err2 = prmh->stat[i] ? prmh->stat[i] : prmh->stat[i+1]; ++ if (err2) ++ pcxhr_handle_async_err(mgr, err2, ++ PCXHR_ERR_PIPE, + pipe, is_capture); + i += 2; + for (j = 0; j < nb_stream; j++) { +- err = prmh->stat[i] ? prmh->stat[i] : prmh->stat[i+1]; +- if (err) +- pcxhr_handle_async_err(mgr, err, PCXHR_ERR_STREAM, +- pipe, is_capture); ++ err2 = prmh->stat[i] ? ++ prmh->stat[i] : prmh->stat[i+1]; ++ if (err2) ++ pcxhr_handle_async_err(mgr, err2, ++ PCXHR_ERR_STREAM, ++ pipe, ++ is_capture); + i += 2; + } + for (j = 0; j < nb_audio; j++) { +- err = prmh->stat[i] ? prmh->stat[i] : prmh->stat[i+1]; +- if (err) +- pcxhr_handle_async_err(mgr, err, PCXHR_ERR_AUDIO, +- pipe, is_capture); ++ err2 = prmh->stat[i] ? ++ prmh->stat[i] : prmh->stat[i+1]; ++ if (err2) ++ pcxhr_handle_async_err(mgr, err2, ++ PCXHR_ERR_AUDIO, ++ pipe, ++ is_capture); + i += 2; + } + } +Index: alsa-driver-1.0.16/sound/pci/riptide/riptide.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/riptide/riptide.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/riptide/riptide.c 2008-03-07 13:13:52.000000000 -0500 +@@ -1630,14 +1630,14 @@ + struct snd_riptide *chip = snd_pcm_substream_chip(substream); + struct snd_pcm_runtime *runtime = substream->runtime; + struct pcmhw *data; +- int index = substream->number; ++ int sub_num = substream->number; + +- chip->playback_substream[index] = substream; ++ chip->playback_substream[sub_num] = substream; + runtime->hw = snd_riptide_playback; + data = kzalloc(sizeof(struct pcmhw), GFP_KERNEL); +- data->paths = lbus_play_paths[index]; +- data->id = play_ids[index]; +- data->source = play_sources[index]; ++ data->paths = lbus_play_paths[sub_num]; ++ data->id = play_ids[sub_num]; ++ data->source = play_sources[sub_num]; + data->intdec[0] = 0xff; + data->intdec[1] = 0xff; + data->state = ST_STOP; +@@ -1670,10 +1670,10 @@ + { + struct snd_riptide *chip = snd_pcm_substream_chip(substream); + struct pcmhw *data = get_pcmhwdev(substream); +- int index = substream->number; ++ int sub_num = substream->number; + + substream->runtime->private_data = NULL; +- chip->playback_substream[index] = NULL; ++ chip->playback_substream[sub_num] = NULL; + kfree(data); + return 0; + } +Index: alsa-driver-1.0.16/sound/pci/rme9652/hdspm.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/rme9652/hdspm.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/rme9652/hdspm.c 2008-03-07 13:13:52.000000000 -0500 +@@ -1028,9 +1028,9 @@ + { + /* the hardware already does the relevant bit-mask with 0xff */ + if (id) +- return hdspm_write(hdspm, HDSPM_midiDataOut1, val); ++ hdspm_write(hdspm, HDSPM_midiDataOut1, val); + else +- return hdspm_write(hdspm, HDSPM_midiDataOut0, val); ++ hdspm_write(hdspm, HDSPM_midiDataOut0, val); + } + + static inline int snd_hdspm_midi_input_available (struct hdspm *hdspm, int id) +Index: alsa-driver-1.0.16/sound/soc/codecs/wm9712.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/soc/codecs/wm9712.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/soc/codecs/wm9712.c 2008-03-07 13:13:52.000000000 -0500 +@@ -176,7 +176,8 @@ + * the codec only has a single control that is shared by both channels. + * This makes it impossible to determine the audio path. + */ +-static int mixer_event (struct snd_soc_dapm_widget *w, int event) ++static int mixer_event(struct snd_soc_dapm_widget *w, ++ struct snd_kcontrol *k, int event) + { + u16 l, r, beep, line, phone, mic, pcm, aux; + +Index: alsa-driver-1.0.16/sound/soc/pxa/corgi.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/soc/pxa/corgi.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/soc/pxa/corgi.c 2008-03-07 13:13:52.000000000 -0500 +@@ -215,7 +215,8 @@ + return 1; + } + +-static int corgi_amp_event(struct snd_soc_dapm_widget *w, int event) ++static int corgi_amp_event(struct snd_soc_dapm_widget *w, ++ struct snd_kcontrol *k, int event) + { + if (SND_SOC_DAPM_EVENT_ON(event)) + set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_APM_ON); +@@ -225,7 +226,8 @@ + return 0; + } + +-static int corgi_mic_event(struct snd_soc_dapm_widget *w, int event) ++static int corgi_mic_event(struct snd_soc_dapm_widget *w, ++ struct snd_kcontrol *k, int event) + { + if (SND_SOC_DAPM_EVENT_ON(event)) + set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_MIC_BIAS); +Index: alsa-driver-1.0.16/sound/soc/pxa/poodle.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/soc/pxa/poodle.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/soc/pxa/poodle.c 2008-03-07 13:13:52.000000000 -0500 +@@ -196,7 +196,8 @@ + return 1; + } + +-static int poodle_amp_event(struct snd_soc_dapm_widget *w, int event) ++static int poodle_amp_event(struct snd_soc_dapm_widget *w, ++ struct snd_kcontrol *k, int event) + { + if (SND_SOC_DAPM_EVENT_ON(event)) + locomo_gpio_write(&poodle_locomo_device.dev, +Index: alsa-driver-1.0.16/sound/soc/pxa/spitz.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/soc/pxa/spitz.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/soc/pxa/spitz.c 2008-03-07 13:13:52.000000000 -0500 +@@ -215,7 +215,8 @@ + return 1; + } + +-static int spitz_mic_bias(struct snd_soc_dapm_widget *w, int event) ++static int spitz_mic_bias(struct snd_soc_dapm_widget *w, ++ struct snd_kcontrol *k, int event) + { + if (machine_is_borzoi() || machine_is_spitz()) { + if (SND_SOC_DAPM_EVENT_ON(event)) +Index: alsa-driver-1.0.16/sound/soc/pxa/tosa.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/soc/pxa/tosa.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/soc/pxa/tosa.c 2008-03-07 13:13:52.000000000 -0500 +@@ -135,7 +135,8 @@ + } + + /* tosa dapm event handlers */ +-static int tosa_hp_event(struct snd_soc_dapm_widget *w, int event) ++static int tosa_hp_event(struct snd_soc_dapm_widget *w, ++ struct snd_kcontrol *k, int event) + { + if (SND_SOC_DAPM_EVENT_ON(event)) + set_tc6393_gpio(&tc6393_device.dev,TOSA_TC6393_L_MUTE); +Index: alsa-driver-1.0.16/sound/soc/codecs/wm8753.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/soc/codecs/wm8753.c 2008-02-05 04:23:24.000000000 -0500 ++++ alsa-driver-1.0.16/sound/soc/codecs/wm8753.c 2008-03-07 13:13:52.000000000 -0500 +@@ -198,6 +198,7 @@ + static const char *wm8753_dai_mode[] = {"DAI 0", "DAI 1", "DAI 2", "DAI 3"}; + static const char *wm8753_dat_sel[] = {"Stereo", "Left ADC", "Right ADC", + "Channel Swap"}; ++static const char *wm8753_rout2_phase[] = {"Non Inverted", "Inverted"}; + + static const struct soc_enum wm8753_enum[] = { + SOC_ENUM_SINGLE(WM8753_BASS, 7, 2, wm8753_base), +@@ -228,6 +229,7 @@ + SOC_ENUM_SINGLE(WM8753_MICBIAS, 6, 3, wm8753_mic_sel), + SOC_ENUM_SINGLE(WM8753_IOCTL, 2, 4, wm8753_dai_mode), + SOC_ENUM_SINGLE(WM8753_ADC, 7, 4, wm8753_dat_sel), ++SOC_ENUM_SINGLE(WM8753_OUTCTL, 2, 2, wm8753_rout2_phase), + }; + + +@@ -330,6 +332,7 @@ + SOC_ENUM_EXT("DAI Mode", wm8753_enum[26], wm8753_get_dai, wm8753_set_dai), + + SOC_ENUM("ADC Data Select", wm8753_enum[27]), ++SOC_ENUM("ROUT2 Phase", wm8753_enum[28]), + }; + + /* add non dapm controls */ --- alsa-driver-1.0.16.orig/debian/patches/disable_gcc_version_check1.patch +++ alsa-driver-1.0.16/debian/patches/disable_gcc_version_check1.patch @@ -0,0 +1,42 @@ +# disable_gcc_version_check1.patch by Thomas Hood +# +# Disable GCC version check in configure.in +# disable_gcc_version_check2.dpatch is the result of running autoconf +# after this patch has been applied. autom4te.cache can be deleted before +# patching. +Index: alsa-driver-1.0.15/configure.in +=================================================================== +--- alsa-driver-1.0.15.orig/configure.in 2007-10-21 03:36:02.000000000 +0200 ++++ alsa-driver-1.0.15/configure.in 2007-10-21 03:36:14.000000000 +0200 +@@ -200,6 +200,7 @@ + AC_MSG_RESULT($kaversion) + + dnl Check for GCC version... ++if false; then + AC_MSG_CHECKING(for GCC version) + ac_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC" +@@ -249,6 +250,7 @@ + kernel_compiler="")]) + CFLAGS="$ac_save_CFLAGS" + my_compiler=`$CROSS_COMPILE$CC --version | head -n 1` ++fi + dnl + dnl Test section, uncomment any of these double lines to verify the bellow code: + dnl +@@ -268,6 +270,7 @@ + dnl my_compiler="2.95.3" + dnl + ++if false; then + AC_DEFUN([CHECK_COMPILER], [ + typevar=$2 + versionvar=$3 +@@ -346,6 +349,7 @@ + fi + fi + fi ++fi + dnl compiler version check + + AC_DEFUN([CHECK_KERNEL_HEADER], [ --- alsa-driver-1.0.16.orig/debian/patches/series +++ alsa-driver-1.0.16/debian/patches/series @@ -0,0 +1,9 @@ +add_onda_a69g_ac97_support.patch +alpha_build_fixes.patch +disable_gcc_version_check1.patch +disable_gcc_version_check2.patch +core_oss_framepointer.patch +debian_makefile_depmod.patch +post_16_20080307.patch +add_suspend_quirk_hp_nc6220_nw8240.patch +refix_lp_68659_by_disabling_dxs_for_0x1458a002.patch --- alsa-driver-1.0.16.orig/debian/patches/alpha_build_fixes.patch +++ alsa-driver-1.0.16/debian/patches/alpha_build_fixes.patch @@ -0,0 +1,68 @@ +# alpha_build_fixes.patch by Steve Kowalik +# +# Fix the ISA Pinnacle driver by using phys_to_virt rather than the +# undefined (on Alpha, anyway), __ISA_IO_base. +Index: alsa-driver-1.0.15/isa/msnd/msnd_pinnacle.c +=================================================================== +--- alsa-driver-1.0.15.orig/isa/msnd/msnd_pinnacle.c 2007-10-21 03:36:02.000000000 +0200 ++++ alsa-driver-1.0.15/isa/msnd/msnd_pinnacle.c 2007-10-21 03:36:14.000000000 +0200 +@@ -418,7 +418,7 @@ + #endif + #ifdef CONFIG_SND_DEBUG0 + { +- int xx = *(short int*)(__ISA_IO_base + 0x7F40 + dev.base); ++ int xx = *(short int*)(phys_to_virt(0) + 0x7F40 + dev.base); + printk( "%08X: P %X\n", (unsigned)jiffies, xx); + } + #endif +@@ -954,7 +954,7 @@ + snd_msnd_enable_irq( &dev); + + runtime->dma_area = dev.mappedbase; +- //memset( __ISA_IO_base + dev.base, 0, 3*0x2400); ++ //memset( phys_to_virt(0) + dev.base, 0, 3*0x2400); + runtime->dma_bytes = 0x3000; + + dpcm->timer.data = (unsigned long) dpcm; +@@ -1006,13 +1006,13 @@ + /* stuff i used to get it basically making noise: + { + double phase = 0.0; +- generate_sine((short int*)(__ISA_IO_base + dev.base), dev.play_channels, ++ generate_sine((short int*)(phys_to_virt(0) + dev.base), dev.play_channels, + 0, + 0x2400, &phase, 4, dev.play_sample_rate) ; +- generate_sine((short int*)(__ISA_IO_base + dev.base + 1*0x2400), dev.play_channels, ++ generate_sine((short int*)(phys_to_virt(0) + dev.base + 1*0x2400), dev.play_channels, + 0, + 0x2400, &phase, 4, dev.play_sample_rate); +- generate_sine((short int*)(__ISA_IO_base + dev.base + 2*0x2400), dev.play_channels, ++ generate_sine((short int*)(phys_to_virt(0) + dev.base + 2*0x2400), dev.play_channels, + 0, + 0x2400, &phase, 4, dev.play_sample_rate); + }*/ +@@ -1082,7 +1082,7 @@ + /* with the following mess i tried to generate a more precise pointer position + * it generated errors with the alsa framework i could not resolve..... + //int pos = dev.playDMAPos; +- unsigned remaining = *(short int*)(__ISA_IO_base + 0x7F40 + dev.base), ++ unsigned remaining = *(short int*)(phys_to_virt(0) + 0x7F40 + dev.base), + ljiffies = (unsigned)jiffies; + int diff; + if( -1 == played_bytes){ +@@ -1294,13 +1294,13 @@ + } + request_region(dev.io, dev.numio, dev.name); + +- dev.mappedbase = (void __force *)( __ISA_IO_base + dev.base); ++ dev.mappedbase = (void __force *)( phys_to_virt(0) + dev.base); + + /* geht nich!!!!! + useless, don't do this at home. + the multisound has shared isa memory that is by default already maped. + +- if( ( dev.mappedbase = request_mem_region( (unsigned)(__ISA_IO_base + dev.base), BUFFSIZE, "MSNDPINNACLE")) == NULL) { ++ if( ( dev.mappedbase = request_mem_region( (unsigned)(phys_to_virt(0) + dev.base), BUFFSIZE, "MSNDPINNACLE")) == NULL) { + printk( KERN_ERR LOGNAME ": unable to grab memory region 0x%lx-0x%lx\n", + dev.base, dev.base + BUFFSIZE - 1); + release_region( dev.io, dev.numio); --- alsa-driver-1.0.16.orig/debian/patches/disable_gcc_version_check2.patch +++ alsa-driver-1.0.16/debian/patches/disable_gcc_version_check2.patch @@ -0,0 +1,2055 @@ +# disable_gcc_version_check2.patch by Thomas Hood +# +Index: alsa-driver-1.0.15/configure +=================================================================== +--- alsa-driver-1.0.15.orig/configure 2007-10-15 10:45:11.000000000 +0200 ++++ alsa-driver-1.0.15/configure 2007-10-21 03:36:14.000000000 +0200 +@@ -1,6 +1,6 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.60. ++# Generated by GNU Autoconf 2.61. + # + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, + # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +@@ -10,7 +10,8 @@ + ## M4sh Initialization. ## + ## --------------------- ## + +-# Be Bourne compatible ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh + if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: +@@ -19,10 +20,13 @@ + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST + else +- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ + fi +-BIN_SH=xpg4; export BIN_SH # for Tru64 +-DUALCASE=1; export DUALCASE # for MKS sh ++ ++ + + + # PATH needs CR +@@ -215,7 +219,7 @@ + else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in /usr/bin/posix$PATH_SEPARATOR/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH ++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH + do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. +@@ -233,7 +237,6 @@ + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +-# Be Bourne compatible + if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: +@@ -242,10 +245,12 @@ + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST + else +- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ + fi +-BIN_SH=xpg4; export BIN_SH # for Tru64 +-DUALCASE=1; export DUALCASE # for MKS sh ++ + + : + _ASEOF +@@ -253,7 +258,6 @@ + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +-# Be Bourne compatible + if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: +@@ -262,10 +266,12 @@ + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST + else +- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ + fi +-BIN_SH=xpg4; export BIN_SH # for Tru64 +-DUALCASE=1; export DUALCASE # for MKS sh ++ + + : + (as_func_return () { +@@ -512,19 +518,28 @@ + as_mkdir_p=false + fi + +-# Find out whether ``test -x'' works. Don't use a zero-byte file, as +-# systems may use methods other than mode bits to determine executability. +-cat >conf$$.file <<_ASEOF +-#! /bin/sh +-exit 0 +-_ASEOF +-chmod +x conf$$.file +-if test -x conf$$.file >/dev/null 2>&1; then +- as_executable_p="test -x" ++if test -x / >/dev/null 2>&1; then ++ as_test_x='test -x' + else +- as_executable_p=: ++ if ls -dL / >/dev/null 2>&1; then ++ as_ls_L_option=L ++ else ++ as_ls_L_option= ++ fi ++ as_test_x=' ++ eval sh -c '\'' ++ if test -d "$1"; then ++ test -d "$1/."; ++ else ++ case $1 in ++ -*)set "./$1";; ++ esac; ++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ++ ???[sx]*):;;*)false;;esac;fi ++ '\'' sh ++ ' + fi +-rm -f conf$$.file ++as_executable_p=$as_test_x + + # Sed expression to map a string onto a valid CPP name. + as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +@@ -946,6 +961,7 @@ + CC + CFLAGS + LDFLAGS ++LIBS + CPPFLAGS + CPP' + +@@ -1053,10 +1069,10 @@ + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } +- ac_feature=`echo $ac_feature | sed 's/-/_/g'` ++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) +@@ -1072,10 +1088,10 @@ + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } +- ac_feature=`echo $ac_feature | sed 's/-/_/g'` ++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ +@@ -1269,19 +1285,19 @@ + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } +- ac_package=`echo $ac_package| sed 's/-/_/g'` ++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } +- ac_package=`echo $ac_package | sed 's/-/_/g'` ++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) +@@ -1604,6 +1620,7 @@ + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory ++ LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor +@@ -1672,7 +1689,7 @@ + if $ac_init_version; then + cat <<\_ACEOF + configure +-generated by GNU Autoconf 2.60 ++generated by GNU Autoconf 2.61 + + Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, + 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +@@ -1686,7 +1703,7 @@ + running configure, to aid debugging if configure makes a mistake. + + It was created by $as_me, which was +-generated by GNU Autoconf 2.60. Invocation command line was ++generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +@@ -2055,7 +2072,7 @@ + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do +- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 +@@ -2095,7 +2112,7 @@ + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do +- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 +@@ -2152,7 +2169,7 @@ + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do +- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 +@@ -2193,7 +2210,7 @@ + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do +- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue +@@ -2251,7 +2268,7 @@ + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do +- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 +@@ -2295,7 +2312,7 @@ + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do +- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 +@@ -2436,7 +2453,7 @@ + # in a Makefile. We should not override ac_cv_exeext if it was cached, + # so that the user can short-circuit this test for compilers unknown to + # Autoconf. +-for ac_file in $ac_files ++for ac_file in $ac_files '' + do + test -f "$ac_file" || continue + case $ac_file in +@@ -2464,6 +2481,12 @@ + test "$ac_cv_exeext" = no && ac_cv_exeext= + + else ++ ac_file='' ++fi ++ ++{ echo "$as_me:$LINENO: result: $ac_file" >&5 ++echo "${ECHO_T}$ac_file" >&6; } ++if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +@@ -2475,8 +2498,6 @@ + fi + + ac_exeext=$ac_cv_exeext +-{ echo "$as_me:$LINENO: result: $ac_file" >&5 +-echo "${ECHO_T}$ac_file" >&6; } + + # Check that the compiler produces executables we can run. If not, either + # the compiler is broken, or we cross compile. +@@ -2654,27 +2675,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes + else + echo "$as_me: failed program was:" >&5 +@@ -2729,27 +2733,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes + else + echo "$as_me: failed program was:" >&5 +@@ -2784,27 +2771,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + : + else + echo "$as_me: failed program was:" >&5 +@@ -2840,27 +2810,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes + else + echo "$as_me: failed program was:" >&5 +@@ -2976,27 +2929,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg + else + echo "$as_me: failed program was:" >&5 +@@ -3050,7 +2986,7 @@ + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do +- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 +@@ -3090,7 +3026,7 @@ + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do +- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 +@@ -3196,7 +3132,7 @@ + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do +- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; }; then ++ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. +@@ -3299,17 +3235,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null; then +- if test -s conftest.err; then +- ac_cpp_err=$ac_c_preproc_warn_flag +- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag +- else +- ac_cpp_err= +- fi +-else +- ac_cpp_err=yes +-fi +-if test -z "$ac_cpp_err"; then ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then + : + else + echo "$as_me: failed program was:" >&5 +@@ -3343,17 +3272,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null; then +- if test -s conftest.err; then +- ac_cpp_err=$ac_c_preproc_warn_flag +- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag +- else +- ac_cpp_err= +- fi +-else +- ac_cpp_err=yes +-fi +-if test -z "$ac_cpp_err"; then ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then + # Broken: success on invalid input. + continue + else +@@ -3418,17 +3340,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null; then +- if test -s conftest.err; then +- ac_cpp_err=$ac_c_preproc_warn_flag +- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag +- else +- ac_cpp_err= +- fi +-else +- ac_cpp_err=yes +-fi +-if test -z "$ac_cpp_err"; then ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then + : + else + echo "$as_me: failed program was:" >&5 +@@ -3462,17 +3377,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null; then +- if test -s conftest.err; then +- ac_cpp_err=$ac_c_preproc_warn_flag +- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag +- else +- ac_cpp_err= +- fi +-else +- ac_cpp_err=yes +-fi +-if test -z "$ac_cpp_err"; then ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then + # Broken: success on invalid input. + continue + else +@@ -3527,7 +3435,7 @@ + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" +- { test -f "$ac_path_GREP" && $as_executable_p "$ac_path_GREP"; } || continue ++ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP + case `"$ac_path_GREP" --version 2>&1` in +@@ -3609,7 +3517,7 @@ + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" +- { test -f "$ac_path_EGREP" && $as_executable_p "$ac_path_EGREP"; } || continue ++ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP + case `"$ac_path_EGREP" --version 2>&1` in +@@ -3705,27 +3613,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes + else + echo "$as_me: failed program was:" >&5 +@@ -3881,10 +3772,10 @@ + #ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; +- const charset x; ++ const charset cs; + /* SunOS 4.1.1 cc rejects this. */ +- char const *const *ccp; +- char **p; ++ char const *const *pcpcc; ++ char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; +@@ -3893,11 +3784,11 @@ + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; +- ccp = &g + (g ? g-g : 0); ++ pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ +- ++ccp; +- p = (char**) ccp; +- ccp = (char const *const *) p; ++ ++pcpcc; ++ ppc = (char**) pcpcc; ++ pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; +@@ -3924,7 +3815,7 @@ + const int foo = 10; + if (!foo) return 0; + } +- return !x[0] && !zero.x; ++ return !cs[0] && !zero.x; + #endif + + ; +@@ -3944,27 +3835,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + ac_cv_c_const=yes + else + echo "$as_me: failed program was:" >&5 +@@ -4018,27 +3892,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + ac_cv_c_inline=$ac_kw + else + echo "$as_me: failed program was:" >&5 +@@ -4108,27 +3965,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + ac_cv_header_time=yes + else + echo "$as_me: failed program was:" >&5 +@@ -4738,6 +4578,7 @@ + { echo "$as_me:$LINENO: result: $kaversion" >&5 + echo "${ECHO_T}$kaversion" >&6; } + ++if false; then + { echo "$as_me:$LINENO: checking for GCC version" >&5 + echo $ECHO_N "checking for GCC version... $ECHO_C" >&6; } + ac_save_CFLAGS="$CFLAGS" +@@ -4833,7 +4674,9 @@ + + CFLAGS="$ac_save_CFLAGS" + my_compiler=`$CROSS_COMPILE$CC --version | head -n 1` ++fi + ++if false; then + + + +@@ -4953,6 +4796,7 @@ + fi + fi + fi ++fi + + + +@@ -8792,27 +8636,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };strlcpy="1" + else +@@ -8876,27 +8703,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };snprintf="1" + else +@@ -8967,27 +8777,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };vsnprintf="1" + else +@@ -9051,27 +8844,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };scnprintf="1" + else +@@ -9135,27 +8911,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };sscanf="1" + else +@@ -9222,27 +8981,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };vmalloc_to_page="1" + else +@@ -9305,27 +9047,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6; };old_kmod="0" + else +@@ -9390,27 +9115,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };pde_defined="1" + else +@@ -9474,27 +9182,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };pci_consistent_defined="1" + else +@@ -9558,27 +9249,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };pci_dev_present_defined="1" + else +@@ -9642,27 +9316,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };msleep="1" + else +@@ -9727,27 +9384,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };msleep_interruptible="1" + else +@@ -9813,27 +9453,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };msecs_to_jiffies="1" + else +@@ -9897,27 +9520,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };tty_count_atomic="1" + else +@@ -9983,27 +9589,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };video_get_drvdata="1" + else +@@ -10148,27 +9737,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };io_remap_pfn_range="1" + else +@@ -10232,27 +9804,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };new_io_remap="1" + else +@@ -10316,27 +9871,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };kcalloc="1" + else +@@ -10400,27 +9938,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };kstrdup="1" + else +@@ -10484,27 +10005,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };kzalloc="1" + else +@@ -10568,27 +10072,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };workqueue2="1" + else +@@ -10642,38 +10129,21 @@ + _ACEOF + rm -f conftest.$ac_objext + if { (ac_try="$ac_compile" +-case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_compile") 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in ++case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; + esac + eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 ++ (eval "$ac_compile") 2>conftest.er1 + ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };pci_saved_config="1" + else +@@ -10738,27 +10208,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };new_pci_save_state="1" + else +@@ -10822,27 +10275,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };reg_sp="1" + else +@@ -10912,27 +10348,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };oldkfasync="1" + else +@@ -10995,27 +10414,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };dma_addr_t="1" + else +@@ -11081,27 +10483,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };have_mutex_macros="1" + else +@@ -11316,27 +10701,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };rtcsup="m" + else +@@ -11752,27 +11120,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };class_simple="1" + else +@@ -11838,27 +11189,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };old_driver_suspend="1" + else +@@ -11923,27 +11257,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };remove_page_reserve="1" + else +@@ -12009,27 +11326,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };nested_class_device="1" + else +@@ -12095,27 +11395,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };new_irq_handler="1" + else +@@ -12180,27 +11463,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };gfp_t="1" + else +@@ -12265,27 +11531,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };pnp_suspend="1" + else +@@ -12353,27 +11602,10 @@ + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6; };new_ioctl="1" + else +@@ -17410,7 +16642,8 @@ + ## M4sh Initialization. ## + ## --------------------- ## + +-# Be Bourne compatible ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh + if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: +@@ -17419,10 +16652,13 @@ + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST + else +- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ + fi +-BIN_SH=xpg4; export BIN_SH # for Tru64 +-DUALCASE=1; export DUALCASE # for MKS sh ++ ++ + + + # PATH needs CR +@@ -17646,19 +16882,28 @@ + as_mkdir_p=false + fi + +-# Find out whether ``test -x'' works. Don't use a zero-byte file, as +-# systems may use methods other than mode bits to determine executability. +-cat >conf$$.file <<_ASEOF +-#! /bin/sh +-exit 0 +-_ASEOF +-chmod +x conf$$.file +-if test -x conf$$.file >/dev/null 2>&1; then +- as_executable_p="test -x" ++if test -x / >/dev/null 2>&1; then ++ as_test_x='test -x' + else +- as_executable_p=: ++ if ls -dL / >/dev/null 2>&1; then ++ as_ls_L_option=L ++ else ++ as_ls_L_option= ++ fi ++ as_test_x=' ++ eval sh -c '\'' ++ if test -d "$1"; then ++ test -d "$1/."; ++ else ++ case $1 in ++ -*)set "./$1";; ++ esac; ++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ++ ???[sx]*):;;*)false;;esac;fi ++ '\'' sh ++ ' + fi +-rm -f conf$$.file ++as_executable_p=$as_test_x + + # Sed expression to map a string onto a valid CPP name. + as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +@@ -17674,7 +16919,7 @@ + # values after options handling. + ac_log=" + This file was extended by $as_me, which was +-generated by GNU Autoconf 2.60. Invocation command line was ++generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS +@@ -17702,7 +16947,7 @@ + Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit +- -V, --version print version number, then exit ++ -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions +@@ -17723,7 +16968,7 @@ + cat >>$CONFIG_STATUS <<_ACEOF + ac_cs_version="\\ + config.status +-configured by $0, generated by GNU Autoconf 2.60, ++configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + + Copyright (C) 2006 Free Software Foundation, Inc. --- alsa-driver-1.0.16.orig/debian/patches/add_onda_a69g_ac97_support.patch +++ alsa-driver-1.0.16/debian/patches/add_onda_a69g_ac97_support.patch @@ -0,0 +1,11 @@ +diff -ruNad alsa-driver-1.0.15.orig/alsa-kernel/pci/atiixp.c alsa-driver-1.0.15/alsa-kernel/pci/atiixp.c +--- alsa-driver-1.0.15.orig/alsa-kernel/pci/atiixp.c 2007-12-31 22:01:41.000000000 +0800 ++++ alsa-driver-1.0.15/alsa-kernel/pci/atiixp.c 2007-12-31 22:02:23.000000000 +0800 +@@ -291,6 +291,7 @@ + { 0x1002, 0x4341, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB200 */ + { 0x1002, 0x4361, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB300 */ + { 0x1002, 0x4370, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB400 */ ++ { 0x1002, 0x4382, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB600 */ + { 0, } + }; + --- alsa-driver-1.0.16.orig/debian/patches/core_oss_framepointer.patch +++ alsa-driver-1.0.16/debian/patches/core_oss_framepointer.patch @@ -0,0 +1,16 @@ +# core_oss_framepointer.patch by Steve Kowalik +# +# Compile snd-pcm-oss.o with -fno-omit-frame-pointer. +Index: alsa-driver-1.0.15/alsa-kernel/core/oss/Makefile +=================================================================== +--- alsa-driver-1.0.15.orig/alsa-kernel/core/oss/Makefile 2007-10-15 10:45:06.000000000 +0200 ++++ alsa-driver-1.0.15/alsa-kernel/core/oss/Makefile 2007-10-21 03:36:14.000000000 +0200 +@@ -3,6 +3,8 @@ + # Copyright (c) 1999 by Jaroslav Kysela + # + ++EXTRA_CFLAGS += -fno-omit-frame-pointer ++ + snd-mixer-oss-objs := mixer_oss.o + + snd-pcm-oss-y := pcm_oss.o --- alsa-driver-1.0.16.orig/debian/patches/refix_lp_68659_by_disabling_dxs_for_0x1458a002.patch +++ alsa-driver-1.0.16/debian/patches/refix_lp_68659_by_disabling_dxs_for_0x1458a002.patch @@ -0,0 +1,13 @@ +Index: alsa-driver-1.0.16/sound/pci/via82xx.c +=================================================================== +--- alsa-driver-1.0.16.orig/sound/pci/via82xx.c 2008-03-07 13:30:30.000000000 -0500 ++++ alsa-driver-1.0.16/sound/pci/via82xx.c 2008-03-07 13:36:41.000000000 -0500 +@@ -2371,7 +2371,7 @@ + SND_PCI_QUIRK(0x1297, 0xa231, "Shuttle AK31v2", VIA_DXS_SRC), + SND_PCI_QUIRK(0x1297, 0xa232, "Shuttle", VIA_DXS_SRC), + SND_PCI_QUIRK(0x1297, 0xc160, "Shuttle Sk41G", VIA_DXS_SRC), +- SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte GA-7VAXP", VIA_DXS_ENABLE), ++ SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte GA-7VAXP", VIA_DXS_DISABLE), + SND_PCI_QUIRK(0x1462, 0x3800, "MSI KT266", VIA_DXS_ENABLE), + SND_PCI_QUIRK(0x1462, 0x7120, "MSI KT4V", VIA_DXS_ENABLE), + SND_PCI_QUIRK(0x1462, 0x7142, "MSI K8MM-V", VIA_DXS_ENABLE), --- alsa-driver-1.0.16.orig/debian/patches/debian_makefile_depmod.patch +++ alsa-driver-1.0.16/debian/patches/debian_makefile_depmod.patch @@ -0,0 +1,52 @@ +# debian_makefile_depmod.dpatch by Steve Kowalik +# +# Removes calls to depmod at install-modules time, and call install with +# a user and group of root in install-scripts. +Index: alsa-driver-1.0.15/Makefile +=================================================================== +--- alsa-driver-1.0.15.orig/Makefile 2007-10-15 10:45:05.000000000 +0200 ++++ alsa-driver-1.0.15/Makefile 2007-10-21 03:36:14.000000000 +0200 +@@ -203,18 +203,18 @@ + rm -f $(DESTDIR)$(moddir)/snd*.*o.gz $(DESTDIR)$(moddir)/persist.o.gz $(DESTDIR)$(moddir)/isapnp.o.gz + endif + @for d in $(SUBDIRS); do if ! $(MAKE) -C $$d modules_install; then exit 1; fi; done +-ifeq ($(DESTDIR),) +- -/sbin/depmod -a $(kaversion) $(SYSTEM_MAP_OPT) +-else +- @echo "*** This is a \`staged' install using the prefix" +- @echo "*** \"$(DESTDIR)\"." +- @echo "***" +- @echo "*** Once the modules have been moved to their final destination you must run the command" +- @echo "*** \"/sbin/depmod -a $(kaversion) $(SYSTEM_MAP_OPT)\"." +- @echo "***" +- @echo "*** Alternatively, if you build a package (e.g. rpm), include the" +- @echo "*** depmode command above in the post-(un)install procedure." +-endif ++#ifeq ($(DESTDIR),) ++# -/sbin/depmod -a $(kaversion) $(SYSTEM_MAP_OPT) ++#else ++# @echo "*** This is a \`staged' install using the prefix" ++# @echo "*** \"$(DESTDIR)\"." ++# @echo "***" ++# @echo "*** Once the modules have been moved to their final destination you must run the command" ++# @echo "*** \"/sbin/depmod -a $(kaversion) $(SYSTEM_MAP_OPT)\"." ++# @echo "***" ++# @echo "*** Alternatively, if you build a package (e.g. rpm), include the" ++# @echo "*** depmode command above in the post-(un)install procedure." ++#endif + + .PHONY: install-scripts + install-scripts: +@@ -222,10 +222,9 @@ + if [ -d $(DESTDIR)$$d ]; then \ + if [ -f $(DESTDIR)$$d/alsasound ]; then \ + cmp -s utils/alsasound $(DESTDIR)$$d/alsasound || \ +- install -m 755 -g $(IGROUP) -o $(IUSER) utils/alsasound $(DESTDIR)$$d/alsasound.new; \ +- break; \ ++ install -m 755 -g $(IGROUP) -o $(IUSER) utils/alsasound $(DESTDIR)$$d/alsasound.new; \ break; \ + fi; \ +- install -m 755 -g $(IGROUP) -o $(IUSER) utils/alsasound $(DESTDIR)$$d/alsasound; \ ++ install -m 755 -g root -o root utils/alsasound $(DESTDIR)$$d/alsasound; \ + break; \ + fi; done + --- alsa-driver-1.0.16.orig/debian/alsa-base.defaultfile +++ alsa-driver-1.0.16/debian/alsa-base.defaultfile @@ -0,0 +1,14 @@ +# Configuration file for alsa-base + +# List, separated by spaces, the names of modules that should be +# unloaded, if present, before the machine is suspended. Use the +# special name "all" if you would like all ALSA sound modules to be +# removed. The modules that are removed will be loaded again after +# resume. Currently this only has an effect if you are using apmd. +# Examples: +# Value Action at suspend time +# "" Do nothing +# "snd-cs46xx" Stop sound processes and remove the snd-cs46xx module +# "all" Stop sound processes and remove all ALSA modules +force_unload_modules_before_suspend="" + --- alsa-driver-1.0.16.orig/debian/alsa-modules.postrm +++ alsa-driver-1.0.16/debian/alsa-modules.postrm @@ -0,0 +1,4 @@ +#!/bin/sh + +#DEBHELPER# + --- alsa-driver-1.0.16.orig/debian/linux-sound-base.lintian-overrides +++ alsa-driver-1.0.16/debian/linux-sound-base.lintian-overrides @@ -0,0 +1 @@ +linux-sound-base: syntax-error-in-debian-changelog --- alsa-driver-1.0.16.orig/debian/NOTES +++ alsa-driver-1.0.16/debian/NOTES @@ -0,0 +1,58 @@ + MAINTAINER NOTES + for alsa-driver + + +TODO for each new upstream release +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +* Check Ubuntu patches at http://people.ubuntulinux.org/~scott/patches/ +* Update debian/changelog.ALSA from release announcement +* Update debian/ALSA-card-list from configure, docs and sources +* Update debian/ALSA-module-list and debian/OSS-module-list from + the latest 2.6 kernel-image tree + + +TODO possibly +~~~~~~~~~~~~~ +* Add debconf support for --with-card-options? + +* Add alsa package?: + +Package: alsa +Architecture: all +Depends: alsa-base, alsa-utils +Description: ALSA metapackage + Install this package in order to pull in the packages + needed to use the Advanced Linux Sound Architecture. + +changelog entry: + - Add "alsa" metapackage Depending on alsa-base and alsa-utils + + +TODO if alsa-firmware package is ever added +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +* Move upstream changelog entries to alsa-firmware + + +NOTES +~~~~~ + +* Scripts run by modprobe (because of "install" entries in + /etc/modprobe.d/*) inherit PATH from whatever runs modprobe. + Remember that modprobe is run with PATH=/bin:/sbin from + /etc/init.d/module-init-tools, so such scripts should be careful + about running commands in /usr/sbin/ and /usr/bin/. + +* The way that linux-sound-base "selects" the sound system is now + entirely consistent. We are using consequeently udev. + +* We considered creating /dev/[snd/]aload(C[0-7]|SEQ) but it was + decided that this doesn't deliver much benefit. We have added + module loader configuration lines that cause the module loader to + load auxiliary modules on top of card driver modules. Automatic + loading in the presence of udev doesn't always work properly. + +* If a module loader configuration line for a card driver module is + added to /etc/mod(utils|probe.d)/alsa-base then the NOPOSTINSTALL + tag should be added to that module's description in ALSA-card-list + so that no configuration line will be autogenerated for it. + --- alsa-driver-1.0.16.orig/debian/alsa-source.bug.script +++ alsa-driver-1.0.16/debian/alsa-source.bug.script @@ -0,0 +1,27 @@ +#!/bin/sh + +exec 1>&3 2>&3 + +# As of reportbug 3.14 package status information can be added by putting +# a "package-status: " line in the bug control file. +# Unfortunately, reportbug << 3.14 crashes if it finds multiple +# fields in the control file. We don't want to Conflict with +# reportbug << 3.14 if we can avoid it so we use a method of appending +# package info that works with all current versions of reportbug. +# We can switch to the package-status: method after etch is released. +echo "--- Begin additional package status ---" +dpkg -l alsa-base libasound2 +echo "--- End additional package status ---" + +for F in version cards ; do + P="/proc/asound/$F" + if [ -r "$P" ] ; then + echo "--- Begin $P ---" + cat "$P" + echo "--- End $P ---" + fi +done + +echo "--- Begin /dev/snd/ listing ---" +ls -l /dev/snd +echo "--- End /dev/snd/ listing ---" --- alsa-driver-1.0.16.orig/debian/alsa-base.preinst +++ alsa-driver-1.0.16/debian/alsa-base.preinst @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +# Prepare to move a conffile without triggering a dpkg question +prep_mv_conffile() { + CONFFILE="$1" + + if [ -e "$CONFFILE" ]; then + md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`" + old_md5sum="`sed -n -e \"/^Conffiles:/,/^[^ ]/{\\\\' $CONFFILE '{s/ obsolete$//;s/.* //;p}}\" /var/lib/dpkg/status`" + if [ "$md5sum" = "$old_md5sum" ]; then + mv -f "$CONFFILE" "$CONFFILE".dpkg-bak + fi + fi +} + +case "$1" in + install|upgrade) + # The following must be deleted at preinst time + # so that dpkg can remove their parent directories + # Delete obsolete dev.d symlinks + for N in 0 1 2 3 4 5 6 7 ; do + D="/etc/dev.d/snd/controlC$N" + if [ -d "$D" ] ; then + L="$D/alsa-base.dev" + rm -fv "$L" + fi + done + # Delete obsolete dev.d script + rm -fv /etc/alsa/dev.d/alsa-base + # Delete obsolete init script + rm -fv /etc/init.d/alsa + ;; +# abort-upgrade) +esac + +#DEBHELPER# + --- alsa-driver-1.0.16.orig/debian/rules +++ alsa-driver-1.0.16/debian/rules @@ -0,0 +1,209 @@ +#!/usr/bin/make -f + +# alsa-driver's debian/rules. +# Substantially rewritten by Steve Kowalik +# Substantially rewritten by Thomas Hood + +export DH_VERBOSE=1 + +SHELL := /bin/bash +# Bwahaha, let's play "Fool dpatch" +# PACKAGE := ALSA +# No, no. Switched to quilt ;) + +SRC_DIR := debian/alsa-source/usr/src/modules/alsa-driver +INSTALL_UAG := -o root -g audio + +include /usr/share/quilt/quilt.make + +clean: unpatch + dh_testdir + dh_testroot + debconf-updatepo + -$(RM) build-stamp + -$(RM) include/isapnp.h + -$(RM) -r debian/patched + -$(RM) debian/files + -$(RM) debian/OSS-module-list_cleaned + -$(RM) debian/ALSA-module-list_cleaned + -$(RM) debian/ALSA-card-list_cleaned + -$(RM) debian/ALSA-card-list_cleaned_nobrackets + -$(RM) debian/ALSA-card-list_cleaned_nodescriptions + -$(RM) debian/ALSA-card-list_needingpostinstall + -$(RM) debian/ALSA-card-list_modem + -$(RM) debian/ALSA-card-list_tv + -$(RM) debian/ALSA-card-list_usb + dh_clean -k + +configure: debian/stamp-patched configure-stamp +configure-stamp: + dh_testdir + touch configure-stamp + +build: configure build-stamp +build-stamp: + touch build-stamp + +binary: binary-indep binary-arch + +binary-indep: DH_OPTIONS=-i +binary-indep: build-stamp build-source + dh_testdir + dh_testroot + dh_installdirs + install $(INSTALL_UAG) -m755 debian/alsa-base.init \ + debian/alsa-base/sbin/alsa + install $(INSTALL_UAG) -m755 debian/alsa-base.apm \ + debian/alsa-base/etc/apm/scripts.d/alsa + install $(INSTALL_UAG) -m644 debian/alsa-base.defaultfile \ + debian/alsa-base/usr/share/alsa-base/alsa.default + install $(INSTALL_UAG) -m644 debian/alsa-source.conf \ + debian/alsa-source/usr/share/alsa-source/alsa-source.conf + ### Generate lists + cat debian/OSS-module-list \ + | sed -e 's/^[[:space:]]*//' -e 's/#.*//' -e '/^$$/d' \ + > debian/OSS-module-list_cleaned + cat debian/ALSA-module-list \ + | sed -e 's/^[[:space:]]*//' -e 's/#.*//' -e '/^$$/d' \ + > debian/ALSA-module-list_cleaned + cat debian/ALSA-card-list \ + | sed -e 's/^[[:space:]]*//' -e 's/#.*//' -e 's/,//' -e '/^$$/d' \ + > debian/ALSA-card-list_cleaned + cat debian/ALSA-card-list_cleaned \ + | sed -e 's/ \[[^]]*\]//' \ + > debian/ALSA-card-list_cleaned_nobrackets + cat debian/ALSA-card-list_cleaned \ + | sed -e 's/ .*$$//' \ + > debian/ALSA-card-list_cleaned_nodescriptions + cat debian/ALSA-card-list_cleaned \ + | sed -e '/MODEM/d' \ + -e '/TV/d' \ + -e '/UNREAL/d' \ + -e '/NOPOSTINSTALL/d' \ + > debian/ALSA-card-list_needingpostinstall + cat debian/ALSA-card-list_cleaned \ + | grep -e 'MODEM' \ + > debian/ALSA-card-list_modem + cat debian/ALSA-card-list_cleaned \ + | grep -e 'TV' \ + > debian/ALSA-card-list_tv + cat debian/ALSA-card-list_cleaned \ + | grep -e 'USB' \ + > debian/ALSA-card-list_usb + ### Generate alsa-source.templates + cp -p debian/alsa-source.templates debian/alsa-source.templates_BAK + cat debian/alsa-source.templates_BAK \ + | sed "s%_CARDS_WITH_DESCRIPTIONS_%$$(echo $$(sed -e '$$!s/$$/, /' debian/ALSA-card-list_cleaned_nobrackets))%" \ + | sed "s%_CARDS_WITHOUT_DESCRIPTIONS_%$$(echo $$(sed -e '$$!s/$$/, /' debian/ALSA-card-list_cleaned_nodescriptions))%" \ + > debian/alsa-source.templates + ### Install blacklists and related + install $(INSTALL_UAG) -m644 debian/OSS-module-list_cleaned \ + debian/linux-sound-base/usr/share/linux-sound-base/OSS-module-list + install $(INSTALL_UAG) -m644 debian/ALSA-module-list_cleaned \ + debian/linux-sound-base/usr/share/linux-sound-base/ALSA-module-list + cat debian/OSS-module-list_cleaned \ + | sed -e 's/[[:space:]].*//' -e 's/^/blacklist /' \ + > debian/linux-sound-base/lib/linux-sound-base/noOSS.modprobe.conf + cat debian/ALSA-module-list_cleaned \ + | sed -e 's/[[:space:]].*//' -e 's/^/blacklist /' \ + > debian/linux-sound-base/lib/linux-sound-base/noALSA.modprobe.conf + echo '# Uncomment these entries in order to blacklist unwanted modem drivers' \ + > debian/alsa-base/etc/modprobe.d/blacklist-modem + cat debian/ALSA-card-list_modem \ + | sed -e 's/[[:space:]].*//' -e 's/^/# blacklist snd-/' \ + >> debian/alsa-base/etc/modprobe.d/blacklist-modem + ### Install module loader configuration files + install $(INSTALL_UAG) -m644 debian/alsa-base.modprobe \ + debian/alsa-base/etc/modprobe.d/alsa-base + # The default index of these drivers is -2 as of ALSA 1.0.9 + echo "# Prevent abnormal drivers from grabbing index 0" \ + >> debian/alsa-base/etc/modprobe.d/alsa-base + cat debian/ALSA-card-list_tv \ + | sed -e 's/[[:space:]].*//' -e 's%\(.*\)%options \1 index=-2%' \ + >> debian/alsa-base/etc/modprobe.d/alsa-base + cat debian/ALSA-card-list_modem debian/ALSA-card-list_usb \ + | sed -e 's/[[:space:]].*//' -e 's%\(.*\)%options snd-\1 index=-2%' \ + >> debian/alsa-base/etc/modprobe.d/alsa-base + echo "# Ubuntu #62691, enable MPU for snd-cmipci" \ + >> debian/alsa-base/etc/modprobe.d/alsa-base + echo "options snd-cmipci mpu_port=0x330 fm_port=0x388" \ + >> debian/alsa-base/etc/modprobe.d/alsa-base + # neither snd-cx88_alsa nor snd-saa7134-alsa exist; + # strip the leading snd- + sed -e \ + 's/snd-cx88_alsa/cx88-alsa/g;s/snd-saa7134-alsa/saa7134-alsa/g' \ + -i debian/alsa-base/etc/modprobe.d/alsa-base + ### Install debconf templates + dh_installdebconf + cp -p debian/alsa-source.templates_BAK debian/alsa-source.templates && rm -f debian/alsa-source.templates_BAK + for i in `ls debian/*.lintian-overrides`; do \ + install -p -m 0644 -o root -g root $$i \ + debian/`basename $$i .lintian-overrides`/usr/share/lintian/overrides/`basename $$i .lintian-overrides`; \ + done + install -p -m 0644 -o root -g root debian/alsa-base.bug.presubj \ + debian/alsa-base/usr/share/bug/alsa-base/presubj + install -p -m 0644 -o root -g root debian/alsa-source.bug.presubj \ + debian/alsa-source/usr/share/bug/alsa-source/presubj + install -p -m 0644 -o root -g root debian/alsa-base.bug.control \ + debian/alsa-base/usr/share/bug/alsa-base/control + install -p -m 0644 -o root -g root debian/alsa-source.bug.control \ + debian/alsa-source/usr/share/bug/alsa-source/control + install -p -m 0755 -o root -g root debian/alsa-base.bug.script \ + debian/alsa-base/usr/share/bug/alsa-base/script + install -p -m 0755 -o root -g root debian/alsa-source.bug.script \ + debian/alsa-source/usr/share/bug/alsa-source/script + dh_installdocs + dh_installman + dh_installchangelogs -i + dh_installchangelogs -palsa-source -palsa-base debian/changelog.ALSA + dh_installdocs -p alsa-base debian/changelog-old.Debian + cp debian/PATCHES.Debian \ + debian/alsa-source/usr/share/doc/alsa-source/ + mkdir debian/alsa-base/usr/share/doc/alsa-base/driver + mv debian/alsa-base/usr/share/doc/alsa-base/Documentation/*.txt \ + debian/alsa-base/usr/share/doc/alsa-base/driver + mv debian/alsa-base/usr/share/doc/alsa-base/Documentation/*.html \ + debian/alsa-base/usr/share/doc/alsa-base/driver + rm -rf debian/alsa-base/usr/share/doc/alsa-base/Documentation + dh_compress + dh_fixperms + dh_installdeb + dh_gencontrol + dh_md5sums + dh_builddeb + +# Nothing to do +binary-arch: + +build-source: + mkdir -p $(SRC_DIR)/debian/bug + find . \( -path './debian' -o -name 'CVS' -o -name '.cvsignore' -o -name '*-stamp' \) -prune -o -print | cpio -admp $(SRC_DIR) + #Can't use upstream's makefiles because we don't run configure + #-$(MAKE) -C $(SRC_DIR) clean + chown -R root:src debian/alsa-source/usr/src + # alsa-source/debian/* + install -m755 debian/alsa-source.rules $(SRC_DIR)/debian/rules + install -m644 debian/alsa-source.control $(SRC_DIR)/debian/control + install -m644 debian/copyright $(SRC_DIR)/debian/copyright + install -m644 debian/changelog $(SRC_DIR)/debian/changelog + install -m644 debian/changelog.ALSA $(SRC_DIR)/debian/changelog.ALSA + install -m644 debian/compat $(SRC_DIR)/debian/compat + # And fix perms on the directory ... + find debian/alsa-source -type d -exec chmod 775 {} \; + find debian/alsa-source/usr/src/modules -type d -exec chmod 2775 {} \; + # As much as I hate automatically generated stuff, automatically generate + # files. + major_ver="$(shell head -n 1 debian/changelog | cut -d\( -f2 | cut -d\) -f1 | cut -d. -f1-2)"; \ + for i in {pre,post}{inst,rm} ; do \ + if [ -f debian/alsa-modules.$$i ] ; then \ + cat debian/alsa-modules.$$i | sed -e "s/_MAJORVERSION_/$$major_ver/g" > $(SRC_DIR)/debian/$$i; \ + fi \ + done + install -m644 debian/alsa-modules.bug.control $(SRC_DIR)/debian/bug/control + # Build the tarball, debian/* mess over. + cd debian/alsa-source/usr/src && tar cf alsa-driver.tar modules + $(RM) -r debian/alsa-source/usr/src/modules + bzip2 -9 debian/alsa-source/usr/src/alsa-driver.tar + +.PHONY: binary binary-arch binary-indep build-source clean debian/stamp-patched + --- alsa-driver-1.0.16.orig/debian/linux-sound-base.dirs +++ alsa-driver-1.0.16/debian/linux-sound-base.dirs @@ -0,0 +1,4 @@ +etc/modprobe.d +lib/linux-sound-base +usr/share/linux-sound-base +usr/share/lintian/overrides --- alsa-driver-1.0.16.orig/debian/alsa-base.modprobe +++ alsa-driver-1.0.16/debian/alsa-base.modprobe @@ -0,0 +1,27 @@ +# autoloader aliases +install sound-slot-0 /sbin/modprobe snd-card-0 +install sound-slot-1 /sbin/modprobe snd-card-1 +install sound-slot-2 /sbin/modprobe snd-card-2 +install sound-slot-3 /sbin/modprobe snd-card-3 +install sound-slot-4 /sbin/modprobe snd-card-4 +install sound-slot-5 /sbin/modprobe snd-card-5 +install sound-slot-6 /sbin/modprobe snd-card-6 +install sound-slot-7 /sbin/modprobe snd-card-7 + +# Cause optional modules to be loaded above generic modules +install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe --quiet snd-ioctl32 ; : ; } +install snd-pcm /sbin/modprobe --ignore-install snd-pcm && { /sbin/modprobe --quiet snd-pcm-oss ; : ; } +install snd-mixer /sbin/modprobe --ignore-install snd-mixer && { /sbin/modprobe --quiet snd-mixer-oss ; : ; } +install snd-seq /sbin/modprobe --ignore-install snd-seq && { /sbin/modprobe --quiet snd-seq-midi ; /sbin/modprobe --quiet snd-seq-oss ; : ; } +install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi && { /sbin/modprobe --quiet snd-seq-midi ; : ; } +# Cause optional modules to be loaded above sound card driver modules +install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 $CMDLINE_OPTS && { /sbin/modprobe -Qb snd-emu10k1-synth ; } +install snd-via82xx /sbin/modprobe --ignore-install snd-via82xx $CMDLINE_OPTS && { /sbin/modprobe -Qb snd-seq ; } + +# Load saa7134-alsa instead of saa7134 (which gets dragged in by it anyway) +install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && { /sbin/modprobe -Qb saa7134-alsa ; : ; } + +# Load snd-seq for devices that don't have hardware midi; +# Ubuntu #26283, #43682, #56005; works around Ubuntu #34831 for +# non-Creative Labs PCI hardware +install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe -Qb snd-seq ; } --- alsa-driver-1.0.16.orig/debian/OSS-module-list +++ alsa-driver-1.0.16/debian/OSS-module-list @@ -0,0 +1,72 @@ +ac97 +ac97_codec +ac97_plugin_ad1980 +#aci # No ALSA substitute +ad1848 +ad1889 +adlib_card +aedsp16 +ali5455 +btaudio +cmpci +cs4232 +cs4281 +cs461x +cs46xx +emu10k1 +es1370 +es1371 +esssolo1 +forte +gus +i810_audio +kahlua +mad16 +maestro +maestro3 +maui +mpu401 +nm256_audio +opl3 +opl3sa +opl3sa2 +pas2 +pss +rme96xx +sb +sb_lib +sgalaxy +sonicvibes +sound +sscape +trident +trix +uart401 +uart6850 +via82cxxx_audio +v_midi +wavefront +ymfpci +# +# The following are not present in kernel-image 2.6.11 +# but we still list them for compatibility with earlier kernels +# +ac97_plugin_wm97xx +ad1816 +audio +awe_wave +dmasound_core +dmasound_pmac +#hal2 # No ALSA substitute +harmony +#ics2101 # No ALSA substitute +#ite8172 # No ALSA substitute +#miropcm20 # No ALSA substitute +#msnd # No ALSA substitute +#nec_vrc5477 # No ALSA substitute +sequencer +soundcard +usb-midi +#vidc # No ALSA substitute +#vwsnd # No ALSA substitute +#waveartist # No ALSA substitute --- alsa-driver-1.0.16.orig/debian/alsa-source.config +++ alsa-driver-1.0.16/debian/alsa-source.config @@ -0,0 +1,40 @@ +#!/bin/sh + +set -e + +. /usr/share/debconf/confmodule +db_version 2.0 +db_capb multiselect + +if [ -f /etc/alsa-source.conf ]; then + if [ -f /etc/alsa/alsa-source.conf ]; then + mv -f /etc/alsa-source.conf /etc/alsa-source.conf.dpkg-old + else + mv -f /etc/alsa-source.conf /etc/alsa/alsa-source.conf + fi +fi + +db_metaget alsa-source/cards choices || : +db_subst alsa-source/cards_to_be_built alsa_cards "$RET" + +db_metaget alsa-source/cards_with_descriptions choices || : +db_subst alsa-source/cards_to_be_built alsa_cards_with_descriptions "$RET" + +if [ -f /etc/alsa/alsa-source.conf ] ; then + case "$(sed -n -e 's/^[[:space:]]*ALSA_NOPNP[[:space:]]*=[[:space:]]*"\(.*\)"/\1/p' /etc/alsa/alsa-source.conf)" in + y|Y|yes|YES|Yes) db_set alsa-source/has_pnp "false" || : ;; + *) db_set alsa-source/has_pnp "true" || : ;; + esac + case "$(sed -n -e 's/^[[:space:]]*ALSA_DEBUG[[:space:]]*=[[:space:]]*"\(.*\)"/\1/p' /etc/alsa/alsa-source.conf)" in + y|Y|yes|YES|Yes) db_set alsa-source/debug "true" || : ;; + *) db_set alsa-source/debug "false" || : ;; + esac + db_set alsa-source/cards_to_be_built "$(sed -n -e 's/^[[:space:]]*ALSA_CARDS[[:space:]]*=[[:space:]]*"\(.*\)"/\1/p' /etc/alsa/alsa-source.conf)" || : +fi + +db_input low alsa-source/has_pnp || : +db_input low alsa-source/debug || : +db_input low alsa-source/cards_to_be_built || : +db_go || : +db_stop || : + --- alsa-driver-1.0.16.orig/debian/alsa-base.bug.presubj +++ alsa-driver-1.0.16/debian/alsa-base.bug.presubj @@ -0,0 +1,9 @@ +If you know that the bug you want to report is in the "upstream" +code then please file a bug report in the ALSA bug tracking system +(on the web at https://bugtrack.alsa-project.org/alsa-bug). + +If you feel that the bug is one that other Debian users should +know about then you are welcome to file a report in the Debian BTS +as well. Please keep in mind, however, that managing bug reports +is part of the maintainers' workload. + --- alsa-driver-1.0.16.orig/debian/changelog.ALSA +++ alsa-driver-1.0.16/debian/changelog.ALSA @@ -0,0 +1,6003 @@ +Changelog between 1.0.14 and 1.0.15 releases +(http://www.alsa-project.org/main/index.php/Changes_v1.0.14_v1.0.15) +(Reformated as ASCII text) +******************************************** + +* alsa-driver + + Sound Core + - 2.6.22 is supported as well. + - Create hacked autoconf.h from the kernel build tree + - add empty kthread wrappers + - release 1.0.15rc3 + - Remove gzipped file in install-modules + - Add SPI devices to ALSA Kconfig and Makefile + - pc-speaker update + - hda-intel: prevent build on old kernels + - Changed Jaroslav Kysela's e-mail from perex@suse.cz to + - perex@perex.cz + - release 1.0.15 + - Disable link with ac97_bus driver for older kernels + - release 1.0.15rc1 + - [S390] Kconfig: menus with depends on HAS_IOMEM. + - Fix for CONFIG_HAS_DMA + - Support xxx-y style in Makefile for 2.2/2.4 kernels + - Avoid SOC for 2.6.9 or older kernels + - Some hacks to fix build on RHEL4/CentOS4 + - release 1.0.15rc2 + - add CONFIG_HAS_IOPORT check for SC6000 ISA driver + - PC-Speaker driver update + + ALSA Core + - unregister_chrdev(): ignore the return value + - Regenerate the patch + - Add workaround for pci->revision + - hda-intel - Add hwdep interface + - add empty kthread wrappers + - change return type of pci_save/restore_state wrappers + - Add a workaround to make snd-page-alloc independent from snd + - misc_driver: protect PM code with CONFIG_PM + - Changed Jaroslav Kysela's e-mail from perex@suse.cz to + - perex@perex.cz + - linux 2.6 sync - spelling/typo fixes + - Fix build error without CONFIG_HAS_DMA + - Clean up Makefile + - Fix the wrong kfree error with kmemdup + - sound: snd_register_device_for_dev fix + - Regenerate sound.patch + - Fix isa driver wrapper for 2.2/2.4 kernels + + SoC PXA2xx Core + - [ARM] 4527/1: pxa: fix pxa27x ac97 cold reset in ASoC due to + - CKEN change + - [ARM] 4458/1: pxa: Fix CKEN usage and hence fix pxa + - suspend/resume + - fix file specification in comments + + Control Midlevel + - Add helper functions for frequently used callbacks + - Changed Jaroslav Kysela's e-mail from perex@suse.cz to + - perex@perex.cz + - unexport snd_ctl_elem_{read,write} + - Some hacks to fix build on RHEL4/CentOS4 + - Fix a typo + + PCM Midlevel + - Fix substream to check in PCM drain + - pcm: merge rates[] from pcm_misc.c and pcm_native.c + - pcm: add snd_pcm_rate_to_rate_bit() helper + - Changed Jaroslav Kysela's e-mail from perex@suse.cz to + - perex@perex.cz + - Fix 'discards qualifiers' compile warnings in pcm.h + - Kill useless volatile in pcm.h + - Support 3-bytes 24bit format in PCM OSS emulation + + RawMidi Midlevel + - Clean up duplicate includes in sound/core/ + + Timer Midlevel + - timer: check for incorrect device state in non-debug compiles, + - too + + /arm/Makefile + - Move CONFIG_H3600_HAL codes to sa11xx-uda1341.patch + + /i2c/Makefile + - Clean up Makefile + + /isa/Makefile + - Gallant SC-6000 driver + + /soc/codecs/Makefile + - ASoC CS4270 codec device driver + + /spi/Makefile + - Add SPI devices to ALSA Kconfig and Makefile + - ALSA sound driver for the AT73C213 DAC using Atmel SSC driver + + AC97 Codec + - Use msecs_to_jiffies() in ac97_codec.c + - Add missing static in ac97_codec.c + - Disable link with ac97_bus driver for older kernels + - Add default values for power-saving as Kconfig options + - linux 2.6 sync - spelling/typo fixes + - ac97 - Suppress the reset of audio-codec from modem-codec at + - resume + - ac97: YMF743 missing controls support (1/2) + - ac97: YMF743 missing controls support (2/2) + + AC97 bus driver + - Fix build with older kernels + + AD1848 driver + - isa libs Makefiles cleanup + - Fix invalid schedule_timeout_interruptible() + - ad1848: fix AD1848P macro + - ad1838/cs4231 - fix MCE timeout upon initial load + - ad1848: replace HZ calculus with msecs_to_jiffies() + - ad1848/cs4231: replace commented out debug code with + - snd-printd{,d} + - ad1848_lib: waiting loops done after cs4231_lib + - ad1848_lib: replace common delay loop by function + - ad1848: Fix msleep while atomic + - ad1848: simplify MCE down code + + ALI5451 driver + - Add workaround for pci->revision + - ali5451 warning fix + - PCI: Change all drivers to use pci_device->revision + + ALSA sequencer + - seq_midi_event: fix encoding of data bytes after end of sysex + - seq_midi_event: prevent running status after system messages + - seq_midi_event: fix parsing of missing data bytes + - seq_midi_event: fix parsing of F9/FD bytes + - some kmalloc/memset ->kzalloc (tree wide) + - Fix invalid schedule_timeout_interruptible() + - schedule_timeout() fix for core/seq/seq_instr.c + + ALSA<-OSS emulation + - Remove ifdefs from OSS PCM emulation codes + - Simplify the format conversion in PCM OSS emulation + - Support 3-bytes 24bit format in PCM OSS emulation + - Add new AFMT_* formats for OSS emulation + + ALSA<-OSS sequencer + - seq: resource leak fix and various code cleanups + + ARM PXA2XX driver + - [ARM] 4458/1: pxa: Fix CKEN usage and hence fix pxa + - suspend/resume + + ATIIXP driver + - Add workaround for pci->revision + - PCI: Change all drivers to use pci_device->revision + + ATIIXP-modem driver + - Add workaround for pci->revision + - PCI: Change all drivers to use pci_device->revision + + Apple Onboard Audio driver + - Fix tas_suspend/resume build warning + - Clean up with common snd_ctl_boolean_*_info callbacks + - Driver core: change add_uevent_var to use a struct + - snd-aoa-codec-onyx: fix typo + + Asihpi driver + - remove incorrect usage of SNDRV_PCM_INFO_SYNC_START and + - snd_pcm_set_sync() + - Build fix for 2.6.23-rc1 + - check for linked substreams of different cards + - Fix build with 2.6.23-rc1 kernel + - asihpi - Fix StreamGetInfo + - asihpi unify play/capture timer functions + - asihpi: mmap and link streams + - asihpi: Fix compatibility with 64-bit resource_size_t + - alsa-driver: use schedule_timeout_{,un}interruptible. + + Atmel AT73C213 DAC driver + - ALSA sound driver for the AT73C213 DAC using Atmel SSC driver + + BT87x driver + - snd-bt87x: Power down audio ADC when not in use + - pcm: add snd_pcm_rate_to_rate_bit() helper + - 2.6 kernel sync (2007/10/15) - small patches + - bt87x: fix detection of generic boards + - snd-bt87x: Improve support for different board types + - Regenerate bt87x.patch + - bttv: Fix Viewcast Osprey 440 support + - bt87x - Add known PCI ID entries + + CA0106 driver + - snd-ca0106:Add recognition for new variant. Fixes ALSA bug#3251 + - Coding style fix sound/pci/ca0106/ca_midi.h + - ca0106: Add analog mute controls for cards with SPI DAC + - ca0106: replaced control add sequences with macro + - ca0106: power down SPI DAC channels when not in use + - ca0106: Add more symbol SPI register names and use them + - ca0106: remove extra commands in SPI DAC init sequence + + CMI8788 driver + - cmi8788: add sync start + - cmi8788: change shortname + - cmi8788: add __NO_VERSION__ + - add cmi8788 driver + - cmi8788: use one function for pointer callback + - cmi8788: write correct values to BaseTCount + - cmi8788: move hw_params-specific code to hw_params callback + - cmi8788: fix and optimize trigger callback + - cmi8788: clean up pcm init + - cmi8788: remove int_sta_mask field + - cmi8788: optimize interrupt handler + - cmi8788: move interrupt enabling out of trigger callback + - cmi8788: initialize stream mask bits once + - cmi8788: fix AC97 playback interrupt mask + - cmi8788: merge interrupt and DMA bit masks + - remove incorrect usage of SNDRV_PCM_INFO_SYNC_START and + - snd_pcm_set_sync() + - cmi8788: cache interrupt/dma mask registers + - cmi8788: clear interrupt/DMA status when loading + - cmi8788: make interrupt acking more robust + - cmi8788: fix formatting + - cmi8788: remove unused symbols + - cmi8788: remove ioremap + - cmi8788: remove cmi_printk + - cmi8788: reorganize chip data + - cmi8788: remove controller structure + - cmi8788: move PCM code to cmi_pcm.c + - cmi8788: remove unused fields + - cmi8788: fix interrupt status check + - cmi8788: move declarations to header + - cmi8788: remove typedefs + - cmi8788: remove superfluous NULL checks + - cmi8788: simplify AC97 register writes + - cmi8788: simplify some code + - cmi8788 - Fix build with the recent kernel + - cmi8788: store cmi_substream pointer in runtime->private_data + - cmi8788: clean up pcm open callback + - cmi8788: remove unsupported formats + - cmi8788: fix format bits + - cmi8788: factor out format bits lookup + - cmi8788: add rate setting + - cmi8788: prevent autoloading + - cmi8788: detect chip revisions + - cmi8788: fix capture buffer size + - cmi8788: add SPDIF PCM + - cmi8788: move low-level functions to cmi_lib.c + - cmi8788: simplify more code + - cmi8788: fix pcm hardware info + - cmi8788: remove DMA_chan_reset field + - cmi8788: remove superfluous header + + CMIPCI driver + - cmipci: make the test for integrated MIDI port address more + - robust + - cmipci: add msbits constraint for 24-bit format + - cmipci: reorganize chip version detection + - cmipci: remove has_dual_dac + - cmipci: show actual chip name in card longname + - cmipci: remove invalid channels constraint + - cmipci: add 96 kHz support + - cmipci: do not check for integrated FM/MIDI ports with chip + - version 37 + - cmipci: check that the legacy MIDI port works + - cmipci: show real chip name in card name + - cmipci: fix version 37 detection + - cmipci: update register definitions + - cmipci: show more registers in proc file + - cmipci: reset the chip when initializing + - cmipci: initialize 0x90 registers + - cmipci: allow 96 kHz playback on non-multichannel rear + - cmipci: remove 5.0 format + - cmipci: reorganize set_dac_channels() + - cmipci: fix lookup of double rates + - cmipci: clean up struct cmipci_pcm + - cmipci: fix distortion on rear channels + - cmipci: fix MIDI device name + - cmipci: fix handling of FM/MIDI port addresses + + CREDITS file + - Update Claudio's CREDITS information + - linux 2.6 sync (2007-07-30) + - 2.6 kernel sync (2007/10/15) - rest (outside ALSA tree) + - linux 2.6 code sync (2007-07-19) + + CS4231 driver + - Fix bugs in mode change/recalibration for opl3sa2 driver + - ad1838/cs4231 - fix MCE timeout upon initial load + - ad1848/cs4231: replace commented out debug code with + - snd-printd{,d} + - cs4231-lib: replace common delay loop by function + - cs4231 header split + - cs4231-lib: improved waiting after mce_down + - Fix thinko in cs4231 mce down check + + CS423x drivers + - isa libs Makefiles cleanup + + CS46xx driver + - cs46xx - Fix PM resume + - Clean up Makefile + - sound/pci/cs46xx/: fix an off-by-one + + CS5535 driver + - cs5535audio: correctly set dma->substream + - cs5535audio: fix PRD register save/restore power management + - race + - cs5535audio: update PCI device handling in suspend/resume + - cs5535audio: fix ACC_BM[x]_CMD register handling + - cs5535audio: drop unused bus master stuff + - Clean up Makefile + + CX88 driver + - 2.6 kernel sync (2007/10/15) - rest (outside ALSA tree) + + Digigram PCXHR driver + - pcxhr - Fix trigger start with non-linked streams + - pcxhr - Fix dB level information + + Digigram VX core + - Clean up with common snd_ctl_boolean_*_info callbacks + + Documentation + - hda-codec - update of documentation + - Add missing model entries for HD-audio codecs + - usb-audio - Fix AC3 with M-Audio Audiophile USB + - hda-codec - Rename HP model-specific quirks + - This patch adds more support for Dell systems with Stac9205 + - codecs. + - hda-intel - Add power_save_controller module option + - hda-codec - Add support for Haier W66 + - More description on duplex streams with OSS emulation + - hda: support for S/PDIF out on ASUS M2V + - cmipci: do not check for integrated FM/MIDI ports with chip + - version 37 + - document basic TLV stuff + - sc6000: documentation fix + - Add descriptions for new module options of snd-sscape driver + - Add description about power-saving mode + - hda-codec - Add ALC268 acer model + - hda-codec - Add support for Macbook Pro rev3 + - hda-codec - Fix Dell laptops support with STAC codecs + - usb-audio - Fix audiophile-USB quirk for little-endian + - hda-intel: support for iMac 24 released on 09/2006 + - Fixes to follow the standard coding style + - hda-codec - Add laptop-automute model for AD1986A + - hda-codec - Add missing model names for ALC882 codecs + - hda-codec - Add more Dell systems + - hda-codec - Add support for Acer Aspire laptops + - doc - Remove IRQF_DISABLED from the example description + - wavefront - Use standard firmware loader + - hda-codec - Add support of ALC268 codec + - hda-codec - Add model dell for Dell XPS M1210 + - Add description of sc6000 driver + - Fix OSS documentation about 3bytes format + - hda-codec - Add option texts and descriptions for new Realtek + - models + - cmipci: fix handling of FM/MIDI port addresses + - hda-codec - Add AD1882 codec support + - hda-codec - Fix Gateway laptops with STAC9200 + - Add missing models for Dell with STAC9200 codec + + Dreamcast AICA sound (pcm) driver + - aica - fix behaviour in poor resource conditions + - 2.6 kernel sync (2007/10/15) - small patches + + EMU10K1/EMU10K2 driver + - emu10k1: enable emu1010 only on 2.6 kernels + - snd-emu10k1: Add support for E-Mu 1616 PCI, 1616M PCI, 0404 + - PCI, E-Mu + - snd-emu10k1:Improves firmware loading for E-Mu cards. + - snd-emu10k1:Support for ADAT and S/PDIF. + - emu10k1 - EMU 1212 with 16 capture channels + - Routines for effect processor FX8010: Use list_for_each_entry + - This patch removes memset() from snd_emu10k1_fx8010_info() + - which apparently + - snd-emu10k1: Initial support for E-Mu 1616 and 1616m. + - snd-emu10k1:Enable E-Mu 1616m notebook firmware loading. + - emu10k1 - Fix memory corruption + - snd-emu10k1:Implement SPDIF/ADAT status. + - snd-emu10k1:Unmute the Audio/Micro Dock after firmware load. + - emu10k1: There's no need to cast vmalloc() return value in + - snd_emu10k1_create() + + ENS1370/1+ driver + - fix ensoniq section mismatch + + ES18xx driver + - add the ESS1879 pnpbios ID to the es18xx driver + + ES1968 driver + - ESS Maestro 1/2/2E Sound Card: Use list_for_each_entry + + Echoaudio driver + - echoaudio - Add barrier() to prevent compiler optimization + - echoaudio - Remove superfluous volatile prefix + + Generic drivers + - ALSA: more section mismatches + - Clean up with common snd_ctl_boolean_*_info callbacks + - pc-speaker update + - fix section mismatch + - more section mismatches + - portman2x4 section mismatch + - PC-Speaker driver update + + HDA Codec driver + - hda-codec - rewrite amp cache more generic + - hda-codec - introduce command register cache + - hda-codec - optimize resume using caches + - hda-codec - add snd_hda_codec_stereo() function + - hda-codec - Clean up bind-controls + - hda-intel - Add POWER_SAVE option + - hda-codec - Fix ALC268 acer model + - hda-codec - Fix capture on ALC262 HP machines + - hda-codec - code cleanups in patch_sigmatel.c + - hda-codec - Fix HP Nettle 5.1 output + - hda-codec - Add HP Lucknow 5.1 support + - hda-codec - Add missing model parameter strings for ALC262 + - hda-codec - Fix number of pin widgets with STAC codecs + - hda-codec - Add LG LW20 line-in capture source + - hda-codec - Add quirk for HP Samba + - hda-codec - Rename HP model-specific quirks + - hda-intel - Coding style fixes + - hda-intel - Add hwdep interface + - hda-codec - Add a generic bind-control helper + - hda-codec - kernel config for each codec + - hda-codec - Add quirk for another MSI laptop to + - alc883_cfg_tbl[] + - hda-codec - Fix Thinkpad X61/T61 outputs + - hda-codec - Fix for Fujitsu Lifebook C1410 + - hda-codec - Add missing Mic Boost for some ALC882 models + - hda-codec - Add support for Toshiba A305 + - hda-intel - Fix resume with power save + - This patch adds more support for Dell systems with Stac9205 + - codecs. + - hda-codec - Add support for Haier W66 + - hda-codec - Add SPDIF support on ALC880 fujitsu model + - sound/pci/hda/patch_realtek.c: remove dead code + - hda-codec - Fix the error in DAC assignment of STAC codec + - hda-codec - Fix Toshiba A100 with ALC861 + - hda-codec - Add support for the ASRock K8NF6G-VSTA motherboard + - hda-codec - Fix Oops with AD1984 thinkpad model + - hda: support for S/PDIF out on ASUS M2V + - HDA - Change default configuration for Fujitsu Si3515 + - hda-codec - Fix wrong pin-setup at resume of STAC codecs + - hda-codec - Avoid zero NID in line_out_pins[] of STAC codecs + - hda-intel - fix a race in dynamic power managment + - hda-intel - Fix resume logic, when dynamic power managment is + - on + - hda-codec - add support for swapping center/LFE channels to + - STAC codecs + - hda-codec - add support for analog loopback to + - STAC9204/9205/922x/927x + - hda-codec - make volume knob, the master volume for sigmatel + - codecs + - hda-codec - Fix support for sigmatel codecs that have 2 or more + - ADCs + - hda: BIOS changing subsystem id + - hda-codec: Add 4 channel support for Realtek ALC883 + - hda-codec: Add two new systems to ALC883 + - Add default values for power-saving as Kconfig options + - hda-codec - Add quirks for HP dx2200/dx2250 + - hda-intel - Remove invalid __devinit + - hda-codec - Add ALC268 acer model + - hda-codec - Fix PM on ALC885 Intel Macs + - hda-codec - Remove superfluous code + - hda-codec - Add unsol_event to ALC883 Acer Aspire + - hda-intel - Avoid unnecessary work scheduling + - hda-codec - Add model for MSI m673x + - hda-codec - Add auto-mute function to Sony VAIO with STAC9872 + - hda-codec - Fix Toshiba A135 model selection + - hda-codec - Add support for Macbook Pro rev3 + - hda-codec - Add support for Toshiba Satellite P205 + - hda-intel - Fix compile with gcc-3.x + - hda-codec - Fix mater mixer switch of ALC262 sony-amd model + - hda-codec - Fix ALC268 unsol event + - hda-codec - Fix Dell laptops support with STAC codecs + - hda-codec - Some fixes for Realtek codec supports + - hda-codec - Fix ALC662 auto mode + - hda-codec - Fix the recording selection on VAIO laptop + - hda-codec - Add LG LW20 si3054 modem id + - hda: stac9202 mixer fix + - hda-codec - Add quirk for Asus P5LD2 + - hda-intel: support for iMac 24 released on 09/2006 + - hda-codec - Fix the initial mixer state of ALC262 sony-assamd + - model + - hda-codec - Add model for Toshiba A135 + - hda-codec - Fix input_mux numbers for vaio stac92xx + - hda-codec - Add laptop-automute model for AD1986A + - hda-codec - Add support for ASUS A7M + - hda-codec - Add missing model names for ALC882 codecs + - hda-codec - Add quirk entry for Casper CPR2000 + - hda-codec - Fix ALC662 codec support + - hda-codec - Missing support ASUS A7J + - hda-codec - Add more Dell systems + - hda-codec - Add support for Acer Aspire laptops + - hda-intel - Fix NULL dereference in resume + - hda-intel - Don't do suspend if already powered down + - hda-codec - Add missing capture boost for ALC268 + - hda-codec - Add support for HP Nettle + - hda-codec - Add support for HP Spartan + - hda-codec - Fix default pin config of Abit AW9D-MAX + - HDA-Intel - Add support for MSI K9AGM2-FIH motherboard + - hda: Enable SPDIF in/out on some stac9205 boards + - hda-codec - Fix AD1988 SPDIF output + - hda-codec - Fix GPIO in resume + - hda-codec - Fix AD1984 basic model + - hda-codec - Add proper model for HP xw series + - hda-codec - Add support of ALC268 codec + - hda-codec - Add HP Pavillion quirk to Realtek code + - hda-codec - Fix ALC662 auto-configuration code + - hda-codec - Add Fujitsu Siemens v3515 support to patch_conexant + - hda-codec - Add model dell for Dell XPS M1210 + - hda: add eapd support to additional idt codecs + - hda-codec - Add zero checks in input-mux helper functions + - hda-intel - Improve HD-audio codec probing robustness + - hda: More subsystem id BIOS changes + - hda-codec - Remove conflicting capture mixers for ALC861VD + - hda-codec - Update realtek codec support + - hda-codec - Add support for Biostar NF61S SE mobo + - hda-codec - Add option texts and descriptions for new Realtek + - models + - hda-intel - Add flush_scheduled_work() in snd_hda_codec_free() + - hda-codec - Fix Master volume with AD1986A laptop model + - hda-codec - Add Mic Boost control with auto-configuration + - hda-codec - Fix 5.1 output in LG LW20 + - hda-codec - Add VIA HDA to si3054 + - Yet another Uniwill laptop with ALC861 codec + - hda-codec - Add AD1882 codec support + - hda-codec - Fix Gateway laptops with STAC9200 + - hda-codec - Re-add quirk support for Dell XPS 1330 and Inspiron + - 1420 + - hda-codec - Add support for Acer Aspire 9303 + - hda-codec - Fix wrong pin config order in STAC92xx dell models + + HDA Intel driver + - hda-intel - Add POWER_SAVE option + - hda-intel - Add probe_mask blacklist + - hda-intel - Show the last command in warning messages + - hda-intel - Coding style fixes + - Add the MCP73/77 support to hda_intel driver + - alsa: Add the MCP79 support to hda_intel driver + - hda-intel - Fix resume with power save + - hda-intel - Add power_save_controller module option + - hda-intel - Fix resume logic, when dynamic power managment is + - on + - Intel HD Audio: Use list_for_each_entry(_safe) + - hda-intel - Add position_fix quirk for Dell Precision 390 + - hda-intel - Don't do suspend if already powered down + - hda-intel - Improve HD-audio codec probing robustness + - alsa-kernel: schedule_timeout() fixes + + HDA generic driver + - hda-codec - introduce command register cache + - hda-codec - optimize resume using caches + - hda-codec - add snd_hda_codec_stereo() function + - hda-intel - Add POWER_SAVE option + - hda-intel - Coding style fixes + - hda-intel - Add hwdep interface + - hda-codec - Add a generic bind-control helper + - hda-codec - kernel config for each codec + - Add missing hda_hwdep.c + - Intel HD Audio: Use list_for_each_entry(_safe) + - hda-intel - Fix compile warning in snd_hwdep_ioctl_compat() + - hda-intel - Fix a typo in Makefile + - hda-codec - Output MFG information for HDA devices + + HDSPM driver + - hdspm - Coding style fixes + + I2C cs8427 + - Workaround for invalid signature read of CS8427 + + ICE1712 driver + - Fix misspellings collected by members of KJ list. + - ice1712 - Fix missing replacement to snd_ctl_boolean_mono_info + - sound: fix compile error (wrong declaration of devinitdata) + + IOCTL32 emulation + - Enable timer ioctls in 32bit compat modules + + ISA + - wavefront - Use standard firmware loader + - fix SND_CS5530=y, ISA=n compilation + - Gallant SC-6000 driver + - SC6000 driver - add HAS_IOPORT dependency + + MAINTAINERS file + - 2.6 kernel sync (2007-07-20) + - linux 2.6 sync (2007-07-30) + - 2.6 kernel sync (2007/10/15) - rest (outside ALSA tree) + - linux 2.6 code sync (2007-07-19) + + MIXART driver + - mixart - Check ioremap error + - sound: convert "sound" subdirectory to UTF-8 + - mixart: Add missing vmalloc.h include + + MPU401 UART + - more section mismatches + - mpu-401: do not require an ACK byte for the ENTER_UART command + - mpu-401: remove MPU401_INFO_UART_ONLY flag + + MSND driver + - fix request_firmware() calls for 2.4 kernels + - alsa-driver: use schedule_timeout_{,un}interruptible. + + Memalloc module + - Fix build with 2.6.22 or older kernel + - Fix compile warnings with 2.6.22 kernel + - Add a workaround to make snd-page-alloc independent from snd + - Changed Jaroslav Kysela's e-mail from perex@suse.cz to + - perex@perex.cz + - Fix build error without CONFIG_HAS_DMA + - Fix for CONFIG_HAS_DMA + - Convert snd-page-alloc proc file to use seq_file + - Fix memalloc.patch for rewrite with seq_file + + NM256 driver + - nm256 - Add mention of opl3sa2 to a diagnostic message + + OPL3 + - Clean up Makefile + + OPL3SA2 driver + - Fix bugs in mode change/recalibration for opl3sa2 driver + - use __devexit_p + - opl3sa2 - Add Neomagic MagicWave 3D ISA PnP ID + + OSS firmware core + - Detach sched.h from mm.h + + Opti9xx drivers + - opti9xx: adjust OPL3 FM resource value + - Fix unfreed pnp driver in opti9xx ISA driver + + PCI drivers + - hda-intel - Add POWER_SAVE option + - Add workaround for pci->revision + - hda-intel - Add hwdep interface + - hda-codec - kernel config for each codec + - add cmi8788 driver + - sound/hda: fix help text + - git-alsa kconfig fix + - cmipci: show actual chip name in card longname + - Add default values for power-saving as Kconfig options + - hda-intel - Fix a typo in Kconfig + - cmipci: fix handling of FM/MIDI port addresses + + PDPlus driver + - remove incorrect usage of SNDRV_PCM_INFO_SYNC_START and + - snd_pcm_set_sync() + + PPC + - Add PS3 sound driver + + PPC Beep + - Input: ppc-beep - switch to using input_dev->dev.parent + - Fix beep.patch for 2.6.22/23 kernels + + PPC PMAC driver + - remove incorrect usage of SNDRV_PCM_INFO_SYNC_START and + - snd_pcm_set_sync() + - pcm: add snd_pcm_rate_to_rate_bit() helper + - [POWERPC] Fix snd-powermac refcounting bugs + + PPC PS3 driver + - Clean up duplicate includes in sound/ppc/ + - Add PS3 sound driver + + PXA Mainstone driver + - linux 2.6 code sync (2007-07-19) + + RME HDSP driver + - hdsp - Add support for latset RME9632 revisions + + RME32 driver + - pcm: add snd_pcm_rate_to_rate_bit() helper + + RME96 driver + - pcm: add snd_pcm_rate_to_rate_bit() helper + + RME9652 driver + - hdspm - Fix autosync bug + - hdspm - Coding style fixes + + SA11xx UDA1341 driver + - Get rid of dead code in sound/arm/sa11xx-uda1341.c + - Move CONFIG_H3600_HAL codes to sa11xx-uda1341.patch + - potential parse error in ifdef + + SAA7134 driver + - linux 2.6 sync (2007-07-30) + - 2.6 kernel sync (2007/10/15) - rest (outside ALSA tree) + + SB drivers + - Allow shared IRQ for CS5530 device + + SC6000 (CompuMedia ASC-9308 + AD1848) driver + - sc6000 build fix + - sc6000: 2 minor fixes + - Gallant SC-6000 driver + - Add sc6000 driver + + SPARC DBRI driver + - dbri: driver cleanup + - Fix misspellings collected by members of KJ list. + - dbri - Use linux/of.h instead of asm/prom.h + - dbri: more cleanups + - dbri: conversion to OpenFirmware framework + + SPARC cs4231 driver + - 2.6 kernel sync (2007/10/15) - small patches + - CS4231 SBus: Two fixes. + - sun-cs4231: checkpatch fixes + - sun-cs4231 - Remove merge errors + - sun-cs4231: code improvements + - sun-cs4231: improved waiting after MCE down + - Fix thinko in cs4231 mce down check + - sun-cs4231: memory management fix + - sun-cs4231: use cs4231-regs.h + + SPI Kconfig + - Add SPI devices to ALSA Kconfig and Makefile + - ALSA sound driver for the AT73C213 DAC using Atmel SSC driver + + SoC Audio for the Samsung S3C24XX chips + - Fix Kconfig entry for SND_S3C24XX_SOC_NEO1973_WM8753 + - Make s3c24xx_i2s_set_clkdiv() change the correct bits + - s3c24xx-pcm: fix hw_params dma handling + - ASoC S3C24xx machine drivers - lm4857-h missing patch + - sound/soc ioremap/iounmap balancing + + SoC Codec CS4270 + - ASoC CS4270 codec device driver + - Fix build with cs4270.c + - Fix CS4270 volume control and optimize I2C operations + - CS4270 driver does not compile with I2C disabled + + SoC Layer + - ASoC CS4270 codec device driver + + SoC PXA2xx Spitz + - Clean up duplicate includes in sound/soc/ + + SoC SH7760 AC97 + - soc/sh: let SND_SOC_PCM_SH7760 depend on SH_DMABRG + + Sound Scape driver + - Fix invalid schedule_timeout_interruptible() + - sscape: driver extension to 2nd DMA and WSS port + - sscape: support for audio part of VIVO cards + - alsa-kernel: schedule_timeout() fixes + + Synth + - sound/synth/util_mem.c: remove pointless check + + USB + - caiaq - support for Native Instrument's RigKontrol3 + + USB caiaq + - snd_usb_caiaq_input_free() fix + - caiaq - support for Native Instrument's RigKontrol3 + - snd-usb-caiaq: Fix compatibility with kernels < 2.6.19 + + USB generic driver + - This patch is a USB quirk to ensure the Stanton Scratchamp v1 + - is detected + - usb-audio - Add advanced mode support for Edirol UA-1EX + - missing error check in usb sound driver + - usb-audio - Fix AC3 with M-Audio Audiophile USB + - fix selector unit bug affecting some USB speakerphones + - usbaudio - Add quirk for Roland EXR series + - usb-audio: another Logitech camera/microphone ID match + - snd-usb-audio: Add basic support for E-Mu USB devices. + - usb-audio: update quirk for Rane SL 1 (aka. Serato Scratch + - Live) + - usb-audio: add Ozone Academic support + - usb-audio: fix parsing of SysEx messages from CME keyboards + - usb-audio - Fix audiophile-USB quirk for little-endian + - usb-audio: allow output interrupt transfers for MIDI + - usb-audio: allow low speed MIDI devices + - usb-audio: add workaround for ESI MIDI Mate/RomIO II + - usb-audio: add Roland SH-201 support + - usb-audio - Add quirk for Roland Juno-G + - USB ID for intergrated quickcam on dell xps m1210 + - usb-audio: add quirk for Serato Scratch Live DJ Box + + Utils + - Remove libs from toplevel driver list + - pc-speaker update + - Fix the handling of Kconfig int items + - Add CONFIG_HAS_IOMEM + - Fix mod-deps to handle parenthesis with spaces and int values + - Fix build with cs4270.c + - add CONFIG_HAS_IOPORT check for SC6000 ISA driver + - PC-Speaker kernel patch for 2.6.22 + + VIA82xx driver + - via82xx - Add DXS quirk for Shuttle AK31v2 + - alsa-kernel: schedule_timeout() fixes + + Wavefront drivers + - Remove unreferenced header file include/sound/wavefront_fx.h + - fix request_firmware() calls for 2.4 kernels + - Fix invalid schedule_timeout_interruptible() + - wavefront - Use standard firmware loader + - alsa-kernel: schedule_timeout() fixes + + YMFPCI driver + - ymfpci: fix volume handling of the 44.1 kHz slot + + au88x0 driver + - au88x0: mem leak fix in snd_vortex_create() + - au88x0: add dependency to au88x0.c + - au88x0_synth.c bugfix + - PCI: Change all drivers to use pci_device->revision + + ic2-id.h update + - ASoC CS4270 codec device driver + + pci_ids.h update + - 2.6 kernel sync (2007-07-20) + - linux 2.6 sync (2007-07-30) + +Changelog between 1.0.14rc4 and 1.0.14 releases +(http://www.alsa-project.org/changes/v1-0-14rc4--v1-0-14.txt) +******************************************** + +* alsa-driver + + Sound Core + - Add ALSA support for the SEGA Dreamcast PCM device + - Add entries for sh/aica driver + - Fix build with CONFIG_MCORE2 + - disable portman2x4 on pre-2.6 kernels + - release 1.0.14 + - Fix build with the recent openSUSE 10.3 kernels + - release 1.0.14rc4 + - asihpi: disable on pre-2.6 kernels + + ALSA Core + - add MODULE_FIRMWARE entries + - Add wrapper for of_get_property() + - PCI: Cleanup the includes of + + SoC PXA2xx Core + - [ARM] 4304/1: removes the unnecessary bit number from CKENnn_XXXX + + Control Midlevel + - header cleaning: don't include smp_lock.h when not used + - re-include smp_lock.h where needed + + HWDEP Midlevel + - header cleaning: don't include smp_lock.h when not used + - re-include smp_lock.h where needed + + PCM Midlevel + - header cleaning: don't include smp_lock.h when not used + - re-include smp_lock.h where needed + + /soc/Makefile + - SH7760 ASoC support + + AC97 Codec + - Include quirks from Ubuntu Dapper/Edgy/Feisty + + AK4XXX AD/DA converters + - ice1724 - Add PCM Playback Switch to Revo 7.1 + + ALI5451 driver + - ali5451 - Fix possible NULL dereference + - ali5451 - Fix invalid type of codec->irq field + + ALSA<-OSS emulation + - header cleaning: don't include smp_lock.h when not used + - re-include smp_lock.h where needed + + AMD InterWave driver + - Fix probe of non-PnP ISA devices + + ARM PXA2XX driver + - [ARM] 4304/1: removes the unnecessary bit number from CKENnn_XXXX + + Apple Onboard Audio driver + - Add wrapper for of_get_property() + - [POWERPC] Rename device_is_compatible to of_device_is_compatible + + Asihpi driver + - asihpi 3.07.04 + - add MODULE_FIRMWARE entries + - bugfix and clean driver/pci/asihpi/hpi6205.[ch] + + Avance Logic ALS300/300+ driver + - Disable debugging output for the ALS300 driver + + CA0106 driver + - snd-ca0106: Add support for X-Fi Extreme Audio. + - PCI: Cleanup the includes of + + CMI8330 driver + - Fix probe of non-PnP ISA devices + + CREDITS file + - linux 2.6 code sync + + CS4236+ driver + - Fix probe of non-PnP ISA devices + + CS46xx driver + - PCI: Cleanup the includes of + + CS5530 Cyrix/NatSemi VSA1 softaudio init + - Add support for Cyrix/NatSemi Geode CS5530 (VSA1) + + CX88 driver + - 2.6 sync + + Digigram VX Pocket driver + - vxpocket: fix an if() condition + - sound/pcmcia/vx/vxpocket.c: fix an if() condition + + Documentation + - hda-codec - Add AD1884 / AD1984 codec support + - hda-codec - Add support of newer version of Intel iMac + - Add description about probe_mask option for snd-hda-intel + - HDA: Add support for Gateway NX860 + - Add support for Cyrix/NatSemi Geode CS5530 (VSA1) + - hda-codec - Add ALC861VD Lenovo support + - hda-codec - Fix pin configs for Intel Macs + + Dreamcast AICA sound (pcm) driver + - Add ALSA support for the SEGA Dreamcast PCM device + - Add entries for sh/aica driver + + ES18xx driver + - Fix probe of non-PnP ISA devices + + HDA Codec driver + - hda-codec - Add support for ASUS A8J modem + - hda-codec - Add AD1884 / AD1984 codec support + - hda-codec - Add quirk for MSI S420 + - hda-codec - Fix ALC882/861VD codec support on some laptops + - hda-intel: fix ASUS M2V detection + - hda-codec - Add support of newer version of Intel iMac + - hda-codec - Fix AD1988 SPDIF playback route control + - hda-codec - Fix ALC880 uniwill auto-mutes + - hda-codec - Fix a typo + - hda-codec - Add support for new HP DV series laptops + - hda-codec - Fix resume of STAC92xx codecs + - hda-codec - bug fixes for stac92xx HDA codecs. + - hda-codec - Make the mixer capability check more robust + - HDA: Add support for Gateway NX860 + - HDA: Add more systems to Sigmatel codec + - HDA: Fix headphone mute issue on non-eapd Conexant systems + - hda-codec - Add ALC861VD Lenovo support + - Add speaker pin sequencing to hda_codec.c:snd_hda_parse_pin_def_config() + - Include quirks from Ubuntu Dapper/Edgy/Feisty + - hda-codec - Add quirk for Supermicro PDSBA to alc883_cfg_tbl[] + - hda-codec - Add support for MSI K9N Ultra + - hda-codec - Fix pin configs for Gateway MX6453 + - hda-codec - Fix pin configs for Intel Macs + - hda-codec - Fix input with STAC92xx + - hda-codec - Fix STAC922x capture boost level + - hda-codec - Fix wrong mixer controls for AD1984 thinkpad model + + HDA generic driver + - hda_codec.c: add __NO_VERSION__ + - hda-codec - Fix connection list in generic parser + - hda-codec - Fix STAC922x capture boost level + - PCI: Cleanup the includes of + + ICE1724 driver + - ice1724 - Add PCM Playback Switch to Revo 7.1 + + ISA + - Fix SB-module dependency with PCI drivers + - do not depend on FW_LOADER when internal firmware images are used + + Intel8x0 driver + - Include quirks from Ubuntu Dapper/Edgy/Feisty + + MAINTAINERS file + - linux 2.6 code sync + + MSND driver + - add MODULE_FIRMWARE entries + + PCI drivers + - Fix SB-module dependency with PCI drivers + - do not depend on FW_LOADER when internal firmware images are used + - Add support for Cyrix/NatSemi Geode CS5530 (VSA1) + + PDPlus driver + - pdplus - Replace obsolete SA_* flags + + PPC PMAC driver + - Add wrapper for of_get_property() + - [POWERPC] Rename device_is_compatible to of_device_is_compatible + + PPC Tumbler driver + - Add wrapper for of_get_property() + - [POWERPC] Rename device_is_compatible to of_device_is_compatible + + PXA Mainstone driver + - linux 2.6 code sync + + RME9652 driver + - rme9652 - Fix the hw_pointer check + + SAA7134 driver + - 2.6 sync + + SB drivers + - Fix SB-module dependency with PCI drivers + - Add support for Cyrix/NatSemi Geode CS5530 (VSA1) + + SB16/AWE driver + - Add support for Cyrix/NatSemi Geode CS5530 (VSA1) + + SoC Audio for the Samsung S3C24XX chips + - ASoC S3C24xx machine drivers - s3c2443-AC97 + - ASoC S3C24xx machine drivers - Openmoko Neo1973 + - ASoC S3C24xx machine drivers - SMDK 2443 + - ASoC S3C24xx machine drivers - Kconfig + - Add ASoC s3cs4xx ac97 codes + - Fix ASoC s3c24xx-pcm spinlock bug + + SoC Codec AC97 + - ASoC AC97 static GPL symbol fix + - ASoC AC97 device reg bugfix + + SoC Codec WM8750 + - wm8750 typo fix + + SoC Codec WM9712 + - ASoC AC97 device reg bugfix + + SoC Layer + - SH7760 ASoC support + - ASoC AC97 device reg bugfix + + SoC SH7760 AC97 + - SH7760 ASoC support + - Add soc/sh entries + + USB USX2Y + - usbusx2yaudio: kfree(NULL) is valid + + USB generic driver + - usb-audio: explicitly match Logitech QuickCam + - usb-audio: work around broken M-Audio MidiSport Uno firmware + - usb-audio: work around wrong wMaxPacketSize on ESI M4U + - usbaudio - Revert the minimal period size fix patch + - usb-audio: another Logitech QuickCam ID + - usbaudio - Coping with short replies in usbmixer + - usb-audio - Fix the minimum period size per transfer mode + + USB1400 touchscreen driver + - 2.6 sync + + Utils + - Add entries for sh/aica driver + - Mark new SND_SB_* configs in mod-deps.c + - Add entries for soc/sh to mod-deps.c + + Wavefront drivers + - wavefront: only declare isapnp on CONFIG_PNP + + ic2-id.h update + - ASoC S3C24xx machine drivers - I2C ID for LM4857 + +Changelog between 1.0.14rc3 and 1.0.14r4 releases +(http://www.alsa-project.org/changes/v1-0-14rc3--v1-0-14rc4.txt) +******************************************** + +* alsa-driver + + Sound Core + - Add mcore2 and geodegx detection to configure + - remove log2_compat.h + - Use external table for kernel-version dependent drivers + - Check gfp_t in configure + - release 1.0.14rc4 + + ALSA Core + - Add missing exports + - Fix compilation with older kernels + - remove log2_compat.h + - fix wrappers.c compilation with 2.2/2.4 kernels + - fix isa_compat.h compilation with 2.2 kernels + - fix wrappers.c compilation with 2.2 kernels + - Added wrappers of spin_lock*nested() for older kernels + - Fix typos in sound.patch + - 2.6 kernel sync + - Check gfp_t in configure + + SoC PXA2xx Core + - soc - Fix dependencies in Kconfig files + - fix SND_SOC Kconfig + + PCM Midlevel + - pcm_native: lockdep warning when launching jack + + /soc/codecs/Makefile + - ASoC WM8753 codec - build changes + + AC97 Codec + - ac97 - fix AD shared shared jack control logic + - ac97 - Fix MSI L720 laptop + - ac97 - Smart 5.1 for VIA 1617a codec + + AD1816A driver + - ad1816a: Fix modprobe snd_mpu401 && modprobe snd_ad1816a + + AK4114 receiver + - ak4114 - Fix possible Oops with callbacks + - Fix misc bugs in i2c/others/ak4114.c + - ak4114 - Fix a typo in DIF2 bit definition + + ALI5451 driver + - ali5451 - Code clean up, irq handler fix + + ALSA sequencer + - 2.6 kernel sync + + ARM AACI PL041 driver + - 2.6 kernel sync + + AZT3328 driver + - azt3328.c: small cleanup patch + - Fix conflicts between const and __devinitdata + + Apple Onboard Audio driver + - sound: strlcpy is smart enough + - [POWERPC] get_property returns const + - [POWERPC] Rename get_property to of_get_property: sound + - aoa: uevent: use add_uevent_var() instead of open coding it + - aoa: fix a sparse warning + - snd-aoa-i2sbus: use MODULE_DEVICE_TABLE instead of plain MODULE_ALIAS + + Asihpi driver + - asihpi: remove deprecated kmem_cache_t + + BT87x driver + - Fix alsa-devel ML address + + CMI8330 driver + - isa_bus device/driver naming + + CS4236+ driver + - isa_bus device/driver naming + + CS46xx driver + - remove unused header file: sound/pci/cs46xx/imgs/cwcemb80.h + + CX88 driver + - 2.6 sync + + Digigram PCXHR driver + - pcxhr - Minor optimization in trigger callback + + Documentation + - Add description of imac-intel model + - hda-codec - Allow model=generic always for generic parser + - hda-codec - more systems for Analog Devices + - Add Native Instrument usb audio device support + - mpu401 - Add MPU401_INFO_UART_ONLY bitflag + - hda-codec - Add support for MacBook Pro 1st generation + + EMU10K1/EMU10K2 driver + - snd-emu10k1: Prevent E-Mu 1010 Notebook card from hanging PC. + + ES18xx driver + - isa_bus device/driver naming + + ES1968 driver + - es1968 - Fix stuttering capture + + Echoaudio driver + - echoaudio - increase sleep time at loading firmware + + GUS MAX driver + - isa_bus device/driver naming + + Generic drivers + - sound: fix incorrect use of platform_device_register() + + HDA Codec driver + - hda-codec - Fix 8-channel auto-configuration + - hda-intel - Add ATI RS780,R600 HDMI audio support + - snd_hda_intel: fix for intel imac + - hda-codec - Allow opening SPDIF while analog dup mode + - hda-intel - Merge hda-codec module to a single module + - hda-codec - Code clean up + - hda-codec - Add support for Asus A8JN Laptop + - hda-codec - Add line_out_type to auto_pin_cfg struct + - hda-codec - Fix output pin types in auto configuration + - hda-codec - Allow model=generic always for generic parser + - hda-codec - Add missing Mic Boost for AD1986A codec + - hda-codec - Fix logic error in headphone mute for Conexant codecs + - hda-codec - Add suppoprt for Asus M2N-SLI motherboard + - hda-codec - Add Sony VGC-LA1 to patch_sigmatel.c + - hda-codec - Conexant improvements + - hda-codec - Code clean up of patch_sigmatel.c + - hda-codec - more systems for Analog Devices + - hda-codec - Fix Macmini and Macbook pin configs + - hda-codec - Fix SPDIF output + - hda-codec - Add ALC662 support + - hda-codec - Add support of 96kHz back + - hda-codec - clean up patch_realtek.c + - hda-codec - Prefer audio codec name as the mixer name + - hda-codec - Add support for MacBook Pro 1st generation + - hda-codec - Add model for HP Compaq d5750 + - hda-codec - Fix front/rear mic inputs on AD1986A codec + - hda-codec - Add first generation macbook subsystem ID + - HDA-Intel: Fix headphone squeal on Conexant audio + - hda-codec - Fix speaker output on MacPro + - hda-codec - Add model for HP Compaq d5700 + - hda-codec - Fix surround output on AD1986A + - hda-codec - Add support for Gigabyte S-Series GA-M57SLI-S4 motherboard + - hda-codec - Fix model for ASUS A9rp + - Fix NULL dereference with null modelname + - hda-codec - Fix missing array terminators + + HDA Intel driver + - hda-intel - Add ATI RS780,R600 HDMI audio support + - hda-intel - Fix HDA buffer alignment + - hda-intel - Fix codec probe with ATI contorllers + - hda-intel - Fix detection of audio codec on Toshiba A100 + - hda_intel: build fix + - hda-intel - Probe additional slots only if necessary + + HDA generic driver + - hda-intel - Merge hda-codec module to a single module + - hda-codec - Add line_out_type to auto_pin_cfg struct + - hda-codec - Fix SPDIF output + + ICE1712 driver + - ak4114 - Fix possible Oops with callbacks + - ice1724 - call snd_ak4114_build() in juli + - ice1724 - Functioning support for Prodigy 192 + - ice1724 - Misc fixes for Prodigy192 + - ice1712: build fixes + - Fix conflicts between const and __devinitdata + + ICE1724 driver + - ice1724 - Fix AP192 4wire mode access + - ice1724 - Add comments for naming of PCM streams + - ice1724 - Misc fixes for Prodigy192 + - Fix conflicts between const and __devinitdata + + ISA + - Enable Kconfig options for external firmwares + - Kconfig: fix FW_LOADER dependencies + - Kconfig: clarify help text for external firmware entries + + Instrument layer + - 2.6 kernel sync + + Intel8x0 driver + - intel8x0 - Fix Oops in crash kernel + - intel8x0 - Fix speaker output after S2RAM + - intel8x0 - Fix Oops at kdump crash kernel + + KORG1212 driver + - Enable Kconfig options for external firmwares + - Don't use request_firmware if internal firmwares are defined + - Fix patch files for request_firmware() + + MAINTAINERS file + - Fix alsa-devel ML address + + MPU401 UART + - mpu401 - Add MPU401_INFO_UART_ONLY bitflag + - Fix mpu401.patch for uart_enter option + + Maestro3 driver + - Don't use request_firmware if internal firmwares are defined + - Fix patch files for request_firmware() + + PCI drivers + - Enable Kconfig options for external firmwares + - Kconfig: fix FW_LOADER dependencies + - Kconfig: clarify help text for external firmware entries + + PPC PMAC driver + - [POWERPC] Rename get_property to of_get_property: sound + - [POWERPC] Remove old interface find_devices + + PPC Tumbler driver + - [POWERPC] Rename get_property to of_get_property: sound + - [POWERPC] Remove old interface find_devices + + RME HDSP driver + - hdsp - Add support for fine tuning of sample rate support to HDSP 9632 + + RME9652 driver + - hdspm - Support for Master mode of AES32 and recent MADI + + SAA7134 driver + - 2.6 sync + + SB16/AWE driver + - Enable Kconfig options for external firmwares + - Don't use request_firmware if internal firmwares are defined + - Fix patch files for request_firmware() + + SPARC AMD7930 driver + - [SPARC/64] constify of_get_property return: sound + + SPARC cs4231 driver + - [SPARC/64] constify of_get_property return: sound + - Fix compilation error in sparc/cs4231.c + + SoC Audio for the Atmel AT91 System-on-Chip + - ASoC AT91xxxx - SSC port DSP support + - ASoC AT91xxxx eti B1 machine SSC changes + - ASoC AT91xxxx build fix + - Rename soc/at92/at91-i2s.c to at91-ssc.c + - sound: SPIN_LOCK_UNLOCKED cleanup + - soc - Fix dependencies in Kconfig files + - fix SND_SOC Kconfig + + SoC Audio for the Samsung S3C24XX chips + - soc - Fix dependencies in s3c24xx/Kconfig + - ASoC Samsung S3c24xx updates - audio DMA cleanup + - ASoC Samsung S3C24xx updates - i2s + + SoC Codec AC97 + - ASoC export AC97 DAI + + SoC Codec WM8753 + - SoC WM8753 codec support + - Add soc/codecs/wm8753.c for build + + SoC Codec WM9712 + - ASoC WM9712 kmemdup + + SoC Dynamic Audio Power Management + - ASoC DAPM switching for reentrant codec paths + + SoC Layer + - ASoC WM8753 codec - build changes + - soc - Fix dependencies in Kconfig files + - ASoC Kconfig description + - fix SND_SOC Kconfig + + USB + - Add Native Instrument usb audio device support + + USB caiaq + - Add Native Instrument usb audio device support + - Add usb/caiaq entry + - snd-usb-caiaq: Make playback work + + USB1400 touchscreen driver + - 2.6 sync + + Utils + - Rename AT91_SOC_I2S -> AT91_SOC_SSC + - Fix mod-deps to suppress snd-soc-wm8753 + - Use external table for kernel-version dependent drivers + + Wavefront drivers + - Enable Kconfig options for external firmwares + - Don't use request_firmware if internal firmwares are defined + - Fix patch files for request_firmware() + + au88x0 driver + - Delete unused header file sound/pci/au88x0/au88x0_sb.h + + ic2-id.h update + - SoC WM8753 codec support + +Changelog between 1.0.14rc2 and 1.0.14r3 releases +(http://www.alsa-project.org/changes/v1-0-14rc2--v1-0-14rc3.txt) +******************************************** + +* alsa-driver + + Sound Core + - release 1.0.14rc3 + - release 1.0.14rc2 + - We support 2.6.20 kernel, too. + - Fix build with 2.6.21-rc1 kernel + - Add compat linux/log2.h + - Add isa_driver and isa_device wrappers for older kernels + + ALSA Core + - add compatibility struct device_attribute + - add container_of() + - Fix sysfs breakage + - Fix compilation with older kernels (with sysfs changes) + - Add compat linux/log2.h + - 2.6 sync - [PATCH] mark struct file_operations const 9 + - Add isa_driver and isa_device wrappers for older kernels + - cleanup and error reporting for sound/core/init.c + - log2_compat: define bool type if linux kernel is older + - Fix missing inclusion of linux/module.h + - Add a dummy flush_scheduled_work() for older kernels + + SoC PXA2xx Core + - soc - ASoC 0.13 pxa2xx i2s driver + - soc - ASoC 0.13 pxa2xx AC97 driver + - soc - ASoC 0.13 pxa2xx DMA + + Control Midlevel + - 2.6 sync - [PATCH] mark struct file_operations const 9 + - Fix patches for addition of const to f_ops + + HWDEP Midlevel + - 2.6 sync - [PATCH] mark struct file_operations const 9 + - Fix patches for addition of const to f_ops + - snd_hwdep_release() racefix + + PCM Midlevel + - Fix possible invalid memory access in PCM core + - Fix sysfs breakage + - Add snd_pcm_group_for_each_entry() for code cleanup + - 2.6 sync - missing updates from previous patch and more + - Fixed patch for recent const f_ops fixes + + Timer Midlevel + - Remove useless reference to obsolete KERNELD + - Fix patches for addition of const to f_ops + + /soc/Makefile + - ASoC Samsung S3C24xx build + + AC97 Codec + - ac97 - Fix silent output problem with Cx20551 codec + - ac97 - Fix vt1617a build ops + - Remove obsolete snd_ac97_bus stuff from pci/ac97/Makefile + - ac97 - Add Thinkpad X31 and R40 to AD1981x blacklist + - ac97 - Make patch functions static + - Fix ac97_codec.c patch for inclusion of ac97_patch.c + - Remove delayed work properly at free and suspend + + AC97 bus driver + - ac97_bus power management + + AD1848 driver + - Fix __devinit and __devexit issues with sound drivers + - isa_bus: ad1848 + + AK4114 receiver + - snd-ak4114: Fix two array overflows + - Add some more "const", but needs changes in i2c/other/ak4* + - Remove delayed work properly at free and suspend + + AK4117 receiver + - Add some more "const", but needs changes in i2c/other/ak4* + + AK4XXX AD/DA converters + - Add some more "const", but needs changes in i2c/other/ak4* + - Add even more "const" to everything related to TLV + + ALI5451 driver + - Add missing sysfs device assignment for ALSA PCI drivers + - Add snd_pcm_group_for_each_entry() for code cleanup + + ALSA sequencer + - Fix possible deadlocks in sequencer at removal of ports + + ALSA<-OSS emulation + - 2.6 sync - [PATCH] mark struct file_operations const 9 + - Fix patches for addition of const to f_ops + + ARM PXA2XX driver + - Fix __devinit and __devexit issues with sound drivers + - Fix irq handlers for recent kernels + + Adlib FM driver + - isa_bus: adlib + + Apple Onboard Audio driver + - 2.6 kernel sync + - aoa i2sbus: Stop Apple i2s DMA gracefully + - aoa: remove suspend/resume printks + + Asihpi driver + - asihpi fix 64 bit compile error + - asihpi driver 3.05.07 + + BT87x driver + - bt87x - Add ATI TV-Wonder to the supported list + + CA0106 driver + - ca0106 - Add missing sysfs device assignment + - Add snd_pcm_group_for_each_entry() for code cleanup + + CMI8330 driver + - Port the rest of ALSA ISA drivers to isa_driver + - Fix __devinit and __devexit issues with sound drivers + + CMIPCI driver + - cmipci - Allow to disable integrated FM port + + CREDITS file + - 2.6 kernel sync + - 2.6 sync + + CS4231 driver + - Add snd_pcm_group_for_each_entry() for code cleanup + - isa_bus: cs4231 + + CS4236+ driver + - Port the rest of ALSA ISA drivers to isa_driver + + Conexant Riptide driver + - Add missing sysfs device assignment for ALSA PCI drivers + + Digigram VX core + - Add even more "const" to everything related to TLV + + Documentation + - hda-codec - Add ALC861VD/ALC660VD support + - hda-codec - Define pin configs for MacBooks + - hda-codec - Add HP BPC-D7000 support + - Documentation/sound/alsa/DocBook: typos + - ASoC documentation updates + - cmipci - Allow to disable integrated FM port + - mpu401 - Add MPU401_INFO_UART_ONLY bitflag + - Add snd-portman2x4 driver for Midiman Portman 2x4 MIDI device + - Fix irq handler arguments in documents + - hda-codec - Add support for Fujitsu PI1556 Realtek ALC880 + + EMU10K1/EMU10K2 driver + - emu10k1: fix typo + - emu10k1 - Fix ABI for older ld10k1 + - emu10k1 - Fix STAC9758 front channel + + ES1688 driver + - es1688 - code clean-up + - isa_bus: es1688 + + ES18xx driver + - Port the rest of ALSA ISA drivers to isa_driver + + Echoaudio driver + - Add missing sysfs device assignment for ALSA PCI drivers + - echo3g_dsp.c shouldn't include #include + + GUS Classic driver + - isa_bus: gusclassic + + GUS Extreme driver + - isa_bus: gusextreeme + - gusextreme: set codec_flag + + GUS Library + - sound/isa/gus/gus_main.c: Use abs() instead of x < 0 ? -x : x. + + GUS MAX driver + - Port the rest of ALSA ISA drivers to isa_driver + + Generic drivers + - Add even more "const" to everything related to TLV + - make snd-aloop loopback device work + - portman2x4 - do not use irqsave/irqrestore in IRQ handler + - Add snd-portman2x4 driver for Midiman Portman 2x4 MIDI device + - Move portman2x4 driver to alsa-kernel tree. + - Fix __devinit and __devexit issues with sound drivers + - Fix a typo in __dev* changes in portman2x4.c + - Fix irq handlers for recent kernels + - portman2x4 code cleanup + - portman2x4 - Fix callbacks + + HDA Codec driver + - hda-codec - Add ALC861VD/ALC660VD support + - hda-codec - Define pin configs for MacBooks + - hda-codec - Add HP BPC-D7000 support + - hda-codec - Fix Oops with probing sigmatel codec chips + - hda-codec - Add method for configuring Mac Pro without PCI SSID + - hda-codec - Fix models for some lpatops/mobos + - hda-codec - Add missing Mic Boost controls for ALC262 + - hda-codec - More fixes for Conexant HD Audio support + - hda-codec - Patch for enabling LFE on more Dell laptops + - hda-codec - Dell Latitude D820 + D/Port + - hda-codec - Add support for Fujitsu PI1556 Realtek ALC880 + - hda-codec - Add LFE support on Dell M90 + - hda-codec - Missing Mic Boost on Realtek ALC882/883 + - hda-codec - Add model for Uniwill X40AIx + + HDA Intel driver + - hda-intel - Don't try to probe invalid codecs + - hda-intel - Add black/whitelist for position_fix option + + ICE1712 driver + - ice1712 - Reorganize existing eeprom data + - Add "const" to files in pci/ice1712/ + - Add some more "const", but needs changes in i2c/other/ak4* + + ICE1724 driver + - Add "const" to files in pci/ice1712/ + + ISA + - msnd-pinnacle: replace mod_firmware_load() with request_firmware() + + MAINTAINERS file + - 2.6 kernel sync + - 2.6 sync + - 2.6 sync - missing updates from previous patch and more + + MPU401 UART + - mpu401 - Add MPU401_INFO_UART_ONLY bitflag + + MSND driver + - msnd-pinnacle: replace mod_firmware_load() with request_firmware() + + OSS device core + - 2.6 sync - missing updates from previous patch and more + + Opti9xx drivers + - Add snd_pcm_group_for_each_entry() for code cleanup + + PPC Tumbler driver + - Fix tumbler.patch + + RME9652 driver + - Add missing sysfs device assignment for ALSA PCI drivers + + RTC timer driver + - is_power_of_2 in rtctimer.c + + SAA7134 driver + - 2.6 sync - missing updates from previous patch and more + + SPARC cs4231 driver + - Sparc CS4231: Fix IRQ return value and initialization. + - Sparc CS4231: Use 64 for period_bytes_min + + SoC Audio for the Atmel AT91 System-on-Chip + - soc - ASoC 0.13 AT91xxxx slave patch + - soc - ASoC 0.13 AT91xxxx I2S + - soc - ASoC 0.13 AT91xxxx DMA + - soc - ASoC 0.13 AT91xxxx Eti_B1 board support + - Change AT91 PDC register defines for 2.6.20 kernel + + SoC Audio for the Samsung S3C24XX chips + - ASoC Samsung S3C24xx I2S support + - ASoC Samsung S3C24xx audio DMA + - ASoC Samsung S3C24xx build + - Fix build with soc/s3c24xx-* drivers + + SoC Codec AC97 + - soc - ASoC 0.13 generic AC97 codec + + SoC Codec WM8731 + - soc - ASoC 0.13 WM8731 codec + - soc - Clean up with kmemdup() + - ASoC codec error reporting + - ASoC WM8731 support for 32k @ 12MHz sysclk + + SoC Codec WM8750 + - soc - ASoC 0.13 WM8750 codec driver + - soc - Clean up with kmemdup() + - ASoC codec error reporting + + SoC Codec WM9712 + - soc - ASoC 0.13 WM9712 codec driver + - soc - Fix WM9712 register cache entry + - soc - WM9712 PCM volume + - ASoC codec error reporting + + SoC Dynamic Audio Power Management + - soc - 0.13 ASoC DAPM bug fix for unnamed streams + - soc - Clean up with kmemdup() + + SoC Layer + - soc - 0.13 ASoC headers + - soc - ASoC 0.13 core changes + - SoC codecs - fix Kconfig - depends -> depends on + - ASoC very minor coding style fix for snd_soc_new_pcms() + - ASoC codec probe failure bug + - ASoC Samsung S3C24xx build + - ASoC force running of delayed PM work at suspend() and remove() + + SoC PXA2xx Corgi + - soc - ASoC Sharp corgi machine + + SoC PXA2xx Poodle + - soc - ASoC 0.13 Sharp poodle machine + + SoC PXA2xx Spitz + - soc - ASoC 0.13 spitz machine + + SoC PXA2xx Tosa + - soc - ASoC 0.13 Sharp tosa machine + + USB generic driver + - usbaudio - remove urb->bandwidth reference + - usb-audio: add PCR-A PCM support + - usbaudio - Add support for Edirol UA-101 + - usbaudio - Fix Oops with unconventional sample rates + - usbaudio - Fix Oops with broken usb descriptors + + Utils + - Fix build with soc/s3c24xx-* drivers + + pci_ids.h update + - 2.6 sync + +Changelog between 1.0.14rc1 and 1.0.14r2 releases +(http://www.alsa-project.org/changes/v1-0-14rc1--v1-0-14rc2.txt) +******************************************** + +* alsa-driver + + Sound Core + - we support 2.6.19 kernel as well + - Add missing soc directory to Makefile + - release 1.0.14rc2 + - release 1.0.14rc1 + - [PATCH] remove config ordering/dependency between ucb1400-ts and sound subsystem + - 2.6 sync: all remaining one line changes + - Fix broken build with ac97_bus module + + ALSA Core + - reflect 'struct device *' changes from 2.6, add SND_AC97_BUS kernel dependancy + - reflect new workqueue changes (alsa-driver tree is compilable again on 2.6.16) + - Driver core: convert sound core to use struct device + - 2.6 sync: just correction of wrong merge + - 2.6 sync: [PATCH] struct path: convert sound + - Improved delayed_work wrapper + + SoC PXA2xx Core + - Fix AC97_BUS in soc/pxa/Kconfig + + PCM Midlevel + - reflect 'struct device *' changes from 2.6, add SND_AC97_BUS kernel dependancy + - [PATCH] mm: incorrect VM_FAULT_OOM returns from drivers + - Driver core: convert sound core to use struct device + - 2.6 sync: [PATCH] struct path: convert sound + - 2.6 sync: all remaining one line changes + + /misc/Makefile + - Fix broken build with ac97_bus module + + /oss/Makefile + - 2.6 sync: [PATCH] The scheduled removal of some OSS drivers + + AC97 Codec + - reflect new workqueue changes (alsa-driver tree is compilable again on 2.6.16) + - ac97 - fix various issues with AD1986/AD1986A support + - ac97 - Fix vt1617a build ops + - [PATCH] remove config ordering/dependency between ucb1400-ts and sound subsystem + - 2.6 sync: WorkStruct: make allyesconfig + - 2.6 sync: fix broken merge + - ac97 - fix malfunctioning mixer controls for AD1985 + - ac97: Identify CMI9761 chips. + - Remove AC97 POP control for STAC9708/11 + - Improved delayed_work wrapper + - ac97 - fix microphone and line_in selection logic + + AC97 bus driver + - [PATCH] remove config ordering/dependency between ucb1400-ts and sound subsystem + - Fix broken build with ac97_bus module + + AK4114 receiver + - reflect new workqueue changes (alsa-driver tree is compilable again on 2.6.16) + - 2.6 sync: WorkStruct: make allyesconfig + - Improved delayed_work wrapper + - ak4114 - Use global workqueue + + ALSA<-OSS emulation + - getting rid of all casts of k[cmz]alloc() calls + + ARM AACI PL041 driver + - arm header fix + + Apple Onboard Audio driver + - snd-aoa: fix onyx resume + - sound: aoa of_node_put and kfree cleanup + - 2.6 sync: WorkStruct: make allyesconfig + + Asihpi driver + - Update to Audioscience asihpi driver + - ALSA sanitization for ASIHPI driver + + CA0106 driver + - ca0106: Fix sound capture on Audigy LS via AC97. + + CMIPCI driver + - _snd_cmipci_uswitch_put doesn't set zero flags + + CREDITS file + - 2.6 GIT kernel sync + + CX88 driver + - 2.6 GIT kernel sync + + Digigram VX Pocket driver + - 2.6 sync: [PATCH] pcmcia: conf.ConfigBase and conf.Present consolidation + + Documentation + - hda-codec - Add support for Sigmatel STAC9202/9250/9251 codecs + - hda-codec - Add support for Samsung Q1 Ultra + - 2.6 sync: Fix typos in /Documentation : 'U-Z' + - 2.6 sync: all remaining one line changes + - Fix typo and add entry to documentation + + EMU10K1/EMU10K2 driver + - emu10k1: Update registers defines for the Audigy 2/emu10k2.5 + + Generic drivers + - pc-speaker driver for 2.6.19 + - [PATCH] remove config ordering/dependency between ucb1400-ts and sound subsystem + + HDA Codec driver + - hda-codec (realtek): add support for MacPro series workstations + - hda: add sigmatel 9205 eapd support + - hda-codec - Add quirk for Turbo-X Coeus G610P + - hda-codec - Change default config for Asus P5GD1 + - hda-codec - Add support for Toshiba M105 to Realtek patch + - hda-codec - Add support for Sigmatel STAC9202/9250/9251 codecs + - hda-codec - Add support for Samsung Q1 Ultra + - sound: hda: detect ALC883 on MSI K9A Platinum motherboards (MS-7280) + - 2.6 sync: WorkStruct: make allyesconfig + - hda-codec - Add Asus P5W DH to alc882_cfg_tbl + - sound: Change final two instances of kcalloc(1,...) to kzalloc() + - hda-codec - Use global workqueue + - hda-codec - add ASUS W7J (0x1043, 0x1205) to quirk list - 3stack + - Fix a typo in the last patch_realtek.c change + + HDA generic driver + - hda-codec - Fix NULL dereference in generic hda code + - hda-codec - Use global workqueue + - Fix hda_codec.patch for workqueue changes + + ICE1712 driver + - ice1724 - Add support for Prodigy 7.1 XT + - Add support of the ESI Waveterminal 192M to the ice1724 ALSA driver + + Intel8x0 driver + - 2.6 sync: [PATCH] Merge headphone and speaker volume controls for Panasonic R4 laptop + + MAINTAINERS file + - 2.6 GIT kernel sync + + OSS device core + - Driver core: convert sound core to use struct device + - 2.6 sync: [PATCH] The scheduled removal of some OSS drivers + + OSS firmware core + - 2.6 sync: [PATCH] struct path: convert sound + + PCI drivers + - Update to Audioscience asihpi driver + + PDAudioCF driver + - 2.6 sync: [PATCH] pcmcia: conf.ConfigBase and conf.Present consolidation + - 2.6 sync: [PATCH] pcmcia: IDs for Elan serial PCMCIA devcies + + PXA Mainstone driver + - 2.6 GIT kernel sync + + SA11xx UDA1341 driver + - 2.6 sync: all remaining one line changes + + SPARC DBRI driver + - sparc dbri comment fix + + Serial BUS drivers + - reflect new workqueue changes (alsa-driver tree is compilable again on 2.6.16) + - Improved delayed_work wrapper + + SoC Audio for the Atmel AT91 System-on-Chip + - Solve typos/compilation problems for debug functions in soc-dapm and at91-i2s + - ASoC at91 - Fix NULL pointer dereference in at91_i2s_shutdown + + SoC Codec WM8750 + - soc - Fix delayed_work related changes on 2.6.20 kernel + - soc - Use global workqueue + + SoC Codec WM9712 + - Remove trailing white space from wm9712.c + + SoC Layer + - Fix the soc code after dhowells workqueue changes. + - Additional credits to soc-core + - soc - Fix delayed_work related changes on 2.6.20 kernel + - soc - Use global workqueue + + USB USX2Y + - [PATCH] mm: incorrect VM_FAULT_OOM returns from drivers + - Repair snd-usb-usx2y over OHCI + - Fix usx2yaudio patches + + USB generic driver + - usb: usbmixer error path fix + - usbaudio - Fix kobject_add() error at reconnection + - usb: usbmixer free kill urb cleanup + - 2.6 sync: usb: usbmidi kill urb cleanup + - usbaudio.c: remove unneeded casts + + USB1400 touchscreen driver + - 2.6 sync + - ucb1400_ts.c compilation fix (struct snd_ac97) + + Utils + - reflect 'struct device *' changes from 2.6, add SND_AC97_BUS kernel dependancy + - pc-speaker driver for 2.6.19 + - Fix broken build with ac97_bus module + +Changelog between 1.0.13 and 1.0.14rc1 releases +(http://www.alsa-project.org/changes/v1-0-13--v1-0-14rc1.txt) +******************************************** + +* alsa-driver + + Sound Core + - Move description of DEVFS to INSTALL file + - ASoC: Build files + - Add support of ASoC + - Update SUPPORTED_KERNELS + - Avoid double inclusion of linux/autoconf.h + - add request_firmware() wrapper for older kernels + - fix asihpi compilation on 2.2 kernels + - Fix build with 2.2/2.4 kernels + - [PATCH] build sound/sound_firmware.c only for OSS + - 2.4 kernel build fixes + - release 1.0.14rc1 + - Add i2c-id.h header mangling (compatibility layer) + - Fix build with the latest 2.6.19-git + - Add a dummy linux/latency.h for older kernels + + ALSA Core + - Add PCI quirk list helper function + - Fix compilation with older kernels + - Handle file operations during snd_card disconnects using static file->f_op + - Regenerate init.patch for the fix of disconnect + - acore/init.patch fix - linux 2.2 does not have owner member + - Add support of ASoC + - add min_t wrapper + - add BUILD_BUG_ON wrapper for earlier kernels + - update list_for_each_entry() macro + - add schedule_delayed_work() wrapper + - use the ALIGN macro + - use the roundup macro + - add list helpers for older kernels + - add fastcall macro for older kernels + - add IORESOURCE_CACHEABLE symbol for older kernels + - add request_firmware() wrapper for older kernels + - add __constant_cpu_to_le32() for older kernels + - add a local_irq_enable() wrapper for older kernels + - Fix build with 2.2/2.4 kernels + - fix compilation with gcc 2 + - Replace vsnprintf() wrapper + - [HEADERS] One line per header in Kbuild files to reduce conflicts + - Remove obsolete typedefs.h + - Add i2c-id.h header mangling (compatibility layer) + - allow registering an alsa device with struct device pointer + - Fix sound.patch for snd_register_device_for_dev() + - alsa core: convert to list_for_each_entry* + - [2.6.19-SYNC] namespaces: utsname: use init_utsname when appropriate + - [2.6.19-SYNC] Remove all inclusions of + - Fix build with the latest 2.6.19-git + - Add missing change for config.h.in + - Fix build with DEVFS + - Add a dummy wrapper for pci_intx() + - Force to read linux/autoconf.h for 2.6.18 or later + - Add kmemdup() wrapper + - Add a dummy linux/latency.h for older kernels + - Fix wrong kfree in free_irq wrapper + - Add a wrapper for pci_choose_state() for older kernels + - Fix re-use of va_list + + SoC PXA2xx Core + - Add missing soc/pxa entries + - ASoC pxa2xx DMA support + - ASoC pxa2xx I2S support + - ASoC pxa2xx AC97 support + - ASoC pxa2xx build support + + Control Midlevel + - make sound/core/control.c:snd_ctl_new() static + - alsa core: convert to list_for_each_entry* + - Fix addition of user-defined boolean controls + - sound/core/control.c: remove dead code + + HWDEP Midlevel + - Dereference after free in snd_hwdep_release() + - hwdep_compat missed __user annotations + - alsa core: convert to list_for_each_entry* + + PCM Midlevel + - pcm core: add prealloc_max file to substream directory to show maximum DMA size + - pcm core: fix silence_start calculations + - [PATCH] maximum latency tracking: ALSA support + - [PATCH] Remove readv/writev methods and use aio_read/aio_write instead + - add struct snd_pcm_substream forward declaration + - sound: fix PCM substream list + - alsa core: add struct device pointer to struct snd_pcm + - alsa core: convert to list_for_each_entry* + - Fix hang-up at disconnection of usb-audio + - Fix compilation of pcm_native.c + + RawMidi Midlevel + - sound: initialize rawmidi substream list + + /soc/Makefile + - ASoC: Build files + - ASoC codecs: build files + - ASoC AT91RM92000 build + - Add support of ASoC + - ASoC pxa2xx build support + + /soc/codecs/Makefile + - ASoC codecs: build files + + /soc/pxa/Makefile + - Add missing soc/pxa entries + - ASoC pxa2xx build support + + AC97 Codec + - ASoC: core and dapm headers + - ac97 - enables sound output through speakers on MSI S250 laptop + - ac97_codec - trivial fix for bit update functions + - ac97_codec (ALC655): add EAPD hack for MSI L725 laptop + - Fix AC97 power-saving mode + - ac97 - Suppress power-saving mode on non-supporting drivers + - ac97 - Fix potential negative array index + + AD1816A driver + - sound/isa/ad1816a/ad1816a.c: check kmalloc() return value + + AD1889 driver + - Remove IRQF_DISABLED for shared PCI irqs + + AK4XXX AD/DA converters + - Enable capture from line-in and CD on Revolution 5.1 + + ALI5451 driver + - Remove IRQF_DISABLED for shared PCI irqs + - Various fixes for suspend/resume of ALSA PCI drivers + + ALS4000 driver + - Various fixes for suspend/resume of ALSA PCI drivers + + ALSA<-OSS emulation + - Fix races in PCM OSS emulation + - Fix hang-up at disconnection of usb-audio + + AMD InterWave driver + - sound/isa/gus/interwave.c: check kmalloc() return value + - [2.6.19-SYNC] Various drivers' irq handlers: kill dead code, needless casts + + ARM AACI PL041 driver + - arm header fix + - [2.6.19-SYNC] IRQ: Maintain regs pointer globally rather than passing to IRQ handlers + + ARM PXA2XX driver + - [2.6.19-SYNC] IRQ: Maintain regs pointer globally rather than passing to IRQ handlers + + ATIIXP driver + - atiixp - Use quirk list helper function + - atiixp - Add a parameter ac97_quirk + - ac97 - Suppress power-saving mode on non-supporting drivers + + ATIIXP-modem driver + - ac97 - Suppress power-saving mode on non-supporting drivers + + Apple Onboard Audio driver + - [POWERPC] sound: Constify & voidify get_property() + - [PATCH] aoa is pmac-only + - create device symlink in snd-aoa + - create driver symlink in snd-aoa /sys/bus/aoa-soundbus/devices/*/ + - aoa: set device pointer in pcms + - aoa: fix up i2sbus_attach_codec + - [2.6.19-SYNC] IRQ: Maintain regs pointer globally rather than passing to IRQ handlers + - [2.6.19-SYNC] Remove all inclusions of + - Enable stereo line input for TAS codec + - sound: Don't include i2c-dev.h + + Asihpi driver + - Fix build with the latest 2.6.19-git + + Avance Logic ALS300/300+ driver + - Fix obsolete *_t typedefs + - Various fixes for suspend/resume of ALSA PCI drivers + + CA0106 driver + - snd-ca0106: Updated Enum control names. + - snd-ca0106: Add new card variant. + - snd-ca0106: Fix typos. + - Fix invalid assignment of PCI revision + + CMI8330 driver + - sound/isa/cmi8330.c: check kmalloc() return value + + CREDITS file + - sync kernel subdirectory with 2.6 GIT tree + - 2.6 kernel sync - kernel subdirectory + + Documentation + - Fix documentation of ASoC + - hda-codec - Use snd_pci_quirk_lookup() for board config lookup + - ASoC: documentation & maintainer + - hda-codec - Add support for Medion laptops + - atiixp - Add a parameter ac97_quirk + - make sound/core/control.c:snd_ctl_new() static + - hda-codec - Add asus model to ALC861 codec + - ice1724 - Add support of M-Audio Audiophile 192 + - ASoC: Add support for BCLK based on (Rate * Chn * Word Size) + - hda-codec - Clevo M540JE, M550JE laptops (Nvidia MCP51 chipset, ALC883 codec) + - hda-codec - Add support for Sony UX-90s + - hda-intel - Disable MSI support as default + - Remove IRQF_DISABLED for shared PCI irqs + - Fix typos in documents + - Add description about spdif_aclink option for snd-intel8x0 + - hda-codec - Add toshiba model to ALC861 codec + - hda-codec - Add new modesl for Realtek codecs + - hda-codec - Add asus-laptop model for ALC861 (ALC660) + + EMU10K1/EMU10K2 driver + - Fix a typo in Makefile + - emu10k1: fix request_firmware() parameters on older kernels + - snd_emu10k1: Added support for 14dB Attenuation PADS on DACs and ADCs. + - snd-emu10k1: Update Enum naming. + - snd-emu10k1: Fix capture for one variant. + - snd-emu10k1: Added support for emu1010, including E-Mu 1212m and E-Mu 1820m + - Fix invalid assignment of PCI revision + - emu10k1 - Fix compile warning + - snd-emu10k1: Add emu1010 internal clock rate control for 44100 or 48000. + - snd-emu10k1: emu1010: replace long udelay with msleep. + - emu10k1: Introduce header file for p17v chip. + - emu10k1: Add Audio capture support for Audigy 2 ZS Notebook. + - emu10k1: Rename the digital optical capture control for the Audigy 2 ZS + - emu10k1: Fix outl() in snd_emu10k1_resume_regs() + + ENS1370/1+ driver + - ens1371 - Clean up quirks + + Echoaudio driver + - echoaudio, add TLV support + - Update echoaudio patches + - Fix potential NULL pointer dereference in echoaudio midi + - echoaudio: fix compilation on older kernels + - [PATCH] kmemdup: some users + + GUS MAX driver + - [2.6.19-SYNC] Various drivers' irq handlers: kill dead code, needless casts + + Generic drivers + - Clean up serial-u16500.c + - [PATCH] NULL noise removal + - Fix build with the latest 2.6.19-git + - Fix trailing spaces in pcsp driver + + HDA Codec driver + - hda-codec - Use snd_pci_quirk_lookup() for board config lookup + - hda-codec - Add support for Medion laptops + - hda-codec - Add model entry for ASUS U5F laptop + - hda-codec - Add missing comma + - hda: fix sigmatel dell system detection + - hda: fix typo for xw4400 PCI sub-ID + - hda-codec - Fix model for ASUS M2N-MX + - hda-codec - Add support for Evesham Voyager C530RD laptops + - make sound/pci/hda/patch_sigmatel.c:stac92xx_dmic_labels[] static + - hda-codec - Add missing array to conexant driver + - hda_intel: add ATI RS690 HDMI audio support + - hda-codec - Add asus model to ALC861 codec + - hda-codec - Change Gigabyte K8N51 from 6stack to 6stack-digout + - hda-codec - Fix ALC861 connection of front-output + - hda-codec - Add model for ASUS W3j laptop + - Fix obsolete *_t typedefs + - hda: add dig mic support for sigmatel codecs + - hda-codec - Clevo M540JE, M550JE laptops (Nvidia MCP51 chipset, ALC883 codec) + - hda-codec - Fix model for ASUS V1j laptop + - hda-codec - Fix detection of supported sample rates + - Add Conexant audio support to the HD Audio driver + - hda-codec - Add support for Sony UX-90s + - snd_hda_intel 3stack mode for ASUS P5P-L2 + - hda-codec - Fix compile warnings without CONFIG_SND_DEBUG + - hda-codec - Make internal speaker work on Acer C20x tablets + - hda-codec - Fix wrong error checks in patch_{realtek,analog}.c + - hda-codec - Don't return error at initialization of modem codec + - hda-codec - Add toshiba model to ALC861 codec + - hda-codec - Add new modesl for Realtek codecs + - hda-codec - Add model for HP q965 + - hda-codec - Fix model for Lenovo A60 desktop + - hda-codec - fix typo in PCI IDs + - hda-codec - Add asus-laptop model for ALC861 (ALC660) + - hda-codec - Add support for VIA VT1708(A) HD audio codec + - hda-codec - Add support for VIA VT1708(A) HD audio codec + - hda-codec - Fix assignment of PCM devices for Realtek codecs + + HDA Intel driver + - hda_intel: increase maximum DMA buffer size to 1024MB + - hda_intel: add ATI RS690 HDMI audio support + - hda-intel - Add check of MSI availabity + - hda-intel - Disable MSI support as default + - hda-intel - Disable INTX when MSI is used + - Audio: Add nvidia HD Audio controllers of MCP67 support to hda_intel.c + - hda_intel: ALSA HD Audio patch for Intel ICH9 + + HDA generic driver + - hda-codec - Use snd_pci_quirk_lookup() for board config lookup + - hda-codec - Verbose proc output for PCM parameters + - hda-codec - Fix a typo + - hda-codec - Add support for VIA VT1708(A) HD audio codec + + ICE1724 driver + - ice1724 - Add support of M-Audio Audiophile 192 + - Enable capture from line-in and CD on Revolution 5.1 + + ISA + - Fix dependency of snd-adlib driver in Kconfig + + Intel8x0 driver + - intel8x0 - Add spdif_aclink option + - intel8x0 - Use pci_iomap + - Add pci_iomap compat layer for intel8x0[m] drivers + - ac97 - Suppress power-saving mode on non-supporting drivers + + Intel8x0-modem driver + - intel8x0 - Use pci_iomap + - Add pci_iomap compat layer for intel8x0[m] drivers + + KORG1212 driver + - korg1212: add request_firmware() + - korg1212: fix printk format warning + - [2.6.19-SYNC] Various drivers' irq handlers: kill dead code, needless casts + + MAINTAINERS file + - ASoC: documentation & maintainer + - sync kernel subdirectory with 2.6 GIT tree + - 2.6 kernel sync - kernel subdirectory + + MIPS AU1x00 driver + - [PATCH] sound/mips/au1x00: Use ARRAY_SIZE macro + + MSND driver + - Fix build with the latest 2.6.19-git + + Maestro3 driver + - maestro3 - Use quirk list helper function + - Update maestro3.patch + - maestro3: add request_firmware() + + Memalloc module + - alsa core: convert to list_for_each_entry* + + NM256 driver + - nm256 - Use quirk list helper function + + OSS device core + - [PATCH] build sound/sound_firmware.c only for OSS + + OSS firmware core + - [PATCH] build sound/sound_firmware.c only for OSS + + Opti9xx drivers + - sound/isa/opti9xx/opti92x-ad1848.c: check kmalloc() return value + + PCI drivers + - pci: select FW_LOADER instead of depending on it + - emu10k1: select FW_LOADER + - ymfpci: add request_firmware() + + PCI iomap compatibility layer + - Add pci_iomap compat layer for intel8x0[m] drivers + - Add fastcall check to pci/pci_iomap_compat.c + + PDAudioCF driver + - [2.6.19-SYNC] missing include in pdaudiocf_irq + + PPC Tumbler driver + - [POWERPC] sound: Constify & voidify get_property() + + RME HDSP driver + - hdsp: support for mixer matrix of RME9632 rev 152 + - hdsp: precise_ptr control switched off by default + - hdsp - Add DDS register support for RME9632 rev >= 152 + + RME9652 driver + - hdspm - Fix printk warnings + - hdspm: Add support for AES32 + + RTC timer driver + - rtctimer: handle RTC interrupts with a tasklet + + SAA7134 driver + - V4L/DVB (4613): Unmute/mute saa7134 when opening/closing the audio capture device + - 2.6 kernel sync - kernel subdirectory + + SB drivers + - sb16: add request_firmware() + - Remove IRQF_DISABLED for shared PCI irqs + + SB16/AWE driver + - sb16: add request_firmware() + + SPARC AMD7930 driver + - [SOUND] sparc/amd7930: Use __devinit and __devinitdata as needed. + + SPARC DBRI driver + - [PATCH] NULL noise removal + - [PATCH] sound/sparc/dbri: Use ARRAY_SIZE macro + + Serial BUS drivers + - pt2258: add to export-objs + - Enable the analog loopback of the Revolution 5.1 + + SoC Audio for the Atmel AT91 System-on-Chip + - Update AT91 ASoC driver for 2.6.19 kernel. + - Renamed to at91-*.c + - ASoC AT91RM92000 audio DMA + - ASoC AT91RM92000 I2S support + - ASoC AT91RM92000 eti_b1 machine support + - ASoC AT91RM92000 build + - ASoC DAI capabilities labelling + - Remove trailing whitespaces from soc/* files + - ASoC AT91 DAI modes update + - Fix irq handler in soc/at91/at91rm9200-i2s.c + - Fix mask to stop AT91 SSC clock on shutdown + + SoC Codec AC97 + - ASoC codecs: generic AC97 support + + SoC Codec WM8731 + - ASoC codecs: WM8731 support + - ASoC DAI capabilities labelling + - Remove trailing whitespaces from soc/* files + - ASoC - mixer name changes for older OSS app support + - ASoC: Add support for BCLK based on (Rate * Chn * Word Size) + + SoC Codec WM8750 + - ASoC codecs: WM8750 support + - ASoC - mixer name changes for older OSS app support + - ASoC: Add support for BCLK based on (Rate * Chn * Word Size) + + SoC Codec WM9712 + - ASoC codecs: WM9712 support + + SoC Dynamic Audio Power Management + - ASoC: core and dapm headers + - ASoC: dynamic audio power management (DAPM) + - sound/soc/soc-dapm.c: make 4 functions static + + SoC Layer + - ASoC: core and dapm headers + - ASoC: core code + - ASoC: Build files + - ASoC codecs: build files + - ASoC AT91RM92000 build + - ASoC debug output build breakage + - ASoC - Bit clock matching error + - soc-core: fix multi-line string literal + - ASoC - Fix build warnings in soc-core.c + - ASoC pxa2xx build support + - ASoC: Add support for BCLK based on (Rate * Chn * Word Size) + + SoC PXA2xx Corgi + - Add missing soc/pxa entries + - ASoC pxa2xx Corgi machine support + + SoC PXA2xx Poodle + - Add missing soc/pxa entries + - ASoC pxa2xx Poodle machine support + + SoC PXA2xx Spitz + - ASoC pxa2xx Spitz machine support + + SoC PXA2xx Tosa + - ASoC pxa2xx Tosa machine support + + USB USX2Y + - usb-usx2y: fix the start_frame fix + - Fix bug in snd-usb-usx2y's usX2Y_pcms_lock_check() + - Repair snd-usb-usx2y for usb 2.6.18 + - Repair snd-usb-usx2y for usb 2.6.18 + + USB generic driver + - usb-audio: work around wrong frequency in CM6501 descriptors + - USB: Dealias -110 code (more complete) + - [PATCH] kmemdup: some users + - Fix hang-up at disconnection of usb-audio + - usb-audio: merge playback/capture hardware information structs + - usb-audio: allow pausing + - sound/usb/usbaudio: Handle return value of usb_register() + + Utils + - Add some soc configs to no_cards + - pc-speaker driver update for 2.6.18 + + VIA82xx driver + - via82xx - Use quirk list helper function + - via82xx: add __devinitdata + + Wavefront drivers + - wavefront: simplify YSS225 register initialization + - wavefront: add request_firmware() + + YMFPCI driver + - Current driver does not utilize 44.1kHz high quality sampling rate converter. + - ymfpci: fix compilation on 2.4 kernels + - Fix invalid assignment of PCI revision + - ymfpci: fix swap_rear for S/PDIF passthrough + - ymfpci: add request_firmware() + + au88x0 driver + - sound/pci/au88x0/au88x0.c: ioremap balanced with iounmap + + ic2-id.h update + - ASoC codecs: WM8731 support + - ASoC codecs: WM8750 support + - added kernel/include/linux/i2c-id.h file from 2.6 mainstream + + pci_ids.h update + - sync kernel subdirectory with 2.6 GIT tree + - 2.6 kernel sync - kernel subdirectory + +Changelog between 1.0.12 and 1.0.13 releases +(http://www.alsa-project.org/changes/v1-0-12--v1-0-13.txt) +******************************************** + +* alsa-driver + + Sound Core + - Fix detection of CONFIG_I2C_POWERMAC + - release 1.0.13 + - release 1.0.13rc3 + - release 1.0.13rc1 + - Fix check of CONFIG_VIDEO_V4L1 on 2.6.18 kernel + - Fix hacked linux/autoconf.h generation in configure + - Fix build of snd-aoa drivers + - release 1.0.13rc2 + + ALSA Core + - fix compatibility code + - add Dell PCI ID + - fix struct device incompatibility with 2.2.x kernels + - Add wrappers for early 2.6 kernels + - sound core: Use SEEK_{SET,CUR,END} instead of hardcoded values + - Add definitions of SEEK_SET & co for old kernels + - Add dummy wrapper of pci_{enable,disable}_msi() + - Add pcm_class attribute to PCM sysfs entry + - Add workaround for sysfs stuff for older kernels + + Control Midlevel + - Return error if no user TLV is defined + - Add the definition of linear volume TLV + - Add missing compat ioctls for ALSA control API + - Fix errors with user TLV_WRITE + - Add definition of TLV dB range compound + + HWDEP Midlevel + - Dereference after free in snd_hwdep_release() + + PCM Midlevel + - Add pcm_class attribute to PCM sysfs entry + + AC97 Codec + - Add TLV support to AC97 codec driver + - ac97 - Fix VIA EPIA sound problem + - ac97: Fix AD1819 volume range + - ac97: correct some Mic mixer elements + - Fix WM9705 AC97 patch build error + - ac97 - Enable S/PDIF on ASUS P5P800-VM mobo + - WM9712 fixes for ac97_patch.c + + AD1816A driver + - Add dB scale information to ad1816a driver + + AD1848 driver + - Add dB scale information to ad1848 driver + + AK4531 codec + - Add dB scale information to ak4531 codec + + AK4XXX AD/DA converters + - ak4xxx - Remove bogus IPGA controls + - Fix volume control for the AK4358 DAC + - Clean up and add TLV support to AK4xxx i2c driver + + ALSA Version + - global: remove include/version.h + + Apple Onboard Audio driver + - aoa: add locking to tas codec + - Fix build of snd-aoa drivers + + CS4281 driver + - Add dB scale information to cs4281 driver + + Digigram PCXHR driver + - Add dB scale information to pcxhr driver + + Digigram VX Pocket driver + - Add missing dB scale information to vxpocket driver + - Add missing dB scale information to vxpocket driver + - Add dB scale information to vxpocket and vx222 drivers + - Add dB scale information to vxpocket driver + + Digigram VX core + - Add dB scale information to vxpocket and vx222 drivers + + Digigram VX222 driver + - Add dB scale information to vxpocket and vx222 drivers + + Documentation + - hda-codec - Add 5 stack audio support for Intel 965 systems + - hda-intel - Fix pci_disable_msi() call + - hda-codec - Fix for Acer laptops with ALC883 codec + - hda-codec - Support for SigmaTel 9872 + - hda-codec - Add support for LG LW25 laptop + + EMU10K1/EMU10K2 driver + - make sound/pci/emu10k1/emu10k1.c:snd_emu10k1_resume() static + + ES18xx driver + - Fix memory leak in sound/isa/es18xx.c + + ES1938 driver + - ES1938: remove duplicate field initialization + - Add dB information to es1938 driver + + ES1968 driver + - es1968: Fix hw volume + + FM801 driver + - Add dB scale information to fm801 driver + + GUS Library + - gus: Use SEEK_{SET,CUR,END} instead of hardcoded values + + Generic drivers + - Move CONFIG_SND_AC97_POWER_SAVE to pci/Kconfig + - Add dB scale information to dummy driver + + HDA Codec driver + - hda-codec - Use model=ref for some Dell laptops + - hda-codec - Add 5 stack audio support for Intel 965 systems + - hda-codec - Add device id for Motorola si3054-compatible codec + - hda-codec - Add vendor ids for Motorola and Conexant + - hda-codec - Fix SPDIF device number of ALC codecs + - hda-codec - Fix mic input with STAC92xx codecs + - hda-codec - Fix headphone auto-toggle on sigmatel codec + - hda-codec - Fix for Acer laptops with ALC883 codec + - hda-codec - Support for SigmaTel 9872 + - hda-codec - Add support for new Intel boards with Stac9227 codec + - hda_intel prefer 24bit instead of 20bit + - hda/patch_si3054: new codec vendor IDs + - Add new subdevice ids for hda-intel + - hda-codec - restore HDA sigmatel pin configs on resume + - [snd-intel-hda] enable center/LFE speaker on some laptops + - hda-codec - Add support for LG LW25 laptop + - hda-codec - Support multiple headphone pins + + HDA Intel driver + - hda-intel - Fix suspend/resume with MSI + - hda-intel - Switch to polling mode for CORB/RIRB communication + - intel_hda: MSI support + - hda-intel - Remove volatile + - sound/pci/hda/intel_hda: small cleanups + - hda-intel - Fix pci_disable_msi() call + - hda-codec - Fix SPDIF device number of ALC codecs + - hda-intel - A slight cleanup of timeout check in azx_get_response() + - hda-intel - New pci id for Nvidia MCP61 + + HDA generic driver + - hda-codec - Fix mic capture with generic parser + - hda-codec - Add independent headphone volume control + - hda-codec - Support multiple headphone pins + + ICE1712 driver + - Add dB scale information to ice1712 driver + - Add dB scale information to ice1724 driver + + ICE1724 driver + - ak4xxx - Remove bogus IPGA controls + - Clean up and add TLV support to AK4xxx i2c driver + + Intel8x0-modem driver + - intel8x0m - Free irq in suspend + + MIXART driver + - Add dB scale information to mixart driver + - mixart: Use SEEK_{SET,CUR,END} instead of hardcoded values + + OPL3SA2 driver + - Add dB scale information to opl3sa2 driver + + OPL4 + - opl4: Use SEEK_{SET,CUR,END} instead of hardcoded values + + PCI drivers + - Move CONFIG_SND_AC97_POWER_SAVE to pci/Kconfig + + PPC Keywest driver + - powermac - Fix Oops when conflicting with aoa driver + + PPC Tumbler driver + - [PPC,SOUND] Fix audio gpio state detection + + RME HDSP driver + - hdsp - Fix auto-updating of firmware + + SPARC DBRI driver + - sparc dbri: removal of dri_desc struct + - sparc dbri: more driver cleanup + - sparc dbri: fixed setting of burst size after reset + - sparc dbri: simplifed linking time slot function + - sparc dbri: ring buffered version + - sparc dbri: recording is back + - dbri sparc: fixes TS leak + - sparc dbri: OSS layer fix + - sparc dbri: SMP fixes + - sparc dbri: hardware constrains added + + Trident driver + - Add dB scale information to trident driver + + USB generic driver + - usb-audio: increase number of packets per URB + - usb-audio: add mixer control names for the Aureon 5.1 MkII + - Support for non-standard rates in USB audio driver + + Utils + - Fix check of CONFIG_VIDEO_V4L1 on 2.6.18 kernel + + VIA82xx driver + - Added TLV support to VIA82xx driver + + YMFPCI driver + - ymfpci - Add TLV entries for native volume controls + +Changelog between 1.0.11 and 1.0.12 releases +(http://www.alsa-project.org/changes/v1-0-11--v1-0-12.txt) +******************************************** + +* alsa-driver + + Sound Core + - release 1.0.12rc2 + - configure: fix header dependencies in vmalloc_to_page check + - Add hgcompile script and fix INSTALL document for HG + - Fix --enable/disable-verbose-procfs configure option + - Fix build with 2.6.18 kernel + - Fix detection of v4l stuff for 2.6.17 or older kernel + - release 1.0.12rc3 + - Makefile.conf: add CONFIG_PM + - fix build failure due to snd-aoa + - Revert 3075 and partially 3085 for 2.4 kernel builds + - release 1.0.12rc2a + - Another try to fix compile errors with older kernels + - Add subst of CONFIG_X86_64 and CONFIG_X86_32 in configure + - Remove quotes from KBUILD_* macros in cflags + - configure.in - fix for FM801 + TUNER + - Create missing include/linux directory in configure + - Use configured kernel compiler on 2.6 + - configure: move AC_DEFINE calls out of ALSA_TOPLEVEL_SELECT + - configure: fix TEA575x selection + - release 1.0.12 + - Fix check of CONFIG_VIDEO_V4L1 on 2.6.18 kernel + - Add --disable-experimental configure option + - release 1.0.11 + - fix compilation with 2.6.18 + - snd-aoa: add snd-aoa + - release 1.0.12rc1 + - Move echoaudio drivers to alsa-kernel tree + + ALSA Core + - Missing includes for dma-mapping.h in older kernels + - Clean up EXPORT_SYMBOL()s in snd module + - Make buffer size of proc text interface variable + - Remove unneeded read/write_size fields in proc text ops + - Insert might_sleep() in snd_iprintf() + - Add O_APPEND flag support to PCM + - Fix sound.patch for changes of EXPORT_SYMBOL()s + - Fix Makefiles to follow spread of EXPORT_SYMBOL()s + - Remove unneeded read/write_size fields in proc text ops + - fix might_sleep() + - 2.6 kernel sync: include/sound/Kbuild + - Deprecate snd_info_unregister() + - Fix disconnection of proc interface + - Unregister device files at disconnection + - Suppress irq handler mismatch messages in ALSA ISA drivers + - Define SA_PROBEIRQ flag for older kernels + - PCM core - introduce CONFIG_SND_PCM_XRUN_DEBUG + - Fix compile error with 2.6.18 kernel + - Fix build issue on earlier NLD9 kernels + - 2.6 kernel sync: Subject: irq-flags: sound: Use the new IRQF_ constants + - 2.6 kernel sync: [PATCH] devfs: Remove devfs support from the sound subsystem + - Fix compilation with older kernels + - add might_sleep() wrapper + - Fix compilation with 2.6.17 kernel + - Fix rwlock around snd_iprintf() in sound core + - undeclared TASK_(UN)INTERRUPTIBLE fixed + - Revert 3075 and partially 3085 for 2.4 kernel builds + - Another try to fix compile errors with older kernels + - Add missing list_for_each_prev() for 2.4 kernels + - Add wrappers of lockdep and down_*_nested for older kernels + - Add wrappers of new ppc irq stuff for older kernels + - Fix build on older kernels + - Control API - TLV implementation for additional information like dB scale + - Fix compile errors with SLES9-SP3 + - 2.6 kernel sync: small patches + CREDITS + MAINTAINER + pci_ids.h + media/video + - Fix Oops at rmmod with CONFIG_SND_VERBOSE_PROCFS=n + - make CONFIG_SND_DYNAMIC_MINORS non-experimental + - Add missing list_for_each_entry() macro for older kernels + - Remove obsoleted CONFIG_SND_DEBUG_FULL definition + - fix a wrong lock + - remove unused snd_minor.name field + - Control API - more robust TLV implementation + - Remove zero-initialization of static variables + + Control Midlevel + - Clean up EXPORT_SYMBOL()s in snd module + - Fix substream selection in PCM and rawmidi + - Remove unused tlv_rw field from struct snd_kcontrol + - Unregister device files at disconnection + - Control API - TLV implementation for additional information like dB scale + - Control API - more robust TLV implementation + + HWDEP Midlevel + - Remove unneeded read/write_size fields in proc text ops + - Fix disconnection of proc interface + - Unregister device files at disconnection + + PCM Midlevel + - Clean up ugly hacks in pcm_params.h + - Move OSS-specific hw_params helper to snd-pcm-oss module + - Clean up ugly hacks in pcm_lib.c + - Remove unneeded read/write_size fields in proc text ops + - Remove spinlocks around proc prints + - Add O_APPEND flag support to PCM + - Fix mmap_count with O_APPEND opened streams + - Regenerated patches for new PCM with O_APPEND + - Fix substream selection in PCM and rawmidi + - Fix disconnection of proc interface + - PCM core - introduce CONFIG_SND_PCM_XRUN_DEBUG + - Fix control/status mmap with shared PCM substream + - Fix Oops at rmmod with CONFIG_SND_VERBOSE_PROCFS=n + - Remove bogus check of mmap_count in snd_pcm_release() + - Fix pcm-draining of capture stream in PCM middle layer + - Remove zero-initialization of static variables + + RawMidi Midlevel + - Fix substream selection in PCM and rawmidi + - rawmidi: add get_port_info callback for sequencer information flags + + Timer Midlevel + - Remove spinlocks around proc prints + - Fix compile warning in timer.c + - system timer: remove unused snd_timer_system_private.timer field + - system timer: fix lost ticks correction adjustment + - system timer: accumulate correction for multiple lost ticks + - system timer: clear correction value when timer stops + - timer: fix timer rescheduling + - Fix a deadlock in snd-rtctimer + + /include/Makefile + - configure.in - fix for FM801 + TUNER + - Don't remove include files at make clean + + /isa/Makefile + - Move mts64 driver to alsa-kernel tree + + AC97 Codec + - ac97 - Move EXPORT_SYMBOL() to adjacent to each function + - Fix export-objs for update of EXPORT_SYMBOL()s + - AD1888 mixer controls for DC mode + - ac97: fix snd_ac97_dev_disconnect for older kernels + - ac97_codec - fix duplicate control creation in AC97 + - Disable AC97 AUX and VIDEO controls for WM9705 touchscreen + - AD1888 suspend/resume fix + - ac97 - Add Thinkpad T41p to AD1981 jack-sense blacklist + - add codec-specific controls for UCB1400 + - Add experimental support of aggressive AC97 power-saving mode + - Add a workaround for ASUS A6KM + - Fix for LG K1 Express Laptop + + AD1889 driver + - add __devinitdata to all pci_device_id + - Fix section mismatch errors in ALSA PCI drivers + + AK4XXX AD/DA converters + - Revolution 5.1 - add AK5365 ADC support + - Stereo controls for M-Audio Revolution cards + - ak4xxx-adda - Code clean-up + - Revolution 5.1 - complete the AK5365 support + - Fix compile warnings in ak4xxx-adda.c + + ALI5451 driver + - add __devinitdata to all pci_device_id + - Fix section mismatch errors in ALSA PCI drivers + + ALS4000 driver + - Change an arugment of snd_mpu401_uart_new() to bit flags + + ALSA Version + - release 1.0.12rc2a + - snd-ca0106: Fix dB gain TLVs. + + ALSA sequencer + - Change seq_midi.c so client name is card, rather than port, specific + - Clean up EXPORT_SYMBOL()s in snd-seq module + - Fix Makefiles to follow spread of EXPORT_SYMBOL()s + - lockdep: annotate sound/core/seq/seq_ports.c + - lockdep: annotate sound/core/seq/seq_device.c + - 2.6 kernel sync: small patches + CREDITS + MAINTAINER + pci_ids.h + media/video + - Conversions from kmalloc+memset to k(z|c)alloc + - Fix misuse of __list_add() in seq_ports.c + - add more sequencer port type information bits + - rawmidi: add get_port_info callback for sequencer information flags + - Remove nested mutexes in seq_ports.c + + ALSA<-OSS emulation + - Move OSS-specific hw_params helper to snd-pcm-oss module + - Remove unneeded read/write_size fields in proc text ops + - Add O_APPEND flag support to PCM + - Fix mmap_count with O_APPEND opened streams + - Regenerated patches for new PCM with O_APPEND + - Fix disconnection of proc interface + - Unregister device files at disconnection + - Fix Oops at rmmod with CONFIG_SND_VERBOSE_PROCFS=n + - Conversions from kmalloc+memset to k(z|c)alloc + - Don't reject O_RDWR at opening PCM OSS with read/write-only device + - Remove zero-initialization of static variables + + AMD InterWave driver + - 2.6 kernel sync: [PATCH] 64bit resource: fix up printks for resources in sound drivers + + ARM AACI PL041 driver + - 2.6 kernel sync: Subject: irq-flags: sound: Use the new IRQF_ constants + - 2.6 kernel sync: [PATCH] 64bit resource: fix up printks for resources in sound drivers + + ARM PXA2XX driver + - pxa2xx-i2sound - PCM - disable MMAP access + + AZT3328 driver + - azt3328.c: add suspend/resume support + - azt3328.c: add 3D sound mixer switch/rename controls + - azt3328.c: use kernel coding style + + Apple Onboard Audio driver + - Fix wrong dependencies of snd-aoa driver + - ppc - Add new interrupt mapping core and change platforms to use it + - aoa driver - Kconfig - remove spaces for SND!=n + - Fix snd-aoa irq conversion + - aoa: i2sbus: move module parameter declaration up + - aoa: i2sbus: fix for PowerMac7,2 and 7,3 + - aoa: fix when all is built into the kernel + - aoa: i2sbus: revamp control layer + - aoa: pmf gpio: report if function calling fails + - aoa fabric layout: clean up messages + - aoa: tas: change PCM1 name to PCM + - aoa: tas: fix initialisation/reset + - aoa: tas: surface DRC control again + - aoa: layout fabric: add missing module aliases + - aoa: tas: add missing bass/treble controls + - aoa: feature gpio layer: fix IRQ access + - aoa: fix toonie codec + - aoa: platform function gpio: ignore errors from functions that don't exist + - Select I2C and I2C_POWERMAC in aoa/codecs/Kconfig + - snd-aoa: add snd-aoa + - snd-aoa: not experimental + - snd-aoa: support iMac G5 iSight + - snd-aoa: enable dual-edge in GPIOs + + Asihpi driver + - Remove unneeded read/write_size fields in proc text ops + - ASIHPI driver updates + - Fix compile warnings on 2.6.18 kernel + - asihpi: add irqs_disabled() wrapper + - asihpi - Fix obsoleted MODULE_PARM() and struct initialization + - asihpi - Fix includes + - use + + BT87x driver + - bt87x: add Voodoo TV 200 whitelist entry + + CA0106 driver + - snd-ca0106: Fix dB gain TLVs. + - snd-ca0106: Update playback to 24bit. Fix typo is comment. + - Fix compile errors with older gcc + - Control API - TLV implementation for additional information like dB scale + - HDA codec & CA0106 - add/fix TLV support + + CMIPCI driver + - cmipci - Fix a typo in "PC Speaker Playback Switch" control + - cmipci - Disable integrated mpu401 as default + + CREDITS file + - 2.6 kernel sync: misc + - 2.6 kernel sync + - 2.6 kernel sync: small patches + CREDITS + MAINTAINER + pci_ids.h + media/video + - 2.6 kernel sync + + CS423x drivers + - miro - Makefile cleanup + - Fix undefined (missing) references in ISA MIRO sound driver + + CS4281 driver + - Fix races in irq handler and ioremap + + CS46xx driver + - fix AB-BA deadlock inversion at cs46xx_dsp_remove_scb + - Fix possible races in PCI driver removal + - Fix section mismatch errors in ALSA PCI drivers + + CS5535 driver + - PM support for cs5535audio + - Fix for PM support on cs5535audio + - Single variables for cs5535audio + - Fix Makefile of cs5535audio + - cs5535audio - trivial debug printk + - cs5535audio - Add missing module_param*() and MODULE_PARM_DESC() + + CX88 driver + - add __devinitdata to all pci_device_id + + Common EMU synth + - emux - Move EXPORT_SYMBOL() to adjacent to each function + - fix port type bits + - Fix export-objs for update of EXPORT_SYMBOL()s + - add more sequencer port type information bits + - NULL pointer dereference in sound/synth/emux/soundfont.c + + Conexant Riptide driver + - riptide: fix compile errors with older gcc + - Fix possible races in PCI driver removal + + Digigram PCXHR driver + - pcxhr - Fix a compiler warning on 64bit architectures + + Digigram VX Pocket driver + - Deprecate snd_card_free_in_thread() + - sound/vxpocket: fix printk warning + + Digigram VX core + - vx - Move EXPORT_SYMBOL() to adjacent to each function + - Fix export-objs for update of EXPORT_SYMBOL()s + - Conversions from kmalloc+memset to k(z|c)alloc + + Documentation + - Remove unneeded read/write_size fields in proc text ops + - Misc fixes for Realtek HD-audio codecs + - Fix description of cs5535audio driver in ALSA-Configuration.txt + - adding __devinitdata to pci_device_id + - 2.6 kernel sync: [PATCH] irq-flags: documentation: Use the new IRQF_ constants + - 2.6 kernel sync: misc + - Add snd-mts64 driver for ESI Miditerminal 4140 + - Fix a typo in writing-an-alsa-driver document + - cmipci - Disable integrated mpu401 as default + - Remove obsolete description from ALSA-Configuration.txt + - Add model entry for Clevo m665n laptop + - Add hp-bpc model type for HP laptops + - Add support of Benq laptop with ALC262 + - Change an arugment of snd_mpu401_uart_new() to bit flags + - Added model for Uniwill laptop with ALC861 + - Add support for Sony Vaio AR 11B + - Fix section mismatch errors in ALSA PCI drivers + - Add echoaudio sound drivers + - Fix/add support of Realtek ALC883 / ALC888 and ALC861 codecs + - Fix description of snd-hda-intel driver in document + + EMU10K1/EMU10K2 driver + - emu10k1 - Move EXPORT_SYMBOL() to adjacent to each function + - Fix export-objs for update of EXPORT_SYMBOL()s + - snd-emu10k1: Add a comment explaining the conversion function for dB gain. + - snd-emu10k1: Implement 24bit capture via Philips 1361T ADC for SB0240 card. + - snd-emu10k1: Implement dB gain infomation. + - snd-emu10k1: Fixes ALSA bug#2190 + - snd-emu10k1: Implement support for Audigy 2 ZS [SB0353] + - Fix compile errors with older gcc + - Fix no mpu401 interface can cause hard freeze + - emu10k1x: simplify around pci_register_driver() + + EMU8000 driver + - Fix invalid __init in ALSA ISA drivers + + ES18xx driver + - 2.6 kernel sync: [PATCH] 64bit resource: fix up printks for resources in sound drivers + - es18xx - Add PnP BIOS support + - es18xx build fix + + Echoaudio driver + - Add echoaudio sound drivers + - Move echoaudio drivers to alsa-kernel tree + - Fix a typo in echoaudio/midi.c + - echoaudio - Fix Makefile + - Fix Makefile for echoaudio drivers + - echoaudio - Remove kfree_nocheck() + + FM801 driver + - fix the SND_FM801_TEA575X dependencies + - fm801: Support FM only card + - fm801: fixed broken previous patch for the FM tuner only code + - sound/pci/fm801: Use ARRAY_SIZE macro + + GUS Extreme driver + - make sound/isa/gus/gusextreme.c:devices static + + GUS Library + - add more sequencer port type information bits + + Generic drivers + - virmidi: revert erroneous removal of zero initialization + - 2.6 kernel sync: Subject: irq-flags: sound: Use the new IRQF_ constants + - Disable serialmidi driver + - Fix some typos in snd-dummy driver + - Move mts64 driver to alsa-kernel tree + - Add snd-mts64 driver for ESI Miditerminal 4140 + - Clean up portman2x4 driver code + - Add experimental support of aggressive AC97 power-saving mode + - Support for ESI Miditerminal 4140 + - pc-speaker updates for 2.6.17 + + HDA Codec driver + - hda-codec - Add codec id for AD1988B codec chip + - hda-codec - Add support for Sony Vaio VGN-A790 laptop + - hda-codec - Move EXPORT_SYMBOL() to adjacent to each function + - Misc fixes for Realtek HD-audio codecs + - Don't set up the same PID twice in snd_hda_multi_out_analog_prepare + - Fix noisy output with shared channel mode with hd-audio + - hda-codec - Fix model for HP dc7600 + - hda-codec - add missing device ids + - hda-codec - Fix headphone output for some Intel 945 systems + - Fix workaround for AD1988A rev2 codec + - hda: sigmatel 9205 family support + - hda-codec - Add model entry for ASUS M9 laptop + - Add missing TLV callbacks for HD-audio codecs + - hda: fix sigmatel 9227/8/9 codec support + - hda-codec - Fix missing array terminators in AD1988 codec support + - HDA driver - do not set mute flag for dB scale (follow HDA specification) + - hda-codec - Add model entry for HP nx6320 + - hda-codec - Fix handling of capture controls on ALC882 3/6-stack models + - hda-codec - Fix capture from line-in on VAIO SZ/FE laptops + - Fix the preselected model for HP machine + - [snd-hda-intel] fix sound on some Asus W6A chips + - hda-codec - add missing device ids for Intel 945 boards + - hda-codec - Add support for new Intel boards with Stac9227 codec + - x86 MacMini: make built-in speaker sound actually work + - Add model entry for Samsung X10 laptop + - Add model entry for Clevo m665n laptop + - Add hp-bpc model type for HP laptops + - Add support of Benq laptop with ALC262 + - Added model for ASUS M2NPV-VM mobo + - hda-codec - Add SPDIF support to Thinkpad T/X/Z60 + - hda-codec - Add model entry for Samsung X60 Chane + - hda-codec - Add support for LG S1 laptop + - hda-codec - Add model entry for ASUS Z62F + - Added model for Uniwill laptop with ALC861 + - Add support for Sony Vaio AR 11B + - HDA codec - little code & comment cleanup + - HDA codec & CA0106 - add/fix TLV support + - HDA - Lenovo 3000 N100-07684JU - enable laptop-eapd by default + - hda-codec - Use 3stack model for ASUS P5RD2-VM / P5GPL-X SE + - Fix/add support of Realtek ALC883 / ALC888 and ALC861 codecs + - Add Intel D965 board support + - hda-codec - Fix mute switch on VAIO laptops with STAC7661 + - hda: add sigmatel 9227/9228/9229 ids + - hda-codec - Add support for Apple Mac Mini (early 2006) + - hda-codec - Add support for Sony Vaio VGN-S3HP + - hda - Add support for the ATI RS600 HDMI audio device + - Added patch_atihdmi.c to alsa-driver tree + - hda-codec - Fix init verbs for ALC260 hp model + + HDA Intel driver + - hda-intel - Fix race in remove + - hda - Add support for the ATI RS600 HDMI audio device + + HDA generic driver + - hda: export snd_hda_queue_unsol_event() wrapper + - Fix compile errors with older gcc + - Fix build on older kernels + - HDA codec - little code & comment cleanup + - HDA codec & CA0106 - add/fix TLV support + - hda-codec - Show EAPD and pin-detection capabilities in proc + - hda - Add support for the ATI RS600 HDMI audio device + + I2C Kconfig + - UDA1380 updates and fixes + + I2C UDA1380 + - UDA1380 updates and fixes + + I2C cs8427 + - sound/i2c/cs8427.c: don't export a static function + - trivial: Code clean up of i2c/cs8427.c + + I2C lib core + - i2c - Move EXPORT_SYMBOL() to adjacent to each function + + ICE1712 driver + - ice1712 - Set mpu401 info flags from _card_info + - Reduce the string length of Terratec Aureon 7.1 Universe + - ice1712 - fix 1600->16000Hz value typo + - ice1712 - Disable AC97 for DMX6fire + - ice1724 - Add functionality for Audiotrak Prodigy 7.1 LT + - ice1712 - Provides specified midi port names instead of defaults + + ICE1724 driver + - Revolution 5.1 - register the AK5365 ADC with ALSA + - Stereo controls for M-Audio Revolution cards + - Revolution 5.1 - complete the AK5365 support + + IOCTL32 emulation + - Another try to fix compile errors with older kernels + - Fix the compilation with old 2.6 kernels + - Fix PCM compat layer for older kernel + + ISA DMA + - Clean up EXPORT_SYMBOL()s in snd module + + Intel8x0 driver + - sound/pci/: Add hp_only quirk for Dell D800 laptops + - intel8x0 - Add ac97 quirk for Tyan Thunder K8WE board + - Add experimental support of aggressive AC97 power-saving mode + + MAINTAINERS file + - 2.6 kernel sync + - 2.6 kernel sync + - add MAINTAINERS entry for snd-aoa + - 2.6 kernel sync + + MPU401 UART + - sound: fix hang in mpu401_uart.c + - 2.6 kernel sync: Subject: irq-flags: sound: Use the new IRQF_ constants + - 2.6 kernel sync: [PATCH] 64bit resource: fix up printks for resources in sound drivers + - mpu401 section fix + - mpu401_uart - Fix coding style and code clean up + - Change an arugment of snd_mpu401_uart_new() to bit flags + + MSND driver + - Fix compilation of msnd-pinnacle driver with recent 2.6 kernels + - Add isa_readx/writex wrappers for 2.6.17 kernel + + Memalloc module + - 2.6 kernel sync: misc + - Conversions from kmalloc+memset to k(z|c)alloc + + OPL3 + - opl3 - Move EXPORT_SYMBOL() to adjacent to each function + - Fix export-objs for update of EXPORT_SYMBOL()s + - fix port type bits + - add more sequencer port type information bits + + OPL3SA2 driver + - Fix invalid __init in ALSA ISA drivers + + OPL4 + - opl4 - Move EXPORT_SYMBOL() to adjacent to each function + - add more sequencer port type information bits + + OSS device core + - 2.6 kernel sync: [PATCH] devfs: Remove devfs support from the sound subsystem + + Opti9xx drivers + - snd-miro include fix + + PCI drivers + - PM support for cs5535audio + - fm801: move CONFIG_VIDEO_DEV dependency to CONFIG_SND_FM801_TEA575X_BOOL + - fm801: revert last Kconfig patch + - fix the SND_FM801_TEA575X dependencies + - sound/pci/Kconfig - fix broken indenting for SND_FM801_TEA575X + - 2.6 sync: V4L/DVB (4371b): Fix V4L1 dependencies at drivers under sound/oss and sound/ + - Fix missing selection of CONFIG_VIDEO_DEV from SND_FM801_TEA575X + - Remove CONFIG_EXPERIMENTAL from intel8x0m driver + - Add echoaudio sound drivers + - Move echoaudio drivers to alsa-kernel tree + + PCMCIA Kconfig + - PCMCIA sound devices shouldn't depend on ISA + + PDAudioCF driver + - Deprecate snd_card_free_in_thread() + + PDPlus driver + - Remove unneeded read/write_size fields in proc text ops + - Remove spinlocks around proc prints + - Fix compile warnings on 2.6.18 kernel + - pdplus: fix __init/__exit + - pdplus - Remove bogus __exit from pdplus_sweep() + - Fix initialization of pdplus driver + - pdplus - fix a compile warning + - pdplus - Add missing MODULE_DEVICE_TABLE() + + PPC + - snd-powermac: no longer handle anything with a layout-id property + + PPC Beep + - ppc-beep - handle errors from input_register_device() + - Fix ppc/beep.c patch (and misc ppc fix) + + PPC DACA driver + - 2.6 kernel sync + + PPC PMAC driver + - Fix compilation of pmac.c with 2.6.17 kernel + - Fix compilation of powermac driver with 2.6.16 kernel + - ppc - Add new interrupt mapping core and change platforms to use it + - snd-powermac: no longer handle anything with a layout-id property + + PPC PowerMac driver + - make snd-powermac load even when it can't bind the device + - snd-powermac: no longer handle anything with a layout-id property + + PPC Toonie + - Remove ppc/toonie.c + - Remove ppc/toonie.c + - sound/ppc: snd_pmac_toonie_init should be __init + + PPC Tumbler driver + - ppc - Add new interrupt mapping core and change platforms to use it + + PXA Mainstone driver + - 2.6 kernel sync + + RME HDSP driver + - RME HDSP - fixed proc interface (missing {}) + - hdsp - Fix compilation with hdsp driver built in kernel + - 2.6 kernel sync: small patches + CREDITS + MAINTAINER + pci_ids.h + media/video + + RME32 driver + - Fix races in irq handler and ioremap + + RME96 driver + - Fix races in irq handler and ioremap + - rme96 - Fix OSS full-duplex + + SA11xx UDA1341 driver + - 2.6 kernel sync: misc + - Remove zero-initialization of static variables + + SB8 driver + - fix potential NULL pointer deref in snd_sb8dsp_midi_interrupt() + + SPARC AMD7930 driver + - sparc: resource warning fix + - 2.6 kernel sync: [SPARC]: Kill __irq_itoa(). + - 2.6 kernel sync: [SOUND] sparc: Port amd7930 to new SBUS device layer. + + SPARC DBRI driver + - sparc dbri: removal of unused struct members + - sparc dbri: removal of redudant volatile keywords + - sparc: resource warning fix + - 2.6 kernel sync: [SPARC]: Kill __irq_itoa(). + - dbri driver cleanup + - sparc dbri removal of DBRI_NO_INTS + + SPARC cs4231 driver + - sparc: resource warning fix + - 2.6 kernel sync: [SPARC]: Kill __irq_itoa(). + - 2.6 kernel sync: [SPARC64]: Use in-kernel PROM tree for EBUS and ISA. + + Sound Scape driver + - Change an arugment of snd_mpu401_uart_new() to bit flags + + TEA575x tuner + - 2.6 kernel sync: small patches + CREDITS + MAINTAINER + pci_ids.h + media/video + + Trident driver + - trident - Move EXPORT_SYMBOL() to adjacent to each function + - Fix export-objs for update of EXPORT_SYMBOL()s + - add more sequencer port type information bits + + USB USX2Y + - Add O_APPEND flag support to PCM + - Deprecate snd_card_free_in_thread() + + USB generic driver + - usb-audio - Fix a typo of CONFIG_PROC_FS + - Add TLV support to snd-usb-audio driver + - usb-audio: add more Yamaha devices + - Regenerate usbaudio.patch + - usb-audio support for Turtle Beach Roadie + - add support for SB Live! 24-Bit External remote control + - USB midi: Remove duplicate CS_AUDIO_* #defines + - Add definition of USB_DT_CS_XXX for older kernels + - usb-audio: add workaround for CSR Bluetooth Headphones (Saitek A-250) + - usbaudio - Fix a typo + - rawmidi: add get_port_info callback for sequencer information flags + + Utils + - Fix mod-deps to accept multipe "depends on" lines + - Allow Kconfig only existing in alsa-driver tree + - Don't build 2.6-kernel-specific modules + - Fix build on older kernels + - configure: move AC_DEFINE calls out of ALSA_TOPLEVEL_SELECT + - Fix check of CONFIG_VIDEO_V4L1 on 2.6.18 kernel + - Fix mod-deps to handle "depends" without "on" + - utils/insert: print more verbose message + - Fix mod-deps parse to handle "!=" properly + - pc-speaker updates for 2.6.17 + + VIA82xx driver + - Add hp_only quirk for pci id [161f:2032] to via82xx + - via82xx - Default to variable samplerate enabled for MSI K8T Neo2-FI + - via82xx: tweak VT8251 workaround + - via82xx - Use DXS_SRC as default for VIA8235/8237/8251 chips + - via82xx - Add dxs_support entry for a FSC machine + - Add experimental support of aggressive AC97 power-saving mode + + Wavefront drivers + - wavefront: fix __init/__devinit confusion + + au88x0 driver + - Remove ENTER_UART from au88x0 init + - au88x0 - Fix 64bit address of MPU401 MMIO port + - au88x0 - Init before create components + + hgcompile script + - Add hgcompile script and fix INSTALL document for HG + - Fix environment variable for hgcompile options + + pci_ids.h update + - 2.6 kernel sync + - 2.6 kernel sync + - 2.6 kernel sync +* alsa-lib + +Changelog between 1.0.10 and 1.0.11 releases +(http://www.alsa-project.org/changes/v1-0-10--v1-0-11.txt) +******************************************** + +* alsa-driver + + Sound Core + - PCM midlevel & PCM OSS - make procfs & OSS plugin code optional + - Remove superfluous quotes + - Add description of als300 + - release 1.0.11rc3 + - release 1.0.11rc2 + - configure: fix kernel version test in RTC check + - Add mutex.h wrapper + - Move miro driver to alsa-kernel + - Move riptide driver to alsa-kernel + - Move snd-als300 to alsa-kernel + - adjust documentation for higher card limit + - add compatibility bitmap.h + - dynamic minors (4/6): dynamic minor number allocation + - pcm - Make the support of old API selectable + - Fix top Makefile + - Add detection of ARM-AMBA + - Detect pnp suspend + - release 1.0.11rc5 + - Move PCXHR driver to alsa-kernel + - release 1.0.11rc1 + - Fix configure for 2.6.15-git + - Change autoconf requirement to 2.59 + - List the currently supported kernel versions + - release 1.0.10 + - sound: align device drivers menus + - release 1.0.11 + - Improved handling of temp files + - Fix confliction of autoconf.h + - Another build fixes + - release 1.0.11rc4 + - Add support of VIA C3-2 + + ALSA Core + - PCM midlevel & PCM OSS - make procfs & OSS plugin code optional + - return ENODEV for disconnected devices + - Add DMA_28BIT_MASK definition + - Add ifdef DMA_28BIT_MASK + - Fix compile with old suse 2.4 kernels + - Add definition of usb_ctrlrequest for old 2.4 kernels in adriver.h + - Fix compile with 2.4 kernels + - Fix compile on 2.6.15 without CONFIG_PM_LEGACY + - Remove BKL from sound/core/info.c + - Regenerated the patch + - fix snd_info_entry_ioctl_old wrapper compilation + - semaphore -> mutex (core part) + - Add mutex.h wrapper + - sound/core/: fix 3 off-by-one errors + - Cleanup unused argument for snd_power_wait() + - Define dummy __GFP_XXX for older kernels + - add compatibility bitmap.h + - add __bitwise compatibility definition + - fix compilation on earlier kernels + - dynamic minors (2/6): simplify storage of snd_minor structures + - dynamic minors (4/6): dynamic minor number allocation + - dynamic minors (6/6): increase maximum number of sound cards + - [PATCH] mark f_ops const in the inode + - Update dummy snd_power_wait() function for new calling convention + - 2.6 kernel sync: small patches + - Fix for the recent changes of pnp_*_regsiter_driver() + - Add missing DMA_24BIT_MASK in adriver.h + - add compatibility DMA bit masks + - Optimize for config without PROC_FS + - pcm - Make the support of old API selectable + - Added AMD cs5536 audio + - DocBook: fix kernel-doc comments + - Add support for the CS5535 Audio device + - Clean up includes in asound.h & asequencer.h + - Clean up wrappers + - Remove xxx_t typedefs: Core component + - Remove xxx_t typedefs: Proc handler + - Remove xxx_t typedefs: OSS-emulation + - Backward-compatibility typedefs + - Remove xxx_t typedefs: Core + - Decentralize PM control + - Remove snd_legacy_auto_probe() + - Update the patches + - New wrappers and workarounds + - Add error messages + - Revert the nested-device patch + - Regenerate the patch + - Add cpu_relax() wrapper + - Fix a missing include + - fix struct usb_ctrlrequest definition for 2.2 kernels + - fix 2.2.x PCI config saving + - Nest sound devices + - unregister platform devices + - Subject: Fix platform_driver emulation for kernels <= 2.6.14 + - Add in_atomic() wrapper for older kernels + + Control Midlevel + - Fix error paths in snd_ctl_elem_add() + - Cleanup unused argument for snd_power_wait() + - Remove xxx_t typedefs: Controls + - Decentralize PM control + - Update the patches + - Add error messages + - Fix snd-usb-audio in 32-bit compat environment + - Fix memory leaks in error path of control.c + + HWDEP Midlevel + - semaphore -> mutex (core part) + - Optimize for config without PROC_FS + - Remove xxx_t typedefs: Hwdep + - Add error messages + + PCM Midlevel + - Cleanup unused argument for snd_power_wait() + - Tiny clean up of PCM codes + - Clean up PCM codes (take 2) + - dynamic minors (1/6): store device type in struct snd_minor + - dynamic minors (3/6): store device-specific object pointers dynamically + - Fix obsolete xxx_t typedefs + - Fix Oops of PCM OSS emulation + - Fix Oops of PCM OSS emulation (missing patch) + - Optimize for config without PROC_FS + - Remove xxx_t typedefs: PCM + - Remove xxx_t typedefs: Core + - pcm - NULL check in snd_pcm_suspend*() + - Add error messages + - sound/core/pcm.c: make snd_pcm_format_name() static + - pcm - Move PAUSE ioctl to common ioctl handler + - pcm - Fix wrong asserts + - snd_pcm_format_name() is no longer exported + + RawMidi Midlevel + - rawmidi: adjust runtime->avail when changing output buffer size + - rawmidi: protect against invalid device number in snd_rawmidi_info_select() + - [PATCH] sound: Remove unneeded kmalloc() return value casts + - Remove xxx_t typedefs: Raw MIDI + - Remove xxx_t typedefs: Core + - Add error messages + - sound/: possible cleanups + + Timer Midlevel + - Fix possible races in timer callbacks + - Optimize for config without PROC_FS + - Remove xxx_t typedefs: Timer + - Remove xxx_t typedefs: Core + + /arm/Makefile + - PXA2xx i2Sound: support for Intel PXA2xx I2S audio. + + /i2c/Makefile + - Audio support for codec Philips UDA1380 + + /oss/Makefile + - Decentralize PM control + + AC97 Codec + - ac97 - Add extra IDs for headphone autosense + - ac97 - Add entry for VIA VT1618 codec + - ac97 - Small fix for ALC65x codec + - semaphore -> mutex (PCI part) + - emu10k1: Add support for Audigy4 (not Pro) + - Optimize for config without PROC_FS (pci drivers) + - ac97 - Add support of static resolution tables + - ac97 - Added a codec patch for LM4550 + - ac97 - Remove duplicated entry in lm4550_restbl + - ac97 - Fix CLFE channel setting of ALC850 + - ac97 - Remove ac9_enum definition from public header + - Remove xxx_t typedefs: AC97 + - ac97-codec - Better ac97_bus name + - ac97 - NULL check in snd_ac97_suspend/resume + - Fix confliction by device_driver wrapper + - AC97: Correct Mic Boost label. + - Add a new quirk for mute-LED and HP-only. + - ac97 - Suppress jack sense controls for Thinkpads + - ac97 - Allow drivers to set static volume resolution table + - ac97 - Clean up obsolete workarounds + + AD1816A driver + - [PATCH] PNP: adjust pnp_register_card_driver() signature (bigset) + - ad1816a - Fix PCM trigger direction + - Remove xxx_t typedefs: ISA AD1816A + - ad1816a - Clean up PnP code + - Merge ad1816a-lib module to ad1816a + + AD1848 driver + - Fix check of enable module option + - semaphore -> mutex (ISA part) + - ad1848 double free + - Remove xxx_t typedefs: ISA AD1848 + - ad1848 - Add PM support + - ad1848 - Use platform_device, add PM + - continue on IS_ERR from platform device registration + - unregister platform device again if probe was unsuccessful + - ad1848 - Fix compilation without CONFIG_PM + + AD1889 driver + - Use DMA_28BIT_MASK and DMA_32BIT_MASK + - ad1889 - don't use CVS Id tag - it complicates merging + - [PATCH] Replace 0xff.. with correct DMA_xBIT_MASK + - Remove xxx_t typedefs: PCI AD1889 + - sound/pci/: remove duplicate #include's + + AK4114 receiver + - Remove xxx_t typedefs: I2C drivers + - Remove xxx_t typedefs: I2C drivers + + AK4117 receiver + - Remove xxx_t typedefs: I2C drivers + - Remove xxx_t typedefs: I2C drivers + + AK4531 codec + - semaphore -> mutex (PCI part) + - Optimize for config without PROC_FS (pci drivers) + - Remove xxx_t typedefs: AK4531 codec + - ak4531 - Add PM support + + AK4XXX AD/DA converters + - Remove xxx_t typedefs: I2C drivers + + ALI5451 driver + - ali5451: Add PCI_DEVICE and #defines in snd_ali_ids + - [PATCH] Replace 0xff.. with correct DMA_xBIT_MASK + - Remove xxx_t typedefs: PCI ALI5451 + - ali5451 - Fix PM support + + ALS100 driver + - [PATCH] PNP: adjust pnp_register_card_driver() signature: als100 + - Remove xxx_t typedefs: ISA SB/AD-clone + - als100 - Add PM support + + ALS4000 driver + - [PATCH] Replace 0xff.. with correct DMA_xBIT_MASK + - ALS4000 update + - Remove xxx_t typedefs: PCI ALS4000 + - als4000 - Add PM support + + ALSA sequencer + - Fix seq_clientmgr dereferences before NULL check + - seq: remove superfluous fields + - seq: remove struct snd_seq_client_callback + - seq: set client name in snd_seq_create_kernel_client() + - seq: reorganize sequencer client numbers + - dynamic minors (5/6): reduce maximum number of MIDI devices per card + - dynamic minors (6/6): increase maximum number of sound cards + - Optimize for config without PROC_FS (seq and oss parts) + - Clean up includes in asound.h & asequencer.h + - Remove xxx_t typedefs: Sequencer + - Remove xxx_t typedefs: Sequencer OSS-emulation + - Remove xxx_t typedefs: Sequencer + - Remove bogus i_sem + - Update patch + - Fix sleep in atomic in virmidi driver + + ALSA<-OSS emulation + - Fix a typo + - Clean up pcm-oss plugins + - Fix mulaw -> linear conversion in OSS PCM emulation + - Remove bogus use of i_sem in pcm_oss.c + - Regenerated the patch + - semaphore -> mutex (core part) + - Tiny clean up of PCM codes + - Clean up PCM codes (take 2) + - Fix / clean up PCM-OSS setup hooks + - pcm_oss: fix snd_pcm_oss_release() oops + - Fix Oops of PCM OSS emulation + - Handle the error correctly in SNDCTL_DSP_SETFMT ioctl + - Optimize for config without PROC_FS (seq and oss parts) + - Use standard bitmap functions + - Remove xxx_t typedefs: Mixer OSS-emulation + - Remove xxx_t typedefs: PCM OSS-emulation + - Remove xxx_t typedefs: OSS-emulation + + ALSA<-OSS sequencer + - seq: remove struct snd_seq_client_callback + - seq: set client name in snd_seq_create_kernel_client() + - Optimize for config without PROC_FS (seq and oss parts) + - Fixed patch + - Remove xxx_t typedefs: Sequencer OSS-emulation + - Remove xxx_t typedefs: Sequencer + + ARM + - PXA2xx i2Sound: support for Intel PXA2xx I2S audio. + - Remove SND_GENERIC_DRIVER from arm/Kconfig + + ARM AACI PL041 driver + - semaphore -> mutex (Archs, misc buses) + - Move AMBA include files to include/linux/amba/ + - Remove xxx_t typedefs: ARM AACI + - Fix PM support + - Fix the FIFO size detection + + ARM DMA routines + - Remove xxx_t typedefs: ARM AACI + + ARM PXA2XX driver + - PXA2xx i2Sound: support for Intel PXA2xx I2S audio. + - make the pxa2xx-ac97 module more robust against PXA27x bugs + - semaphore -> mutex (Archs, misc buses) + - Remove xxx_t typedefs: ARM PXA2xx + - Fix PM support + + ARM S3C24XX IIS driver + - Remove xxx_t typedefs: ARM S3C24xx-IIS + + ATIIXP driver + - Optimize for config without PROC_FS (pci drivers) + - Remove superfluous macros + - Remove xxx_t typedefs: PCI ATIIXP + - atiixp - Fix PM support + - Add a new quirk for mute-LED and HP-only. + + ATIIXP-modem driver + - Optimize for config without PROC_FS (pci drivers) + - Remove superfluous macros + - Remove xxx_t typedefs: PCI ATIIXP + - atiixp - Fix PM support + + AZT2320 driver + - [PATCH] PNP: adjust pnp_register_card_driver() signature: azt2320 + - Remove xxx_t typedefs: ISA SB/AD-clone + - azt2320 - Add PM support + + AZT3328 driver + - [PATCH] Replace 0xff.. with correct DMA_xBIT_MASK + - Remove xxx_t typedefs: PCI AZT3328 + + Adlib FM driver + - unregister platform device again if probe was unsuccessful + - AdLib FM card driver + + Asihpi driver + - asihpi update + - fix compilation on earlier kernels + - asihpi - Fix unbalanced spinlocks + - Remove xxx_t typedefs: PCI ASIHPI + - asihpi: fix includes + + Avance Logic ALS300/300+ driver + - Added a new als300 driver + - als300 - Add PM support + - Add snd-als300 driver for Avance Logic ALS300/ALS300+ soundcards + - Move snd-als300 to alsa-kernel + + BT87x driver + - fix compilation on 2.2 kernels + - bt87x: add more DVB card IDs + - bt87x - Fix the unability of snd-bt87x to recognize AVerMedia Studio + - bt87x - fix detection of unknown card + - bt87x - fixed driver patch + - Remove xxx_t typedefs: PCI BT87x + - 2.6-git-sync: Fix PCI ids in bt87x.c + - bt848 - added Leadtek Winfast tv 2000xp delux to whitelist + - sync with alsa-devel + + CA0106 driver + - snd-ca0106: update SPDIF to IEC958 in mixer control names. + - snd-ca0106: Fixed ALSA bug#1600 + - ca0106: Add analog capture controls. + - ca0106: Fixes MSI K8N's SB Live 24 bit, no sound from line-in. + - Optimize for config without PROC_FS (pci drivers) + - ca0106 - Code clean up + - Remove xxx_t typedefs: PCI CA0106 + - snd-ca0106: Fixes sound output for Creative Audigy SE aka.SB0570. + - snd-ca0106: Fix SPI driver code. Fixes speaker output. + + CMI8330 driver + - ISA drivers bailing on first !enable[i] + - [PATCH] PNP: adjust pnp_register_card_driver() signature: cmi8330 + - Remove xxx_t typedefs: ISA CMI8330 + - cmi8330 - Use platform_device, add PM support + - continue on IS_ERR from platform device registration + - unregister platform device again if probe was unsuccessful + - Fix compilation without CONFIG_PNP + + CMIPCI driver + - Remove xxx_t typedefs: PCI CMIPCI + - cmipci - Add PM support + + CREDITS file + - Sync with 2.6 GIT tree + - 2.6 kernel sync + - Keep non-ALSA kernel files + - Add support for the CS5535 Audio device + - sync with recent 2.6 + + CS4231 driver + - Fix a compile warning + - Fix check of enable module option + - semaphore -> mutex (ISA part) + - Clean up ISA cs4231 code + - Remove xxx_t typedefs: ISA CS423x + - cs4231 - Fix PM support + - cs4231 - Use platform_device + - Fix resume of cs4231 + - Add CS4232 PnP BIOS support + - continue on IS_ERR from platform device registration + - unregister platform device again if probe was unsuccessful + + CS4236+ driver + - Fix check of enable module option + - cs4236 - Fix a typo + - semaphore -> mutex (ISA part) + - cs4236 - Add PnP ids for Netfinity 3000 + - cs4232/cs4236 - moved CS423X_DRIVER define outside CONFIG_PNP + - [PATCH] PNP: adjust pnp_register_card_driver() signature (bigset) + - Remove xxx_t typedefs: ISA CS423x + - cs4236 - Use platform_device + - Add CS4232 PnP BIOS support + - continue on IS_ERR from platform device registration + - cs4236 - Fix wrong initialization of MPU401 PnP + - Fix compilation without CONFIG_PNP + + CS4281 driver + - cs4281 - Clean up delay function + - Remove xxx_t typedefs: PCI CS4281 + - cs4281 - Fix PM support + - cs4281 - Fix the check of right channel + - cs4281 - Fix the check of timeout in probe + + CS46xx driver + - semaphore -> mutex (PCI part) + - Remove xxx_t typedefs: PCI CS46xx + - cs46xx - Fix PM support + - Fix a typo in snd_assert() + - fix some memory leaks + + CS5535 driver + - CS5535: shorter delays when accessing AC'97 codec registers + - cs5535audio: move sound/driver.h to the top + - AMD cs5536 ID for cs5535audio + - Use pci_register() for cs5535audio + - Add support for the CS5535 Audio device + - Minor clean up and fixes for CS5535 audio driver + - Remove xxx_t typedefs: PCI CS5535 + + CX88 driver + - Added more files including ALSA codes + - Fix snd_xxx_t typedefs + - 2.6 kernel sync + - Sync with current 2.6 code + - sync with recent 2.6 + + Common EMU synth + - semaphore -> mutex (driver part) + - emux - Avoid cast of function pointers + - Remove xxx_t typedefs: Emu-X synth + + Conexant Riptide driver + - Clean up include files + - Add snd-riptide driver for Conexant Riptide chip + - Move riptide driver to alsa-kernel + - Remove xxx_t typedefs: PCI Riptide + - riptide - Fix PM support + - Fix compilation of riptide driver with 2.4 kernels + - Fix/update riptide driver + - Remove superfluous pcm_free callbacks + + DT019x driver + - [PATCH] PNP: adjust pnp_register_card_driver() signature (bigset) + - Remove xxx_t typedefs: ISA SB/AD-clone + - dt019x - Add PM support + + Digigram PCXHR driver + - pcxhr - Fix printk warning + - [ALSA] pcxhr - Fix the crash with REV01 board + - Remove xxx_t typedefs: PCI PCXHR + - Add PCXHR driver + - Move PCXHR driver to alsa-kernel + - pcxhr - Fix the sample rate changes + - pcxhr - Suppress debug messages + + Digigram VX Pocket driver + - semaphore -> mutex (Archs, misc buses) + - [PATCH] 2.6 kernel sync: pcmcia: a lot of changes + - Fix build of pcmcia drivers on 2.6.16 kernel + - Remove snd_vx_delay() function + - Remove xxx_t typedefs: VXdriver + - vx-driver - Fix PM support + - 2.6-sync: Sync with 2.6.16rc1 + - Fix compilation for older kernels + - vxpocket - Fix a typo + + Digigram VX core + - semaphore -> mutex (driver part) + - vx - Fix memory leak on error path + - no need to check pointers passed to vfree() for NULL + - Remove snd_vx_delay() function + - Remove xxx_t typedefs: VXdriver + - vx-driver - Fix PM support + + Digigram VX222 driver + - Remove snd_vx_delay() function + - Remove xxx_t typedefs: VXdriver + - vx-driver - Fix PM support + + Documentation + - Update description of ice1724 driver + - Add the notes on PM to ens1370/ens1371 sections + - fix typos in writing-an-alsa-driver + - hda-codec - Add lg model for LG laptop + - hda-codec - Fix for Samsung R65 and ASUS A6J + - Fix a typo + - hda-codec - Fix support of laptops with AD1986A codec + - Add snd-miro driver + - Add snd-riptide driver for Conexant Riptide chip + - Add snd-als300 driver for Avance Logic ALS300/ALS300+ soundcards + - 2.6 kernel sync: small patches + - hda-intel - Add single_cmd option for debugging + - Fix typos in document + - hda-codec - Add support for VAIO FE550G and SZ110 + - Add support of LG LW20 laptop + - Minor clean up and fixes for CS5535 audio driver + - [Trivial] Fix ac97_quirk option in document + - Small update of Procfile.txt + - Remove xxx_t typedefs: Documentation + - document - Add PM support + - document - Update PM support + - hda-codec - Add Thinkpad X60/T60/Z60 support + - Fix typos and add information about Jack support to Audiophile-Usb.txt + - Add PCXHR driver + - intel8x0 - Add MCP51 PCI ID + - Fixes audiophile usb analog capture with the new device_setup parameter + - Fixes typos in Audiophile-USB.txt + - Update description of hda-intel models + + EMU10K1/EMU10K2 driver + - Use DMA_28BIT_MASK and DMA_32BIT_MASK + - emu10k1 - Fix missing declarations + - snd-emu10k1: Add new SB Live 5.1 PCI-ID. + - semaphore -> mutex (PCI part) + - emu10k1 - Add the entry for Audigy4 SB0400 + - emu10k1_synth use after free + - snd-emu10k1: Correct control names for Audigy 4 Pro. + - emu10k1: Add support for Audigy4 (not Pro) + - Add p17v.h file. + - emu10k1: Add some descriptive text. + - emu10k1: Partial support for Creative emu1212m + - snd-emu10k1: Add some comments regarding chip types. + - snd-emu10k1: Add comments regarding chips present on the card. + - emu10k1 - Clean up p16v code + - emu10k1 - Fix the confliction of "Front" control + - move capable() to capability.h + - emu10k1x - Minor clean up + - emu10k1 - Minor clean up of memory block handling + - Remove xxx_t typedefs: PCI emu10k1 + - Remove xxx_t typedefs: PCI emu10k1x + - emu10k1 - Add PM support + - sound/pci/: remove duplicate #include's + - emu10k1 - Add entry for SB Live 5.1 Digital OEM [SB0220] + - snd-emu10k1: Removes some distortion from Audigy 2 ZS Notebook. + - snd-emu10k1: Enable speakers on Audigy 2 ZS Notebook. + - snd-emu10k1: Fix whitespace. + - snd-emu10k1: Tidy SPI code. + - emu10k1 - Fix silence problems after suspend + + EMU8000 driver + - Remove xxx_t typedefs: ISA SB8/SB16/SBAWE + + ENS1370/1+ driver + - ens1371: added spdif and lineio module options + - ens1370 - Fix resume + - Remove xxx_t typedefs: PCI ENS137x + - ens137x - Fix and ADD PM support + - ens1371: fix compilation without SUPPORT_JOYSTICK + - Fix missing suspend/resume-code for ens1371 + + ES1688 driver + - Remove xxx_t typedefs: ISA ES1688 + - es1688 - Use platform_device + - continue on IS_ERR from platform device registration + + ES18xx driver + - #1/4 for Zoom Video - resolve common vs chipset specific mixer controls + - #2/4 for Zoom Video - resolve number of record sources + - #3/4 for Zoom Video - change Hardware Volume interrupt handling + - #4/4 for Zoom Video - add Zoom Video support + - [PATCH] PNP: adjust pnp_register_card_driver() signature (bigset) + - Remove xxx_t typedefs: ISA ES18xx + - es18xx - Use platform_device + - fix some memory leaks + - Fix compilation without CONFIG_PNP + + ES1938 driver + - Remove xxx_t typedefs: PCI ES1938 + - es1938 - Fix PM support + + ES1968 driver + - Use DMA_28BIT_MASK and DMA_32BIT_MASK + - es1968 - Remove inline from some functions + - Remove xxx_t typedefs: PCI ES1968 + - es1968 - Fix PM support + - sound/pci/: remove duplicate #include's + - es1968 - Fix conflict with ISA boards + + ES968 driver + - Remove xxx_t typedefs: ISA SB8/SB16/SBAWE + - es968 - Add PM support + + Echoaudio driver + - Echoaudio - new firmware + - echoaudio - xxx_t --> struct xxx + - echoaudio - minor changes (1/4) + - echoaudio - minor changes (2/4) + - echoaudio - minor changes (3/4) + - echoaudio - minor changes (4/4) + - echoaudio, C++ comments fix + - echoaudio - trivial patch + - echoaudio - Add missing module_param*() + - echoaudio, ADAT mode sample rate fix + + FM801 driver + - Remove xxx_t typedefs: PCI FM801 + - fm801 - Add PM support + + GUS Classic driver + - Remove xxx_t typedefs: ISA GUS + - gus - Use platform_device + - Fix adding second dma channel + + GUS Extreme driver + - Remove xxx_t typedefs: ISA GUS + - gus - Use platform_device + + GUS Library + - Fix gus_pcm dereference before NULL + - seq: remove struct snd_seq_client_callback + - seq: set client name in snd_seq_create_kernel_client() + - semaphore -> mutex (ISA part) + - [Trivial] Fix spaces in gus.h + - Remove xxx_t typedefs: ISA GUS + + GUS MAX driver + - Remove xxx_t typedefs: ISA GUS + - gus - Use platform_device + + Generic drivers + - Fix possible races in timer callbacks + - serialmidi - Fix hang-up with recent kernels + - serialmidi - Use platform_device + - Fix check of enable module option + - serial-uart16550 - Fix a compile warning + - Replace semaphore with mutex + - dynamic minors (5/6): reduce maximum number of MIDI devices per card + - continue on IS_ERR from platform device registration + - unregister platform device again if probe was unsuccessful + - snd-dummy - Code clean-up + - Remove xxx_t typedefs: Generic drivers + - Remove xxx_t typedefs: PC-Speaker + - Remove xxx_t typedefs: ALoop + - Remove xxx_t typedefs: Serial MIDI + - Remove xxx_t typedefs: Portman2x4 + - dummy - Use platform_device + - mtpav - Use platform_device + - serial-u16550 - Use platform_device + - virmidi - Use platform_device + - Remove SND_GENERIC_DRIVER from drivers/Kconfig + - serialmidi - Remove snd_card_generic_set_dev() + - dummy driver - added CA0106 emulation defines + - fix some memory leaks + - sound: align device drivers menus + - Update of PC-speaker driver + - Remove superfluous pcm_free callbacks + + HAL2 driver + - Remove xxx_t typedefs: HAL2 + + HDA Codec driver + - hda-codec - Add model entry for Shuttle ST20G5 + - hda-codec - Fix capture on Sigmatel STAC92xx codecs + - patch_realtek.c: Add new model + - hda-codec - Add lg model for LG laptop + - hda-codec - Fix for Samsung R65 and ASUS A6J + - hda-codec - support HP Compaq Presario B2800 laptop with AD1986A codec + - hda-codec - Adds HDA support for Intel D945Pvs board with subdevice id 0x0707 + - hda-codec - Add support of ASUS U5A with AD1986A codec + - hda-codec - Add the support of ALC262,ALC883,ALC885,ALC861 + - hda-codec - support for Agere's HDA soft modem + - hda-codec - add D975XBK support to sigmatel patch + - hda-codec - add sigmatel 927x codec support + - Add default entry for CTL Travel Master U553W + - hda-codec - Fix support of laptops with AD1986A codec + - hda-codec - Fix Aopen i915GMm-HFS mobo + - hda-codec - Fix unsol event initialization at resume of stac92xx + - hda-codec - Fix noisy output wtih AD1986A 3stack model + - hda-codec - Fix connection list parsing + - hda-codec - Fix AD1988 support + - 2.6 kernel sync: small patches + - hda-codec - Add another HP laptop with AD1981HD + - hda: add PCM for 2nd ADC on ALC260 + - hda: minor correction to fujitsu ALC260 initverbs + - hda: ALC260 test model implementation + - hda-codec - Add missing model entries for Intel 945 boards + - hda-intel - Automatic correction to single_cmd mode + - hda-codec - Add support for VAIO FE550G and SZ110 + - Add support of LG LW20 laptop + - hda-codec - Fix VREF level of Mic inputs on STAC92xx codecs + - hda-codec - Add channel-mode helper + - hda-codec - Prepare unsol workqueue on demand + - hda-codec - Fix a typo + - hda-codec - Fix assignment of speaker pin + - Remove xxx_t typedefs: HD-Audio codec + - hda-codec - Add AD1988 support + - hda-codec - Fix channel mode helper + - hda-codec - Fix/enhance AD1988 support + - hda-codec - Fix surrounds on 3stack mode of AD1988 + - hda-codec - Use model "hp" for all HP laptops with AD1981HD + - hda-codec - Add Thinkpad X60/T60/Z60 support + - hda-codec - Fix a typo + - hda-codec - Add entry for Epox EP-5LDA+ GLi + - hda-codec - Fix ALC codec probing + - hda-codec - Fix Oops with ALC260 auto-probe + - HDA/ALC260: 1/7 - Fix test model input mux label + - HDA/ALC260: 2/7 - switch pin buffer enables + - HDA/ALC260: 3/7 - generalise some structures + - HDA/ALC260: 4/7 - add GPIO switches to test model + - HDA/ALC260: 5/7 - add "acer" model + - HDA/ALC260: 6/7 - Fujitsu/test model tweaks + - HDA/ALC260: 7/7 - add SPDIF enable to test model + - hda-codec - Fix max_channels computation for STAC92xx codecs + - hda-codec - Fix init verb of ALC260 + - hda-codec - Fix typos in alc882 model table + - hda-codec - Fix BIOS auto-configuration + - hda-codec - Add support for HP nx9420 laptop + - hda-codec - Add support for ASUS P4GPL-X + - HDA/Realtek: multiple input mux definitions and pin mode additions + - hda-codec - update sigmatel support and bug fixes + - hda-codec - Small clean up and fixes + - hda-codec - Add the model entry for ASUS P5GD1-HVM + - hda-codec - Add model entry for Sony VAIO + - hda: sigmatel fixes + - hda-codec - Fix ALC262 for Fujitsu laptop + - hda-codec - Fix AD198x recording and add HP model + - Fix missing AD1986a capsrc + - hda-codec - Add model entry for FIC P4M-915GD1 + - hda-codec - Fix auto-probe of ALC880 + + HDA Intel driver + - [ALSA] hda-intel - Add support of ATI SB600 + - hda-intel - Automatic correction to single_cmd mode + - hda-intel - Auto-correction of the DMA position mode + - hda-intel - Add single_cmd option for debugging + - Remove xxx_t typedefs: HDA-Intel + - hda-intel - Fix PM support + - hda-intel - Use position buffer as default + - hda-intel - patch for Intel ICH8 + - hda-intel - Fix HDA probe_mask default + + HDA generic driver + - hda-codec - Add the support of ALC262,ALC883,ALC885,ALC861 + - hda-codec - Fix connection list parsing + - hda-codec - Allocate connection lists dynamically in generic parser + - hda-codec - Add channel-mode helper + - hda-codec - Fix assignment of speaker pin + - Remove xxx_t typedefs: HD-Audio codec + - hda-codec - Fix BIOS auto-configuration + - hda-codec - Fix generic auto-configurator + - hda-codec - Small clean up and fixes + - hda-codec - Fix ALC262 for Fujitsu laptop + - sound/: possible cleanups + + HDSPM driver + - Remove xxx_t typedefs: PCI HDSP-MADI + + I2C Kconfig + - Audio support for codec Philips UDA1380 + + I2C UDA1380 + - Audio support for codec Philips UDA1380 + + I2C cs8427 + - ice1712 & cs8427 - fix problem for S/PDIF input setup + - Remove xxx_t typedefs: I2C drivers + + I2C lib core + - semaphore -> mutex (driver part) + - Remove xxx_t typedefs: I2C drivers + + I2C tea6330t + - Remove tea6330t struct definition from public header + + ICE1712 driver + - ice1712 - Delta 1010LT S/PDIF fixes + - ice1724 - Add support of Prodigy-7.1LT + - Use DMA_28BIT_MASK and DMA_32BIT_MASK + - ice1712 - Fix wrong register value for DMX 6FIRE + - ice1712 - Fix wrong value types for enum items + - [ALSA] Add Aux input switch control for Aureon Universe + - ice1712 & cs8427 - fix problem for S/PDIF input setup + - Remove xxx_t typedefs: PCI ICE1712 + - Remove xxx_t typedefs: PCI ICE1724 + - sound/pci/: remove duplicate #include's + - ice1712 - Fix wordclock status on Delta1010LT + - sound/pci/ice1712/delta.c: make 2 functions static + - ice1712 - typo fixes for dxr_enable module option + - ice1712 - Fix Front Digital Input of Terratec DMX 6Fire + - ice1712 - disable unused ADCs & DACs on DMX6fire + + ICE1724 driver + - ice1724 - Add support of M-Audio Revolution 5.1 + - Remove xxx_t typedefs: PCI ICE1724 + + IOCTL32 emulation + - make control.c suspend aware + - dynamic minors (3/6): store device-specific object pointers dynamically + - Remove xxx_t typedefs: Ioctl32 + - Fix compile error with older 2.6 kernels + + ISA + - Add snd-miro driver + - Move miro driver to alsa-kernel + - Sort Kconfig entries + - Remove SND_GENERIC_DRIVER from isa/Kconfig + + Instrument layer + - Remove xxx_t typedefs: Instrument layer + + Intel8x0 driver + - intel8x0: Add quirk for Optiplex GX270 + - intel8x0 - Added swap_hp quirk for Fujitsu-Siemens Celsius H320 [0x10cf:0x12f2] + - intel8x0 - Fix/cleanup detection of codecs on SIS7012 + - intel8x0 - Clean up delay function + - Remove xxx_t typedefs: PCI Intel8x0 + - intel8x0 - Fix PM support + - intel8x0 - Disable ALI5455 SPDIF-input + - Add a new quirk for mute-LED and HP-only. + - intel8x0 - Add MCP51 PCI ID + - intel8x0 - wait for ICH_RESETREGS + - intel8x0 - Fix duplicate ac97_quirks entry + + Intel8x0-modem driver + - intel8x0 - Clean up delay function + - Remove xxx_t typedefs: PCI Intel8x0 + - intel8x0 - Fix PM support + + KORG1212 driver + - Fix possible races in timer callbacks + - korg1212 - Clean up debug prints + - Remove xxx_t typedefs: PCI KORG1212 + + L3 drivers + - Clean up sa11xx-uda1341 driver + - Remove xxx_t typedefs: I2C drivers + + MAINTAINERS file + - Sync with 2.6 GIT tree + - 2.6 kernel sync + - Sync with current 2.6 code + - Keep non-ALSA kernel files + - Add support for the CS5535 Audio device + - sync with recent 2.6 + + MIPS + - Remove snd_card_generic_dev() + + MIPS AU1x00 driver + - AMD Au1x00: make driver build after cleanup + - au1x00 - Code clean up + - Remove xxx_t typedefs: MIPS AU1x00 + - Remove snd_card_generic_dev() + - AMD Au1x00: fix DMA init/cleanup + - AMD Au1x00: AC'97 controller is memory mapped + + MIXART driver + - Remove xxx_t typedefs: PCI miXart + + MPU401 UART + - Fix possible races in timer callbacks + - Fix check of enable module option + - [PATCH] pnp: mpu401: adjust pnp_register_driver signature + - continue on IS_ERR from platform device registration + - unregister platform device again if probe was unsuccessful + - Remove xxx_t typedefs: MPU401 + - Remove xxx_t typedefs: MPU401 + - mpu401 - Use platform_device + + MSND driver + - Remove xxx_t typedefs: ISA MSND-Pinnacle + + Maestro3 driver + - Remove xxx_t typedefs: PCI Maestro3 + - Remove xxx_t typedefs: Patches + - maestro3 - Fix PM support + - maestro3.c: fix BUG, optimization + - Regenerated maestro3.patch + + Memalloc module + - semaphore -> mutex (core part) + - Use dma_alloc_coherent() hack on i386 only + - Fix patch + - Define dummy __GFP_XXX for older kernels + - dynamic minors (6/6): increase maximum number of sound cards + - Removed unneeded page-reserve + - Regenerated patch + - unpaged: fix sound Bad page states + + NM256 driver + - nm256 - Code clean up + - Remove xxx_t typedefs: PCI NM256 + - nm256-intel - Fix PM support + - Fix NM256 hard lock up + + OLD GF1 header + - Remove xxx_t typedefs: old gf1.h + + OPL3 + - Fix possible races in timer callbacks + - seq: remove struct snd_seq_client_callback + - seq: set client name in snd_seq_create_kernel_client() + - semaphore -> mutex (driver part) + - Fix use after free in opl3_seq and opl3_oss + - 2.6 kernel sync: small patches + - Remove xxx_t typedefs: OPL3 + - opl3 - Fix the unreleased resources + - Fix bogus snd_device_free() in opl3-oss.c + + OPL3SA2 driver + - opl3sa2 - Fix conflict of driver name on sysfs + - Remove xxx_t typedefs: ISA OPL3SA2 + - opl3sa2 - Use platform_device + - Fix compilation without CONFIG_PNP + - Fix adding second dma channel + + OPL4 + - seq: remove struct snd_seq_client_callback + - seq: set client name in snd_seq_create_kernel_client() + - semaphore -> mutex (driver part) + - Remove xxx_t typedefs: OPL4 + + OSS device core + - [PATCH] mark f_ops const in the inode + - Sync with 2.6 GIT tree + + Opti9xx drivers + - opti9x - Fix compile without CONFIG_PNP + - opti93x - Fix a compile warning + - Replace semaphore with mutex + - Add snd-miro driver + - Move miro driver to alsa-kernel + - Remove obsolete kfree_nocheck call + - Remove xxx_t typedefs: ISA Opti9xx + - Remove xxx_t typedefs: ISA Miro + - opti9xx - Use platform_device + - miro - Use platform_device + - Fix double free in error path of miro driver + - unregister platform devices + + PARISC Harmony driver + - harmony - Code clean up + - Remove xxx_t typedefs: PARISC Harmony + + PC98(CS423x) driver + - Remove xxx_t typedefs: ISA CS423x-PC98 + + PCI drivers + - Added a new als300 driver + - Make CONFIG_SND_CS46XX_NEW_DSP yes as default + - Add snd-riptide driver for Conexant Riptide chip + - Move riptide driver to alsa-kernel + - Add snd-als300 driver for Avance Logic ALS300/ALS300+ soundcards + - Move snd-als300 to alsa-kernel + - Add support for the CS5535 Audio device + - Sort Kconfig entries + - Add PCXHR driver + - Move PCXHR driver to alsa-kernel + - Enable asihpi only for i386 + + PDAudioCF driver + - Don't NULL check vfree argument in pdaudiocf_pcm.c + - [PATCH] 2.6 kernel sync: pcmcia: a lot of changes + - Fix build of pcmcia drivers on 2.6.16 kernel + - Remove xxx_t typedefs: PCMCIA PDaudioCF + - pdaudiocf - Fix PM support + - 2.6-sync: Sync with 2.6.16rc1 + - Fix compilation for older kernels + - Memory leak in sound/pcmcia/pdaudiocf/pdaudiocf.c + + PDPlus driver + - Remove xxx_t typedefs: PCI PD-plus + + PPC + - powermac - fix compile with older kernels + - powermac - Use platform_device + + PPC AWACS driver + - Remove xxx_t typedefs: PowerMac + + PPC Beep + - Remove xxx_t typedefs: PowerMac + + PPC Burgundy driver + - Remove xxx_t typedefs: PowerMac + + PPC DACA driver + - [PATCH] I2C: Drop unneeded i2c-dev.h includes + - Remove xxx_t typedefs: PowerMac + + PPC Keywest driver + - powermac - sync with 2.6 kernel + - powermac - fix compile with older kernels + - [PATCH] I2C: Drop unneeded i2c-dev.h includes + + PPC PMAC driver + - powermac - sync with 2.6 kernel + - powermac - fix compile with older kernels + - sound/ppc/pmac.c typo + - 2.6 kernel sync: small patches + - powermac - Revert the last addition for 17" powerbook + - Remove xxx_t typedefs: Patches + - powermac - Use platform_device + - powerpc: Fix sound driver use of i2c + - Fix compile with older kernel + - snd_powermac: Add ID for Spring 2005 17" Powerbook + + PPC PowerMac driver + - powermac - fix compile with older kernels + - unregister platform device again if probe was unsuccessful + - powermac - Use platform_device + + PPC Toonie + - [PATCH] I2C: Drop unneeded i2c-dev.h includes + + PPC Tumbler driver + - [PATCH] I2C: Drop unneeded i2c-dev.h includes + - PowerBook 6,1: headphone not detected after suspend in snd_powerpc + - powerpc: Fix sound driver use of i2c + - Fix tumbler.patch + + PXA Mainstone driver + - Added more files including ALSA codes + - Fix snd_xxx_t typedefs + - Sync with current 2.6 code + + RME HDSP driver + - Remove xxx_t typedefs: PCI HDSP + + RME32 driver + - [PATCH] Typo fixes + - Remove xxx_t typedefs: PCI RME32 + + RME96 driver + - [PATCH] Typo fixes + - Remove xxx_t typedefs: PCI RME96 + + RME9652 driver + - hdsp - Fix printk warnings + - sound/pci/rme9652/hdspm.c: fix off-by-one errors + - [PATCH] Typo fixes + - Remove xxx_t typedefs: PCI HDSP-MADI + - Remove xxx_t typedefs: PCI RME9652 + + RTC timer driver + - Remove xxx_t typedefs: Timer + + Raw OPL FM + - Remove xxx_t typedefs: OPL3 + + SA11xx UDA1341 driver + - unregister platform device again if probe was unsuccessful + - Clean up sa11xx-uda1341 driver + - Remove xxx_t typedefs: ARM SA11xx-UDA1341 + - Use platform_device + + SAA7134 driver + - Add saa7134-alsa.c for sync + - Added more files including ALSA codes + - Fix snd_xxx_t typedefs + - 2.6 kernel sync + - sync with recent 2.6 + + SB drivers + - sound/isa/sb/sb_mixer.c double kfree + - ALS4000 update + - Remove xxx_t typedefs: ISA SB8/SB16/SBAWE + - Add PM support to SB-support code + + SB16/AWE driver + - sb16 - Fix duplicated PnP entry + - semaphore -> mutex (ISA part) + - Remove xxx_t typedefs: ISA SB8/SB16/SBAWE + - Add PM support to SB-support code + - sb16 - Use platform_device and add PnP support + + SB8 driver + - Remove xxx_t typedefs: ISA SB8/SB16/SBAWE + - sb8 - Use platform_device and add PnP support + + SPARC + - Remove snd_card_generic_dev() + + SPARC AMD7930 driver + - Remove xxx_t typedefs: SPARC AMD7930 + - Remove snd_card_generic_dev() + + SPARC DBRI driver + - dbri - Don't return errors without CONFIG_PROC_FS + - Remove xxx_t typedefs: SPARC DBRI + + SPARC cs4231 driver + - 2.6-sync - fix typos + - Remove xxx_t typedefs: SPARC CS4231 + - Remove snd_card_generic_dev() + - 2.6-git-sync: Sync sparc/cs4231.c + + Serial BUS drivers + - Remove xxx_t typedefs: Patches + + SonicVibes driver + - Remove xxx_t typedefs: PCI Sonicvibes + + Sound Galaxy driver + - Remove xxx_t typedefs: ISA SB/AD-clone + - sgalaxy - Use platform_device, add PM support + + Sound Scape driver + - Remove xxx_t typedefs: ISA SoundScape + - sscape - Use platform_device + + SoundFont + - semaphore -> mutex (driver part) + - Remove xxx_t typedefs: Emu-X synth + + Support code for old kernels + - fix compilation on earlier kernels + - Fix for the recent changes of pnp_*_regsiter_driver() + - Add (psuedo) suspend/resume callbacks + + Synth + - Remove xxx_t typedefs: Emu-X synth + + Trident driver + - Prevent ALSA trident driver from grabbing pcnet32 hardware + - seq: remove struct snd_seq_client_callback + - seq: set client name in snd_seq_create_kernel_client() + - Remove xxx_t typedefs: PCI Trident + - trident - Fix PM support + + UDA1341 + - Clean up sa11xx-uda1341 driver + + USB USX2Y + - 2.6-sync - Remove .owner field from usb drivers + - Regenerated patches for usb drivers + - [PATCH] Typo fixes + - usx2y - Code clean up + - Remove xxx_t typedefs: USB-USX2Y + - Remove xxx_t typedefs: Patches + - unpaged: sound nopage get_page + - Fix for 2.6.14 and older kernels + + USB generic driver + - usb-audio: fix non-48k sample rates with SB Audigy 2 ZS + - 2.6-sync - Remove .owner field from usb drivers + - Regenerated patches for usb drivers + - usb-audio: optimize snd_usbmidi_count_bits() + - usb-audio: add Edirol PC-50 support + - Regenerate for mutex changes + - fix usbmixer double kfree + - fix resource leak in usbmixer + - usb-audio: fix Edirol UA-20 support + - add another Phase 26 quirk + - no need to check pointers passed to vfree() for NULL + - usb-audio: don't use empty packets at start of playback + - usb-audio: factor out packet size calculation code + - usb-audio: add UM-1EX/UM-2EX information + - usb-audio: add Casio AP-80R support + - usb-audio: show USB error descriptions + - usb-audio: change Casio quirk product name + - usb-audio: add Casio PL-40R support + - usb-audio: add Maya44 mixer control names + - Remove xxx_t typedefs: USB-Audio + - Subject: usb-audio: rename QUIRK_MIDI_MIDITECH to QUIRK_MIDI_CME + - Add support for EDIROL UM-3ex + - usb-audio: cosmetic changes + - usb-audio: add error message about missing split iso support + - Fixes audiophile usb analog capture with the new device_setup parameter + - Patch regenerated + - Test volume resolution of usb audio at initialization + - usb-audio: add Miditech Play'n Roll support + - usb-audio: add Roland G-70 support + - snd_pcm_format_name() is no longer exported + - usb-audio: fix number of G-70 ports + - usb-audio: add MDP-5/EZ-J24 support + + Utils + - PCM midlevel & PCM OSS - make procfs & OSS plugin code optional + - check for errors in patches + - dynamic minors (4/6): dynamic minor number allocation + - Changed file permissions for script and added .hgignore file + - pc-speaker hooks for 2.6.15 + - Add a patch for PnP suspend/resume + - Another build fixes + - Update of PC-speaker driver + + VIA82xx driver + - via82xx - Add dxs entry for ASRock mobo + - via82xx - Add dxs_support entry + - via82xx - Add dxs_support entry for EpoX 9HEAI + - via82xx - Add dxs entry for a FSC board + - via82xx - Add dxs entry for P4M800/VIA8237R + - via82xx - Add a dxs entry for ECS K8T890-A + - via82xx - Add dxs entry for FSC Amilo L7300 + - via82xx - Add dxs entry for EPoX EP-8KRAI + - Remove xxx_t typedefs: PCI VIA82xx + - via82xx - Fix PM support + - via82xx: add support for VIA VT8251 (AC'97) + - via82xx - Add a quirk for Targa Traveller 811 + - via82xx - Add dxs_support for ASUS mobo + - via82xx - Add dxs entry for ASRock mobo + + VIA82xx-modem driver + - Remove xxx_t typedefs: PCI VIA82xx + - via82xx - Fix PM support + + Wavefront drivers + - wavefront - Fix a compile warning + - Eliminate __attribute__ ((packed)) warnings for gcc-4.1 + - remove gcc-2 checks + - Remove xxx_t typedefs: ISA Wavefront + - wavefront - Use platform_device + + YMFPCI driver + - ymfpci: fix SPDIF sample rate information + - ymfpci: fix swapped channels in SPDIF output + - ymfpci: show chip model + - Remove xxx_t typedefs: PCI YMFPCI + - ymfpci - Fix PM support + - ymfpci - make rear channel swap optional + + au88x0 driver + - au88x0 - 64bit arch fixes + - au88x0 - clean up __devinit/__devexit + - Overrun in sound/pci/au88x0/au88x0_pcm.c + - au88x0 - Fix structs for equalizer + - au88x0 - Fix a compile warning + - au88x0: Remove unneeded call to pci_dma_supported() + - Remove xxx_t typedefs: PCI AU88x0 + + cvscompile script + - Changed file permissions for script and added .hgignore file + + pci_ids.h update + - Sync with 2.6 GIT tree + - Sync with current 2.6 code + - Keep non-ALSA kernel files + - Add support for the CS5535 Audio device + + snddevices script + - Remove bashism from snddevices + +Changelog between 1.0.10rc3 and 1.0.10 releases +(http://www.alsa-project.org/changes/v1-0-10rc3--v1-0-10.txt) +************************************************** + +* alsa-driver + + Sound Core + - Add a wrapper for the new platform_driver + - Improve header hacks + - release 1.0.10 + + ALSA Core + - Add printk_ratelimit() wrapper + - Remove hacks for owner field in pci_driver + - Simplify class_device_create() wrapper + - Use platform_driver + - Add a wrapper for the new platform_driver + - Improve header hacks + + /arm/Makefile + - Add a wrapper for the new platform_driver + + AC97 Codec + - ac97 - procfs - print PCI subsystem vendor/device values + + AD1889 driver + - 2.6-git-sync: Remove .owner field + + ALI5451 driver + - ali5451 - Fix and clean up codec accessor + + ALS4000 driver + - 2.6-git-sync: Remove .owner field + + ARM PXA2XX driver + - Use platform_driver + - Add a wrapper for the new platform_driver + + ATIIXP driver + - 2.6-git-sync: Remove .owner field + + ATIIXP-modem driver + - 2.6-git-sync: Remove .owner field + + Digigram VX core + - sound/drivers/vx/vx_hwdep.c should #include + + EMU10K1/EMU10K2 driver + - emu10k1 - Enable side surround channels for Audigy2 EX + - Add support for Audigy 2 subsystem 2006 + - snd-emu10k1: Attenuate output volume to reduce distortion + - snd-emu10k1: Found some new registers to display in debug mode. + + HDA Codec driver + - hda-codec - Allocate amp hash array dynamically + - hda-codec - Fix HDA sound and V.92 modem for notebook Siemens FieldPG-M + + HDA Intel driver + - sound/hda: rate-limit timeout message + + ICE1712 driver + - ice1724 (juli) - forced analog doughter board detection + + PPC PMAC driver + - pmac - remove superfluous include + + SPARC cs4231 driver + - 2.6-git-sync: Simplify SBUS code + + VIA82xx driver + - via82xx - Add dxs entry for MSI KT800 Delta-FSR + + +Changelog between 1.0.10rc2 and 1.0.10rc3 releases +(http://www.alsa-project.org/changes/v1-0-10rc2--v1-0-10rc3.txt) +************************************************** + +* alsa-driver + + Sound Core + - Add workaround for the old class_device_create() + - Add workarounds for the new driver suspend/resume callbacks + - Add page-reserve check for older kernels + - Add check of + - release 1.0.10rc3 + - Disable rtc-timer + + ALSA Core + - Add definition of gfp_t + - Add the missing forward declration + - Fix compilation with older kernels. + - remove snd_runtime_check() + - fix 2.2.x compilation + - Fix for old 2.4.x SUSE kernels + - Fix compile without CONFIG_PCI + - Fix compile with 2.2/2.4 kernels + - Add schedule_timeout_[un]interruptible wrappers. + - Fix Oops with suspend/resume of generic drivers + - clean up device types symbols + - fix improper CONFIG_SND_MAJOR usage + - Fix a typo in the last fix + - Fix for older 2.6 kernels + - Remove kmalloc wrapper from snd-page-alloc + - 2.6.14-git-sync: class_device_create() changes + - Add workaround for the old class_device_create() + - Sync 2.6.14-git: Replace with gfp_t + - DRIVER MODEL: Get rid of the obsolete tri-level suspend/resume callbacks + - Add workarounds for the new driver suspend/resume callbacks + - Add page-reserve check for older kernels + - 2.6-git sync: include + + HWDEP Midlevel + - fix improper CONFIG_SND_MAJOR usage + + PCM Midlevel + - fix improper CONFIG_SND_MAJOR usage + - 2.6-git sync: Remove page-reserve check + - Add page-reserve check for older kernels + + RawMidi Midlevel + - fix improper CONFIG_SND_MAJOR usage + + Timer Midlevel + - timer: fix timer instance memory allocation checks + - timer: remove list_entry() type casts + - timer: formatting changes + + /arm/Makefile + - Add workarounds for the new driver suspend/resume callbacks + + AC97 Codec + - ac97 - Fix confliction of DRA and surround slots + - DRIVER MODEL: Get rid of the obsolete tri-level suspend/resume callbacks + + AD1848 driver + - Fix schedule_timeout usage + + AD1889 driver + - Big kfree NULL check cleanup - sound + + AK4114 receiver + - Add missing KERN_* suffix to printk + + AK4117 receiver + - Add missing KERN_* suffix to printk + + ALI5451 driver + - Remove multi-card support for ali5451 and nm256 + + ALSA Minor Numbers + - clean up device types symbols + + ALSA sequencer + - seq-timer: restrict timer frequencies + - Fix schedule_timeout usage + + ALSA<-OSS emulation + - Add missing KERN_* prefix + + ARM AACI PL041 driver + - 2.6.14-git-sync: fix include + + ARM PXA2XX driver + - DRIVER MODEL: Get rid of the obsolete tri-level suspend/resume callbacks + - Add workarounds for the new driver suspend/resume callbacks + - 2.6-git sync: include + + ATIIXP driver + - Fix the type of enable module option + + ATIIXP-modem driver + - Fix the type of enable module option + + AZT3328 driver + - AZT3328 driver update + + BT87x driver + - 2.6.14-git-sync: pci_ids: macros: replace partial with whole symbols + + CA0106 driver + - snd-ca0106: Add midi support. + - ca0106: Cosmetic changes. + - ca0106: Added copyright messages. + + Common EMU synth + - Fix emu10k1 synth problems. + + Documentation + - Remove obsolete chip_t + - Add description about a new option of nm256 driver + - Remove multi-card support for ali5451 and nm256 + + EMU10K1/EMU10K2 driver + - Fix emu10k1 synth problems. + - emu10k1 - Use 31 bit DMA mask for Audigy + - snd-emu10k1: Enable Audigy 2 ZS Notebook [SB0530] + + ES18xx driver + - Add missing KERN_* suffix to printk + + GUS Library + - Fix schedule_timeout usage + + HDA Codec driver + - hda-codec - Get subsystem ID from AFG/MFG + - hda-codec - Minor rewrites + + HDA generic driver + - hda-codec - Show power state in proc file + - hda-codec - Minor rewrites + + HPE timer driver + - timers: add module refcounting for global timers + - hpetimer: allow non-power-of-two frequencies + + I2C cs8427 + - Add missing KERN_* suffix to printk + - Fix schedule_timeout usage + + I2C tea6330t + - Add missing KERN_* suffix to printk + + ICE1712 driver + - ice1724 - Add SPDIF support to Shuttle SN25P + + ICE1724 driver + - Add support of high-rate SPDIF output + + Instrument layer + - Replace with gfp_t + - Sync 2.6.14-git: Replace with gfp_t + + Intel8x0 driver + - intel8x0 - Fix handling of module parameters + - Fix the type of enable module option + - intel8x0 - fix capture for M1563 + - intel8x0 - Add ac97_quirk for Dell Inspiron 8600 + - intel8x0 - Fix irq handler registration + + Intel8x0-modem driver + - Fix the type of enable module option + + MAINTAINERS file + - Added MAINTAINERS file from 2.6 + + MIPS AU1x00 driver + - Remove obsolete chip_t + - AMD Au1x00 driver: buggy spinlocks + + Maestro3 driver + - Fix maestro3 hang after cold boot + + Memalloc module + - Replace with gfp_t + - adjust memalloc.patch + - fix 2.2.x compilation + - Remove kmalloc wrapper from snd-page-alloc + - Sync 2.6.14-git: Replace with gfp_t + + NM256 driver + - nm256: reset workaround for Latitude CSx + - Remove multi-card support for ali5451 and nm256 + + Opti9xx drivers + - Add missing KERN_* prefix + + PARISC Harmony driver + - 2.6.14-git-sync: Update harmony driver + + PCI drivers + - snd-ca0106: Add midi support. + + PPC Beep + - Remove obsolete chip_t + - 2.6.14-git-sync: convert sound/ppc/beep to dynamic input_dev allocation + + RME HDSP driver + - hdsp - Code clean up + + RME9652 driver + - Big kfree NULL check cleanup - sound + + SPARC DBRI driver + - Remove obsolete chip_t + + Sound Scape driver + - Fix schedule_timeout usage + + USB USX2Y + - Add missing KERN_* prefix + + USB generic driver + - usb-audio: don't call usb_reset_configuration() when probing + - Add missing KERN_* prefix + - usb-audio: remove superfluous include + - Sync with 2.6 + - Sync 2.6.14-git: Replace with gfp_t + - usb-audio: start submitting URBs in the prepared state + + VIA82xx driver + - Enable DXS controls for VIA VT82xx + - Reduce interrupt latency in sound/pci/via82xx.c + + YMFPCI driver + - ymfpci: change timer resolution to 48 kHz + + +Changelog between 1.0.10rc1 and 1.0.10rc2 releases +(http://alsa-project.org/changes/v1-0-10rc1--v1-0-10rc2.txt) +*********************************************** + +* alsa-driver + + Sound Core + - Add check of CONFIG_ISA_DMA_API + - Merge hpklinux to alsa-driver tree + - Fix detection of CONFIG_ISA_DMA_API + - ad1889: add AD1889 driver docs + - disable HPET driver + - Add a wrapper for register_sound_special_device() + - Add pci_ids.h wrapper + - Added kzalloc() wrapper + - release 1.0.10rc2 + + ALSA Core + - Define CONFIG_ISA_DMA_API for older kernels + - sparse: add __nocast to wrappers + - Add snd_card_set_generic_dev() call + - Add a wrapper for register_sound_special_device() + - Add pci_ids.h wrapper + - Add wrappers for pci_get_device() and pci_dev_put() + - Fixed compilation with older 2.6 kernels + - Added kzalloc() wrapper + - Replace with kzalloc() + - Try to fix compiling to work. More problems exist. + - fix typo that prevented compiling. + - include new PCI IDs with 2.2.x kernels + - set owner field in struct pci_driver + - fix driver_register() on old kernels + - fix missing return value of dummy snd_card_set_generic_dev() + - fix warning about CONFIG_ISA_DMA_API redefinition + - fix compilation on 2.2.x kernels + - Fix PCI IDs in rme32/96 driver + - Add getnstimeofday() wrapper. + - Move kmalloc wrappers to alsa-driver tree + - Fix compile without CONFIG_SND_DEBUG_MEMORY + + Generic drivers + - Add snd_card_set_generic_dev() call + - Replace with kzalloc() + + IOCTL32 emulation + - Replace with kzalloc() + + MPU401 UART + - mpu401: fix patch + + MSND driver + - sparse address space annotations + - msnd-pinnacle: remove strange escapes + - Remove vmalloc wrapper, kfree_nocheck() + + Memalloc module + - Move kmalloc wrappers to alsa-driver tree + + Opti9xx drivers + - Add snd_card_set_generic_dev() call + + +Changelog between 1.0.9b and 1.0.10rc1 releases +(http://alsa-project.org/changes/v1-0-9b--v1-0-10rc1.txt) +*********************************************** + +* alsa-driver + + Sound Core + - Move hdspm driver to alsa-kernel tree + - cosmetic changes + - note the alsaconf script in the alsa-utils package + - Fix compile warnings with gcc-4 + - Summar: miro: add missing INSTALL text for snd-miro + - Added CONFIG_CREATE_WORKQUEUE_FLAGS for Aurox distro + - kstrdup wrapper + - Remove -Werror from new ioctl check + - Move ARM PXA2xx AC97 driver to alsa-kernel + - Added CONFIG_HAVE_MSECS_TO_JIFFIES checks and implementation + - fix msecs_to_jiffies wrapper + - check for more required kernel headers + - Define dummy struct device + - Add riptide driver + - Fix compile with RH kernel + - fix for sparc64 - ioctl32 interface check + - Added description of ad1889 + - allow kernel build V and C options + - updated the build system for 2.6 to be more friendly + - Fix make install target + - one more fix for the make install target + - release 1.0.10rc1 + + ALSA Core + - Added CONFIG_CREATE_WORKQUEUE_FLAGS for Aurox distro + - Fix two typos and changes on snd_assert() + - cleanup and typo-correction + - Replace with kstrdup + - kstrdup wrapper + - Use kstrdup + - No more simple_class + - No more simple_class + - typo-fix and snd_assert()-expression-split + - Added CONFIG_HAVE_MSECS_TO_JIFFIES checks and implementation + - fix msecs_to_jiffies wrapper + - sound/core Fix the sparse warning "implicit cast to nocast type" + - Add __nocast wrapper + - Fix the declaration of snd_hidden_kcalloc() + - adds __init and in snd_memory_init() + - 2.2.x del_timer_sync() wrapper + - use preprocessor for HZ calculations, if possible + - usb-audio: use usb_buffer_alloc/free + - Timer API - added SUSPEND/RESUME events + - Timer API - SNDRV_TIMER_EVENT_RESUME - val is resolution in ns + + Control Midlevel + - Add const prefix + + PCM Midlevel + - Export snd_pcm_hw_params for old snd-ioctl32 module + - ALSA's struct _snd_pcm_substream: Obsolete open_flag + - make local objects static + - Fix PCM 32bit compat layer + - Timer API - added SUSPEND/RESUME events + + Timer Midlevel + - Remove redundant NULL checks before kfree + - Replace with kstrdup + - make local objects static + - Timer API - added SUSPEND/RESUME events + - ALSA timer - fixed compilation + + /arm/Makefile + - Add ARM PXA2xx AC97 driver + - Move ARM PXA2xx AC97 driver to alsa-kernel + + /sparc/Makefile + - Add DBRI driver on Sparcs + + AC97 Codec + - MC97 modem mixer in sound/pci/ac97 + - AC97 - renamed vendor/device to subvendor/subdevice where appropriate + - Fix resume of intel8x0 + - ac97: Fix volume control bit size detection for STAC9704. + - ac97 - remove unused variable + - Jack Sense support for AD1980 and AD1888 + - WM97xx AC97 codec controls + - AC97 bus interface for ad-hoc drivers + - use SNDRV_CTL_NAME_IEC958 macro + - WM9713 modem detection + - make local objects static + - Add VT1617A codec support + - ac97: make patch_wolfson_wm97??_specific() functions static + - ac97 - make ac97 codec device name unique + + AD1816A driver + - ad1816a - Add clockfreq module option + + AD1848 driver + - sound - fix .iface field of mixer control elements + + AK4114 receiver + - ak4114: removed duplicate wake_up() + + ALI5451 driver + - Modem support for ALI5451 + + ALSA sequencer + - Remove redundant NULL checks before kfree + - Fix dependency of GUS driver + - seq-midi - silently ignore non-MIDI events + - [2.6 PATCH] clean up inline static vs static inline + + ALSA<-OSS emulation + - Replace with kstrdup + - ALSA's struct _snd_pcm_substream: Obsolete open_flag + + ALSA<-OSS sequencer + - Remove redundant NULL checks before kfree + - [2.6 PATCH] clean up inline static vs static inline + + ARM + - Add ARM PXA2xx AC97 driver + - Move ARM PXA2xx AC97 driver to alsa-kernel + + ARM PXA2XX driver + - Add ARM PXA2xx AC97 driver + - Move ARM PXA2xx AC97 driver to alsa-kernel + - PXA27x AC97 warm reset + - Fix compiler warnings in PXA2XX-AC97 + + ATIIXP driver + - AC97 - renamed vendor/device to subvendor/subdevice where appropriate + - PCM resume cleanups + + ATIIXP-modem driver + - PCI modem drivers update + - Add new pci device id (SB400) to atiixp-modem + + BT87x driver + - [2.6 SYNC] bt87x driver - pci_match_device + + CA0106 driver + - Implement support for Line-in capture on SB Live 24bit. + - Add Mic capture support. + - Implement S32_LE(24bit) and 96000 capture rates etc. + - Be more specific with which I2C channel to use. + - sound/pci/ca0106: Use the DMA_32BIT_MASK constant + - ca0106: Fix 96000 Hz audio playback. + - use PCM interface for IEC958 controls + - Add new ID. Fixes ALSA bug #1298 + + CMI8330 driver + - use SNDRV_CTL_NAME_IEC958 macro + + CMIPCI driver + - cmipci - Add Mic Boost capture switch + + CS4231 driver + - PCM resume cleanups + + CS4236+ driver + - cs4236-irq-handling-fix.patch + + CS4281 driver + - Input: kill empty comment in gameport support section of cs4281 + ALSA driver. + + CS46xx driver + - sound - fix .iface field of mixer control elements + + Digigram VX Pocket driver + - Add PCMCIA id table + - Fix and clean-up of vxpocket driver + - vxpocket - Remove unused code + - [PATCH] pcmcia: remove references to pcmcia/version.h + + Digigram VX core + - Remove redundant NULL checks before kfree + - vx-driver - Fix the calculation of frequency parameter + - [2.6 PATCH] clean up inline static vs static inline + - use PCM interface for IEC958 controls + - PCM resume cleanups + + Documentation + - Add write support to snd-page-alloc proc file + - Add documentation for HDSP MADI + - Move hdspm driver to alsa-kernel tree + - hda-codec - More fix of ALC880 codec support + - hda-codec - Add 6stack model for ALC880 + - Fix and clean-up of vxpocket driver + - Add DBRI driver on Sparcs + - Add ARM PXA2xx AC97 driver + - sound - fix .iface field of mixer control elements + - Add riptide driver + - ad1816a - Add clockfreq module option + + EMU10K1/EMU10K2 driver + - emu10k1: Add more card identification entries. + - snd-emu10k1: Card capabilities tidy up. + - snd-emu10k1: Tidy mixer controls. + - emu10k1: Sort by card id. + - emu10k1: Added tested status comments. + - emu10k1: Add module option uint subsystem. + - snd-emu10k1: Fixes recognition of Audigy ES. + - emu10k1: Add EMU 1212m card entry and document it as not supported yet. + - sound - fix .iface field of mixer control elements + - use PCM interface for IEC958 controls + - Add new card ID. Fixes ALSA bug #1297 + + ENS1370/1+ driver + - ens1371 - added extra delay for ac97 codec initialization + - sound/pci: fix-up sleeping paths + - use SNDRV_CTL_NAME_IEC958 macro + - use PCM interface for IEC958 controls + + ES1968 driver + - sound/pci: fix-up sleeping paths + + FM801 driver + - use SNDRV_CTL_NAME_IEC958 macro + + GUS Library + - Replace with kstrdup + - fix compiler warning + - make local objects static + + Generic drivers + - Use kstrdup + - [2.6 PATCH] clean up inline static vs static inline + + HDA Codec driver + - Fix the handling of amp cache in hda-codec + - Fix the PCM mixer switch for AD1986A + - Fix the analog loopback volumes of ALC codecs + - hda-codec - Feed front signals to all surrounds + - hda-codec - Clean up and fix ALC-codec support code + - hda-codec - Allow sub_device=0 in board config check + - hda-codec - Add support of more models with ALC codecs + - hda-codec - More fix of ALC880 codec support + - SigmaTel HDA SPDIF and input mux updates + - hda-codec - Fix oops with ALC880 + - hda-codec - SigmaTel HDA multichannel support + - hda-codec - SigmaTel HDA resume support + - hda-codec - Add 6stack model for ALC880 + - hda-codec - Add entry for Acer APFV + - Use kstrdup + - hda: add sigmatel hp detect support + - hda driver, correct bug in model "auto" + - hda-codec - Fix reordering of surround channels + - hda-codec - Add default config for ASUS P5AD2 + - hda-codec - Fix LFE volume/switch + - Summar: hda-codec - MFG support + - hda-codec - support for Si3054/5 HDA modems + - hda-patch-realtek - added pci subdevice ID for Acer TravelMate 8100 + (3 stack model + digital out) + + HDA Intel driver + - hda-codec - Add support of more models with ALC codecs + - hda-codec - More fix of ALC880 codec support + - hda: enable unsolicited responses + - hda-intel - Add SiS966 support + - hda-intel: Suspend/resume fixes for PCM devices + + HDA generic driver + - hda-codec - Print all AMP IN values + - hda-codec - More fix of ALC880 codec support + - Summar: hda-codec - MFG support + - hda-codec - support for Si3054/5 HDA modems + + HDSPM driver + - Add HDSP MADI driver + - Move hdspm driver to alsa-kernel tree + + IOCTL32 emulation + - Export snd_pcm_hw_params for old snd-ioctl32 module + + Instrument layer + - sound/core Fix the sparse warning "implicit cast to nocast type" + + Intel8x0 driver + - AC97 - renamed vendor/device to subvendor/subdevice where appropriate + - Add FSC T3010 quirk + - Fix resume of intel8x0 + - sound/pci: fix-up sleeping paths + - intel8x0 - Fix PM + + Intel8x0-modem driver + - PCI modem drivers update + + Maestro3 driver + - maestro3 - Clean up + + Memalloc module + - Add write support to snd-page-alloc proc file + - fix compilation on 2.2.x kernels + - sound/core Fix the sparse warning "implicit cast to nocast type" + - fix memalloc.patch + - make local objects static + + NM256 driver + - nm256 - Fix PM and irq handling + + OPL3SA2 driver + - opl3sa2 driver - added support for PnP BIOS devices + - opl3sa2 - fixed typo in PnP BIOS IDs (YMF0021 -> YMH0021) + - opl3sa2 - use different name for PnP BIOS driver + + OSS device core + - No more simple_class + + Opti9xx drivers + - miro: add firmware 0x07 which is pcm20 revE + - miro: MPU-401 error action bugfix + - miro: set mixer values for aci on startup + - miro: OPL4 support + + PCI drivers + - Add HDSP MADI driver + - AC97 bus interface for ad-hoc drivers + + PCMCIA Kconfig + - Fix and clean-up of vxpocket driver + + PDAudioCF driver + - Add PCMCIA id table + - [PATCH] pcmcia: remove references to pcmcia/version.h + - [PATCH] pcmcia: move event handler + + PPC AWACS driver + - Sync with mainstream + - Fix-up sleeping in sound/ppc + + PPC DACA driver + - Sync with mainstream + + PPC PMAC driver + - Sync with mainstream + - Fix-up sleeping in sound/ppc + + PPC Tumbler driver + - Sync with mainstream + - Fix-up sleeping in sound/ppc + + RME HDSP driver + - Add write support to snd-page-alloc proc file + - hdsp - Add "Sample Clock Source Locking" control + + RME9652 driver + - Add write support to snd-page-alloc proc file + - Add HDSP MADI driver + - Fix compile warnings + - [2.6 SYNC] use the way from 2.6 to avoid warnings for #if ABCD + - hdspm - Fix module parameter description + + SB drivers + - Fix compile warnings + - [2.6 SYNC] use the way from 2.6 to avoid warnings for #if ABCD + + SPARC + - Add help texts to Kconfig + - Add DBRI driver on Sparcs + + SPARC DBRI driver + - Add DBRI driver on Sparcs + + Trident driver + - Disable MPU401 on SIS7018 + - trident - Shut up compile warnings + + USB USX2Y + - Fix-up sleeping in sound/usb + - ALSA's struct _snd_pcm_substream: Obsolete open_flag + + USB generic driver + - usb-audio - high speed audio support + - usb-audio - fix capture of non-48k sample rates on Audigy 2 NX + - usb-audio: add support for an unknown Yamaha USB MIDI device + - usb-audio - enable high speed transfers with Audiy 2 NX + - usb-audio - rename QUIRK_MIDI_MOTU to QUIRK_MIDI_RAW + - usb-audio - use bDeviceSubClass to detect MOTU FastLane + - Fix-up sleeping in sound/usb + - usb-audio - add support for Miditech USB MIDI keyboards + - usb-audio - change quirk type handling + - usb-audio: throttle MIDI URB resubmits on USB errors + - usb-audio: use 1 ms URBs when capturing + - usb-audio: fix packets per URB calculation for playback + - usb-audio: make nrpacks parameter writeable + - usb-audio: schedule high speed URBs with 1 ms alignment + - usb-audio: optimize handling of capture URBs + - usb-audio: double-buffer all playback data + - usb-audio: actually schedule playback URBs at frame boundaries + - usb-audio: properly lock hwptr_done accesses + - usb-audio: use vmalloc for the PCM buffer + + VIA82xx driver + - via82xx - added 0x1071/0x8399 to while list + - AC97 - renamed vendor/device to subvendor/subdevice where appropriate + - via82xx - fixed entry for Umax AB 595T (VIA K8N800A - VT8237) + - via82xx - Fix info text about dxs_support option + - Add dxs_support for Soltek SL-K8Tpro-939 + - via82xx - added MSI K7T266 Pro2 - 4005:4710 to white list (DXS enable) + - via82xx - changed MSI K7T266 Pro2 - 4005:4710 in white list (SRC enable) + - sound/pci: fix-up sleeping paths + - via82xx - Fix dxs_support of twinhead laptop + - via82xx - Add dxs entry for Acer Aspire 1524 WMLi + - use SNDRV_CTL_NAME_IEC958 macro + - via82xx - Add DXS entry for MSI K8MM-V + - via82xx - Fix SPDIF sample rates + - PCM resume cleanups + - via82xx - Add DXS entry for MSI 7142 + + VIA82xx-modem driver + - PCI modem drivers update + + YMFPCI driver + - ymfpci: add per-voice volume controls + + cvscompile script + - Fix alsa-driver to use more up to date autoconf tools. + + snddevices script + - snddevices - extensions from Thomas Hood + +Changelog between 1.0.9a and 1.0.9b releases +(http://www.alsa-project.org/changes/v1-0-9a--v1-0-9b.txt) +******************************************** + +* alsa-driver + + Sound Core + - release 1.0.9b + + ALSA Core + - Added DMA_32BIT_MASK + - fix compilation on 2.2/2.4 kernels + + +Changelog between 1.0.9 and 1.0.9a releases +(http://alsa-project.org/changes/v1-0-9--v1-0-9a.txt) +******************************************* + +* alsa-driver + + Sound Core + - Check class_simple and patch for the new class device + - release v1.0.9a + - release 1.0.9a + + ALSA Core + - Check class_simple and patch for the new class device + + PCM Midlevel + - Fix races between PCM drain and other ops + + ALSA Version + - release v1.0.9a + + ALSA<-OSS emulation + - OSS PCM emulation - The final fix for SNDCTL_DSP_GETOPTR problem + - OSS PCM emulation - The 2nd final fix for SNDCTL_DSP_GETOPTR problem + + HDA Intel driver + - hda-intel - Fix Oops in the error path + + +Changelog between 1.0.8 and 1.0.9 releases +(http://www.alsa-project.org/changes/v1-0-8--v1-0-9.txt) +****************************************** + +* alsa-driver + + Sound Core + - Move azx driver to alsa-kernel tree + - Check the new unlocked/compat_ioctl + - Add msleep_interruptible() and ssleep() wrappers + - Add pxa2xx-ac97 and pxa2xx-pcm modules for ARM + - Add PC-speaker PCM driver support + - Detection of ARM arch flags, PC-speaker hook + - add check for kernel vsnprintf + - MPU-401 PnP support + - define CONFIG_X86 on X86_64 + - Don't replace existing alsasound + - Fixed TAGS target + - just cosmetic fix + - release: 1.0.9rc1 + - add HPET support + - big sync with 2.6 (joystick changes & mips tree) + - Added MIPS driver support + - release: 1.0.9rc2 + - fix --with-kernel/--with-build parameter handling + - fix logic error when checking for the kernel version.h + - fix configure.in typo + - Fix compilation with module version on 2.2/2.4 kernels + - Merge Gina3G and Layla3G support to a single driver + - release: 1.0.9rc3 + - Fix CONFIG_INPUT and CONFIG_PPC_PMAC + - fix io_remap_{page|pfn}_range checks + - release: 1.0.9rc4 + - Fix compile options for kernel config checks + - release: 1.0.9rc4a + - Add comments for $CONFIG_SND + - Use standard form for URL + - release: 1.0.9 + + ALSA Core + - Added workqueue implementation for 2.4 kernels (no 2.2 yet) + - exports for 2.4 workqueue implementation + - Export new register/unregister functions + - Remove snd-ioctl32 entry + - Check the new unlocked/compat_ioctl + - Add a dummy entry for snd-ioctl32 + - Move snd-ioctl32 codes to alsa-driver + - Use DEFINE_SPINLOCK(), DEFINE_RWLOCK() macros + - Add DEFINE_SPINLOCK() & DEFINE_RWLOCK() wrappers + - Add msleep_interruptible() and ssleep() wrappers + - Add newline to printk + - Fixed 2.4 workqueue compat routines + - Remove pm_register/pm_unregister + - Add CONFIG_SND_GENERIC_PM + - Add the PM code for 2.2/2.4 kernels + - Interpret negative index as bitmask of permissible indexes + - compatibility code for older kernels + - fix snd_compat_msleep* exports + - completion emulation for 2.2 kernels + - driver model type fixes for ALSA + - Add pm_message_t and PMSG_* for older kernels + - Regenerated for suspend/resume fix + - Fix inclusion of pm.h + - Fix suspend/resume functions + - Fix suspend/resume functions + - Kconfig: cleanup sound menu + - Add wait_event_interruptible_timeout() wrapper + - add wait_event_interruptible_timeout wrapper + - use struct task_struct instead of task_t + - set the first argument to pm_register + - add check for kernel vsnprintf + - MPU-401 PnP support + - Fix the check of new PM macros + - Fix compilation without debug option + - workarounds for symbols not exported in 2.2.x kernels + - use simple_strtoul instead of simple_strtol + - remove duplicate module alias + - define __le16 for 2.6 kernels that do not have it + - Fix typos + - add HPET support + - add HPET support + - Reduce stack usage + - Use vprintk() + - Add vprintk() wrapper + - Replace with macros for gameport initialization + - Add compat layer for old gameport API + - Fix compilation with older kernels + - fix compilation with modversions + - fix wait_ms conflict + - Fix compile without CONFIG_PCI + - fix pm_message_t vs. u32 in alsa + - add PCI_Dx power states + - Use pci_module_init() on older kernels + - fix pci_register_driver compatibility with 2.2.x kernels + - replace SNDRV_PCM_HW_PARAMS_RUNTIME -> SNDRV_PCM_HW_PARAMS_NORESAMPLE + - Fix compilation with older 2.6 kernels + - Increase timer protocol number + - Fixed conflict of pci_module_init definition + - Make pci_register_drivers() compat layer to 2.6 style + - Fix compilation with module version on 2.2/2.4 kernels + - usb-audio - add Extigy/Audigy 2 NX remote control support + - remove superfluous MODVERSIONS definitions + - usb-audio - 2.2.x compatibility + - compiling problem fixed + - Change some timer ioctls due to confliction + - sound/core/: possible cleanups + - fix io_remap_{page|pfn}_range checks + + Control Midlevel + - unlocked/compat_ioctl rewrite for control API + - Compile fix for old ioctls + - driver model type fixes for ALSA + - Fix the wrong function call from ioctl + - Control API - fix the wrong allocation for userspace controls + - Reduce stack usage + - Suppress debug message + + HWDEP Midlevel + - unlocked/compat_ioctl rewrite for hwdep, rawmidi, timer and sequencer API + - Compile fix for old ioctls + - big sync with 2.6 (joystick changes & mips tree) + + PCM Midlevel + - Sumary: Fix comment of snd_pcm_lib_malloc_pages() + - unlocked/compat_ioctl rewrite for PCM API + - Compile fix for old ioctls + - Use DEFINE_SPINLOCK(), DEFINE_RWLOCK() macros + - Fix 32bit calls to snd_pcm_channel_info() + - [SPARSE] Fix __user pointers + - Fix rounded-up integer division bug + - Fix bugs with incorrectly wrapped appl_ptr + - Add proper spin/irq locks to suspend + - Reduce stack usage + - Fix permissions in some /proc files + - [Sync] Use io_remap_pfn_range + - Use io_remap_page_range() for older kernel + - Export missing snd_pcm_format_*() + - sound/core/: possible cleanups + - Fix for older kernels + - fix io_remap_{page|pfn}_range checks + - Make docproc happy + + RawMidi Midlevel + - unlocked/compat_ioctl rewrite for hwdep, rawmidi, timer and sequencer API + - Compile fix for old ioctls + - replace schedule_timeout() with msleep() + - replace interruptible_sleep_on_timeout() with wait_event_interruptible_timeout() + - [SPARSE] Fix __user pointers + - fix buffer wrap in snd_rawmidi_transmit_peek + - fix counting of MIDI input overruns + - remove _snd_rawmidi_runtime.trigger + - move common code into snd_rawmidi_runtime_create/_free functions + - move rawmidi event callback into tasklet + - rawmidi - fix locking in drop_output and drain_input + - rawmidi - move output trigger into a tasklet + + Timer Midlevel + - unlocked/compat_ioctl rewrite for hwdep, rawmidi, timer and sequencer API + - Use DEFINE_SPINLOCK(), DEFINE_RWLOCK() macros + - Fix Oops with timer notifying + - Wake up polls and signals at timer notification + - add HPET support + - Reduce stack usage + - timer - added tread semaphore + - Add missing PAUSE ioctl + - Change some timer ioctls due to confliction + - fixed PAUSE ioctl for user space interface + - sound/core/: possible cleanups + + /arm/Makefile + - Add pxa2xx-ac97 and pxa2xx-pcm modules for ARM + - Add s3c24xx i2s audio core + - ARM AACI primecell driver + + /isa/Makefile + - initial version of miroSOUND PCM1 pro, PCM12, PCM20 radio driver + + AC97 Codec + - Fix silent output on some machines with AD1981x codecs + - Simplify the general ac97 volume/switch callback + - Enable HP jack sense for FSC Scenic-W + - Special AC97 patch for ASUS W1000/CMI9739 laptop + - Bind master and HP controls with hp_only quirk + - add STAC9708 output bias mixer control + - Fix rate setting on multiple codecs + - Fix CM9761A codec support + - Fix CM9761 again + - Fix CM9761 again + - use simple_strtoul instead of simple_strtol + - Fix stereo mutes on Surround volume control + - Restore the default value after rate detection + - Add AD1986 support + - AC97 wm9713 support + - Fix ALC655/658/850 SPDIF playback route + - Replace '/' with commas in ac97 codec names + - Add AC97_SCAP_NO_SPDIF flag + - Fix the detection of resolution of ac97 controls + - Remove unused variables + - Add CM9780 support, fix CM9761 SPDIF + - Fix MC97 codec initialization + - MC97 registers reset + - Improve the shared-jack handling on ac97 + - fix behaviour of ac97_enum_mixer elements + - ac97 - add the "Mic Front Input Switch" control (ALC850) + - ac97 - fix Mic jack sharing on AD1888 codecs + - ac97 - enable multichannel output on AD198x codecs + - Remove obsolete mixer control + - Fix Mic/CLFE sharing on AD1985 + - Fix a wrong bit set in AC1985 code + + AD1816A driver + - Add PnP ID ADS7180 + + AK4114 receiver + - Added ICE1724 - ESI Juli@ code (not complete) + AK4114 code + AK4358 + - Added ESI Juli@ driver + - fix typo in assignment of snd_ak4114_spdif_playback_put + - AK4114 - fixed workqueue initialization & removed debug code + - ak4114 (Juli@) - increased delay between statistics update & rate check + + AK4117 receiver + - AK4117 code - fixed cosmetic typos + + AK4XXX AD/DA converters + - Added ICE1724 - ESI Juli@ code (not complete) + AK4114 code + AK4358 + + ALS100 driver + - fixes als100 not detecting opl3 + + ALS4000 driver + - Replace with macros for gameport initialization + - Replace pci_module_init() with pci_register_driver() + - als4000 - Fix kernel panic with MPU401 + + ALSA Version + - release: 1.0.9rc2 + - 1.0.9rc3 + - 1.0.9rc4 + - release: 1.0.9rc4a + + ALSA sequencer + - unlocked/compat_ioctl rewrite for hwdep, rawmidi, timer and sequencer API + - Use DEFINE_SPINLOCK(), DEFINE_RWLOCK() macros + - [SPARSE] Fix __user pointers + - Fix compilation with compat support + - remove superfluous from_timer_port parameter + - Add module_init and module_exit entries + - add module aliases for rtctimer and seq-dummy + - Fix typos + - big sync with 2.6 (joystick changes & mips tree) + - seq - fix local variable initialization + - Fix memory leak + - virmidi - fix ioctl parameter passing when creating seq port + - virmidi - fix ioctl parameter passing when setting client name + - sound/core/: possible cleanups + + ALSA<-OSS emulation + - unlocked/compat_ioctl rewrite for OSS compatible drivers + - [SPARSE] Fix __user pointers + - [SPARSE] Use unsigned int :1 bitfields + - fix forgotten release of semaphore in error path + - kill dead code + - Fix capture on OSS emulation + - pcm_oss - fix SNDCTL_DSP_GETOPTR not working correctly + - Reverted last patch for SNDCTL_DSP_GETOPTR fix & possible overflow fix + - alsa-oss - improve readability of snd_pcm_oss_bytes() function + - alsa-oss - 2nd - improved readability + - Fix compilation on 32bit arch + + ALSA<-OSS sequencer + - unlocked/compat_ioctl rewrite for OSS compatible drivers + - Remove interruptible_sleep_on_timeout(). + + AMD InterWave driver + - fix sound/isa/gus/interwave.c compile with PNP=n + + ARM + - Add pxa2xx-ac97 and pxa2xx-pcm modules for ARM + - Add s3c24xx i2s audio core + - ARM AACI primecell driver + + ARM AACI PL041 driver + - ARM AACI primecell driver + + ARM DMA routines + - ARM DMA subsystem + + ARM PXA2XX driver + - Add pxa2xx-ac97 and pxa2xx-pcm modules for ARM + - Fix a typo + - Fix pxa2xx ac97 driver + + ARM S3C24XX IIS driver + - Add s3c24xx i2s audio core + + ATIIXP driver + - Add quirk for HP pavilion ZV5030US + - Fix suspend/resume with ATIIXP + - Add AC97_SCAP_NO_SPDIF flag + - Replace pci_module_init() with pci_register_driver() + + ATIIXP-modem driver + - Add workaround for buggy ATI IXP hardwares + - Set default index of modem and bt87x drivers to -2 + - fix pm_message_t vs. u32 in alsa + - Replace pci_module_init() with pci_register_driver() + + AZT3328 driver + - Replace with macros for gameport initialization + + BT87x driver + - Set default index of modem and bt87x drivers to -2 + - Add __iomem prefix + + CA0106 driver + - Add support for Audigy2LS on MSI motherboard + - Increase buffer sizes for the CA0106 driver + - Skip ac97 SPDIF controls + - Fix permissions in some /proc files + - make code static + - Implement surround71 outputs on SB Live 24bit. + - When the alsamixer says "SPDIF Out [Off]", SPDIF output should be off and Analog output should be on. + - Tidy up card recognition. + + CMIPCI driver + - CMI8768 patch + - Don't query chip models on CMI8338 + - Replace with macros for gameport initialization + + CS423x drivers + - initial version of miroSOUND PCM1 pro, PCM12, PCM20 radio driver + + CS4281 driver + - fix locking for rawmidi trigger callbacks + - remove superfluous spin_lock_irqsave calls + - remove unneeded interrupt locks in rawmidi drivers + - Replace with macros for gameport initialization + - cs4281 - fix typos in the case gameport is disabled + - cs4281 - fix DLLRDY not seen problem + + CS46xx driver + - remove superfluous spin_lock_irqsave calls + - big sync with 2.6 (joystick changes & mips tree) + + Digigram VX Pocket driver + - Add missing inclusion of linux/device.h + + Digigram VX core + - Show firmware loading state in proc file + - Add missing inclusion of linux/device.h + - replace schedule_timeout() with msleep() + - driver model type fixes for ALSA + + Digigram VX222 driver + - Add missing inclusion of linux/device.h + + Documentation + - Fix typos in doc + - fix typo + - Add Intel HDA driver + - Move azx driver to alsa-kernel tree + - Warning doc about VIA82xx recording + - Remove descriptions of obsolete options + - HDSP fixes + - Interpret negative index as bitmask of permissible indexes + - Set default index of modem and bt87x drivers to -2 + - Fix descriptions about suspend/resume callbacks + - fix snd-serial-u16550 docs for setserial + - document rawmidi interface + - documentation - clarify information about atomic callbacks + - rawmidi - move output trigger into a tasklet + - some docs for the new emu10k1 multichannel functionality + - Support all sample rate conversion capabilities of DXS channels + - Replace pci_module_init() with pci_register_driver() + - Add position_fix module option + - Add ASUS Z71V support + - Adding support for ATI IXP450 HD Audio device support + - Add support of VIA VT8251/VT8237A HD-Audio controllers + - cmipci: Fix obsolete description + - Update documentation for ice1712 and ice1724 + - [doc] Fix a comment about dxs_support for via82xx driver + - ice1724 - Add support of Chaintech AV-710 + + EMU10K1/EMU10K2 driver + - Changes "Music" to "Synth" in mixer control names + - capture EXTINs with multichannel device + - add 96Khz support and setting sample rate for direct SPDIF output + - split snd_emu10k1_trigger_voice into trigger and prepare functions + - Enables SPDIF output on the Audigy2 Value + - emu10k1 driver - add multichannel device hw:x,3 [1/8] + - emu10k1 driver - add multichannel device hw:x,3 [2-8/8] + - emu10k1 - add "voices" /proc entry for debugging the voice allocator + - [SPARSE] Use unsigned int :1 bitfields + - Fix comiple with old gcc + - [SPARSE] Fix __user pointers + - remove an unnecessary printk + - Fix the Audigy SPDIF sample rate register definitions + - emu10k1 - fix the initial value for Captured FX8010 Outputs + - Fix pops and clicks at beginning/end of playback + - Fix voice allocation corruption + - emu10k1 - give the subdevices descriptive names + - emu10k1 - Silence the "BUG (or not enough voices)" message + - emu10k1 - copyright additions/fixes + - emu10k1 - add support for p16v chip (24-bit playback) + - fix P16V breakage for non Audigy2 cards + - fix misc oopses + - emu10k1 external tram size + - Fix 96000 SPDIF out from Audigy 2 P16V + - Add framework for better audigy sound card capabilities selection + - Fixes AC3 output on Audigy2 sound cards + - Clean up the chip detection + - Fix Oops in snd_emu10k1_add_controls + - Fix EFX voice allocation/preparation + - Add AC97_SCAP_NO_SPDIF flag + - Adds Capture to P16V chip. + - Add's identification of the SB Live! Platinum [CT4760P] + - Added identification for the Audigy ES. + - clean up card features + - Use old default id strings for compatibility + - Fix the default id of multiple cards + - Audigy SB0090 identification + - Check revision for the proper detection of audigy 2 + - Display SPDIF in status in proc fs "spdif-in" file. + - Improve SPDIF playback via the P16V/CA0151 chip. + - Improve playback startup. Increase buffer size, and reduce xruns. + - Fix typo in speaker routing. Now sound comes from the correct speakers + - Fix compile warning + - Fix permissions in some /proc files + - trivial warning fix for emu10k1 + - Update A_SAMPLE_RATE register details. + - Support multiple capture rates on p16v. + - Implement different capture sources. + - Increase capture buffer sizes. + - emu10k1 - add SB0060 to emu_chip_details + - emu10k1: add details for the audigy player box version + + EMU8000 driver + - replace schedule_timeout() with msleep() + + ENS1370/1+ driver + - remove superfluous spin_lock_irqsave calls + - remove unneeded interrupt locks in rawmidi drivers + + ES1968 driver + - Fix resume of es1968 + - Fix Oops with joystick support + - Add the vendor 0x1558 to PM whitelist of es1968 + + FM801 driver + - FM801 - radio: Fixed thinko for tea575x_tuner module parameter (int type not bool) + - Add PCI ID for Gallant Odyssey Sound 4 + + GUS Library + - insert set_current_state() before schedule_timeout() + - replace schedule_timeout() with msleep_interruptible() + - remove interruptible_sleep_on_timeout() usage + - [SPARSE] Use unsigned int :1 bitfields + - GUS - Remove unused gus_lfo.c file + - sound/isa/: cleanups + + Generic drivers + - Add PC-speaker PCM driver support + - replace the param arrays with a single vars + - [SPARSE] Use NULL instead of 0 + - fix indentation + - add port names for serial MIDI ports + - fix locking for rawmidi trigger callbacks + - remove unneeded interrupt locks in rawmidi drivers + + HDA Codec driver + - Add Intel HDA driver + - Fix resume callback + - Fix detection of AFG node + - [SPARSE] Use NULL instead of 0 + - Don't set up the front stream twice + - Fix SPDIF output + - Fix Digital Input + - ALC882 support, fix ALC880 5-stack mode + - Fix digital input + - Fix ALC260 support + - Fix ALC260 input + - Use full-digital model as default for CMI9880 + - Add new C-Media 9880 codec ID + - Fix SPDIF output on CMI9880 + - use amp capabilities from afg if amp override not set + - correct comment for setting widget output + - Add AD1986A support + - Add Mono volume controls for ALC260 + - fix multi-channel for model==full + - choose multi-channel jacks automatically + - hda: fix vref cap and ctl values + - add sigmatel codec support + - Add AD1981HD and AD1983 support + - Remove dead code + - Misc clean up + - Fix and cleanup of CM9880 auto-configuration + - Add ASUS Z71V support + - Add test model for debugging ALC880 devices + - Rename pci_vendor/pci_device to pci_subvendor/pci_subdevice + - make code static + - Suppress error message + - Allow more than 2 channel modes + - Add Analog Devices vendor name + - hda-code: Fix the array size of codec list + - Fix ALC880 capture problems + + HDA Intel driver + - fix usage of preprocessor directive inside macro + - Add support for ESB2 Southbridge HDA + - Add position_fix module option + - Adding support for ATI IXP450 HD Audio device support + - Add support of VIA VT8251/VT8237A HD-Audio controllers + - Fix a typo in position_fix module option type + + HDA generic driver + - Add Intel HDA driver + - Fix mono volume/mute controls + - Fix Digital Input + - Fix auto-probing of widget tree + - Add AD1986A support + - Show currectly selected widget in proc_read for hda driver + - hda: fix vref cap and ctl values + - add sigmatel codec support + - Fix a typo in comments + - Show PIN jack type + - Rename pci_vendor/pci_device to pci_subvendor/pci_subdevice + + HPE timer driver + - add HPET support + + ICE1712 driver + - Add support for Chaintech 9CJS + - Added support for Terratec PHASE 22 + - Fix sample rates of Revo 7.1 + - Provides preliminary support for the Terratec Phase 28 card + - Add Shuttle SN25P support + - Update documentation for ice1712 and ice1724 + + ICE1724 driver + - Added support for Terratec PHASE 22 + - Fix sample rates of Revo 7.1 + - ice1724 - Add support of Chaintech AV-710 + + IOCTL32 emulation + - Fix struct alignment on PPC64 + - Add missing FORWARD ioctl + - Fix struct size mismatch + - Remove ioctl32/* files + - Move snd-ioctl32 codes to alsa-driver + - Fix old sequencer ioctl32 wrapper + + ISA + - Remove pm_register/pm_unregister + - isa/Kconfig - added SND_AD1848_LIB and SND_CS4231_LIB tristates + - initial version of miroSOUND PCM1 pro, PCM12, PCM20 radio driver + - Sync with 2.6 + - select ISAPNP for SND_INTERWAVE_STB target + + Intel8x0 driver + - AC'97 Audio support for Intel ICH7 + - Add quirk for HP nc8000 + - intel8x0 - fixed timeout in the "get current DMA pointer" routine + - intel8x0 - fix for broken PCI ID define for ICH6 + - Add quirk for Fujitsu S6210 + - Add ac97_quirk for Dell machine + - AC97 quirk for Dell Precision 650 + - Disable DRA for ALI5455 + - intel8x0: AC'97 audio patch for Intel ESB2 + - [2.6-SYNC] Add missing ESB2 support + + Intel8x0-modem driver + - Set default index of modem and bt87x drivers to -2 + - Add mixer controls to intel8x0m + - Add PCI ids for ICH6/7 + - Fix "semaphore is not ready" problem with snd-intel8x0m + + KORG1212 driver + - Korg1212 updates + - Fix invalid use of readl/writel + + MIXART driver + - [SPARSE] Fix the wrong cast + - fix bug with pci hotplug mode + - fix bug with pci hotplug mode + + MPU401 UART + - MPU-401 PnP support + - MPU-401 driver cleanup + - fix locking for rawmidi trigger callbacks + - replace wrong spin_trylock_irqsave with spin_lock_irqsave + - remove superfluous spin_lock_irqsave calls + - remove unneeded interrupt locks in rawmidi drivers + + MSND driver + - Change header for enable_/disable_irq() + - remove calls to check_region + - fix locking for rawmidi trigger callbacks + + Maestro3 driver + - Add quirk for LEGEND ZhaoYang 3100CF + - maestro3: Fix interrupt ack and disable + - maestro3: Add HW volume button support + - maestro3: HP OmniBook HW volume button magic + - maestro3: Add hardware volume control quirk list + + Memalloc module + - add check for kernel vsnprintf + - remove superfluous MODVERSIONS definitions + + OPL3SA2 driver + - Sync with 2.6 code + - enable disabling of isapnp + + OSS device core + - Sync with 2.6 code + + Opti9xx drivers + - initial version of miroSOUND PCM1 pro, PCM12, PCM20 radio driver + - more proc lines for miro + + PARISC + - Sync with 2.6 - ALSA Harmony sound driver for PA-RISC + + PARISC Harmony driver + - Sync with 2.6 - ALSA Harmony sound driver for PA-RISC + - 2.6 sync - ALSA Harmony fixes + + PCI drivers + - Add Intel HDA driver + - Sync with 2.6 code + + PDAudioCF driver + - Sync with 2.6 code + + PPC + - ppc32: add sound support for Mac Mini + - [Sync] powermac driver updates + + PPC Beep + - ppc64: very basic desktop g5 sound support (#2) + + PPC PMAC driver + - Fix compile error (due to last suspend/resume fix) + - pmac: sound support for latest laptops + - ppc64: very basic desktop g5 sound support (#2) + - ppc32: add sound support for Mac Mini + - [Sync] powermac driver updates + - ppc32: Fix Alsa PowerMac driver on old machines + + PPC PowerMac driver + - ppc32: add sound support for Mac Mini + + PPC Toonie + - ppc32: add sound support for Mac Mini + - Small build fix for alsa powermac + - [Sync] powermac driver updates + + PPC Tumbler driver + - pmac: sound support for latest laptops + - pmac: Improve sleep code of tumbler driver + - ppc64: very basic desktop g5 sound support (#2) + - ppc64: improve g5 sound headphone mute + - [Sync] powermac driver updates + + RME HDSP driver + - Fix compilation on big-endian arch + - Ascii chars only + - HDSP fixes + - hdsp ghost midi device fix + - fix typo in midi code + - hdsp - solved big endian problem + + RME32 driver + - rme32 - remove superfluous spin_lock_irqsave call + + RTC timer driver + - add module aliases for rtctimer and seq-dummy + + SA11xx UDA1341 driver + - Remove pm_register/pm_unregister + - driver model type fixes for ALSA + + SB8 driver + - fix locking for rawmidi trigger callbacks + + Serial BUS drivers + - Added ICE1724 - ESI Juli@ code (not complete) + AK4114 code + AK4358 + - Added ESI Juli@ driver + - fixup - vd.release does not exists for older kernels + - fixup - vd.release does not exists for older kernels + - fixup - vd.release does not exists for older kernels + + TEA575x tuner + - TEA575x - add video release callback to avoid warning + + Trident driver + - [SPARSE] Use unsigned int :1 bitfields + - big sync with 2.6 (joystick changes & mips tree) + + USB + - Fix snd-usb-audio dependency on snd-hwdep. + + USB USX2Y + - Remove unused variable + - prevent oops & dead keyboard on usb unplugging while the device is being used + - usb-audio - remove superfluous parameter + + USB generic driver + - don't use broken legacy interfaces on M-Audio Quattro/Omnistudio + - add more Yamaha USB MIDI quirks + - use cached idVendor/idProduct values + - simplify snd_usbmidi_count_bits() + - Novation and MOTU USB MIDI support + - add code to dump packets + - add support for Emagic USB MIDI interfaces + - add logging to send_bulk_static_data + - ignore Emagic padding bytes + - fix Emagic broadcast port names + - add Roland FANTOM-X support + - add more USB MIDI quirks + - remove unsafe usage of urb->status + - usb - change timeout of USB control/bulk msg functions to msecs + - usb-audio - allow USB MIDI quirks to specify endpoints explicitly + - Add mixer map for Sound Blaster MP3+ + - usb-audio - BOSS GS-10 PCM support + - prevent oops & dead keyboard on usb unplugging while the device is being used + - usb-audio: add Audigy 2 NX control names + - usb-audio - show exact synchronous frequency in proc file + - usb-audio - add selector unit names override for Audigy 2 NX + - usb-audio - remove superfluous parameter + - usb-audio - restrict Audigy 2 NX frequencies to 48/96 kHz + - usb-audio - reduce size of unitbitmap array + - usb-audio - move mixer data into separate struct + - usb-audio - add mixer control notifications + - usb-audio - add Extigy/Audigy 2 NX remote control support + - usb-audio - cache vendor/product IDs + - usb-audio - allow type 0 extension units + - usb-audio - use proper interval between synchronization packets + - usb-audio - use only one packet in synchronization feedback URBs + - usb-audio - make SB remote control device LIRC compatible + - usb-audio - Audigy 2 NX blinkenlights + - usb-audio - set sample rate attribute on Audigy 2 NX endpoints + - usb-audio - enable high speed (not) on Audigy 2 NX + - usb-audio - remove superfluous LIRC ioctls + - usb-audio - add a proc file for Audigy 2 NX jack status + - usb-audio - bind to control interface instead of usb_device + - usb-audio - sanity-check sync feedback frequency values + - usb-audio - avoid unnecessary double buffering + - usb-audio - claim all interfaces for Roland USB MIDI devices + - usb-audio - fix synchronization packet interval with Audigy 2 NX + - 2.6 sync - timeout value + + VIA82xx driver + - Use DXS volumes as PCM + - Add DXS support for MSI K8T Neo2-FI + - Remove unnecessary ac97 init code + - Support all sample rate conversion capabilities of DXS channels + - Fix SPDIF rate with dxs_support=4 + - Add dxs_support=5 for Insight P4-ITX + - Add dxs_support entry for MSI K8T Neo-FIS2R + - fix via82xx resume + - Add dxs_support for a Twinhead mobo + + VIA82xx-modem driver + - Remove unnecessary ac97 init code + - Fix resume of via82xx-modem + + Virtual Midi + - use unsigned 1-bit fields + - sound/core/: possible cleanups + + Wavefront drivers + - insert set_current_state() before schedule_timeout() + - Remove unused yss225.h + - [SPARSE] Add __user pointer casts + - fix locking for rawmidi trigger callbacks + + YMFPCI driver + - Fix Oops with joystick support + - remove dead code + + au88x0 driver + - do codec init more like windows does + - replace spdif frequency control with iec958 control + - remove duplicate field initialization + - Add AC97_SCAP_NO_SPDIF flag +* alsa-firmware + + Core + - Added open-source tascam_loader firmware + - release: 1.0.9rc3 + - release: 1.0.9rc4 + - release: 1.0.9 + + RME HDSP Firmware + - ppc firmware upload fix + + Tescam USX2Y Firmware + - Added open-source tascam_loader firmware + - text for building usx2y-fw from source file + + +(http://music.columbia.edu/pipermail/linux-audio-announce/2005-January/000522.html) +1.0.8 +----- + +* alsa-driver + + Sound Core + - build without kbuild subdirectory + - fix cross-compile for 2.6 kernels + - Fix build for sparc64 + - Fix build of SPARC32 + - Added pci_dev_present() function for 2.6.9- kernels + - Moved via82xx-modem driver to alsa-kernel tree + - Improve the parse of include path + - Exclude .cvsignore from tarball + - Rename of audigyls to ca0106 and support of SB Live 24bit + - Fix make pack for 2.6.x + - Hotplug firmware loader support + - Add Digigram PCXHR driver + - release: 1.0.8-rc1 + - release: 1.0.8rc1 + - Move emu10k1x driver to alsa-kernel + - Move snd-ca0106 driver to alsa-kernel + - Check CONFIG_FW_LOADER in configure + - Add echoaudio drivers + - Add a note about make install-modules + - release: 1.0.8rc2 + - fix compiler version check + - Split --with-cards to --with-card-options option + - release: 1.0.8 + + ALSA Core + - Add pci_save_state() in suspend + - regenerated for the addition of pci_save_state(). + - fix module_param_array() wrapper for old 2.6 kernels + - check CONFIG_COMPAT for snd-ioctl32 + - [trivial] Fix compile warnings + - remove CONFIG_SND_VERSION + - Export functions for ioctl32 wrapper + - Clean up of kfree()/vfree() NULL checks + - Added pci_dev_present() function for 2.6.9- kernels + - ALSA core: misc cleanups + - Remove the NULL pointer check in kfree/vfree wrappers + - Fix unresolved symbols for 2.4 kernels + - Add missing USX2Y_PCM hwdep entry + - Clean up power-management + - Clean up power-management + - Export snd_ctl_elem_read/write() functions + - Add volatile to IO pinters + - Hotplug firmware loader support + - compilation fixes for 2.2.x/2.4.x kernels + - Add PCXHR hwdep iface type + - Fix creation of control devices over udev + - Fix msleep wrapper + - Fix handling of user-defined controls + - Add CODEC and BUS device types + + Control Midlevel + - Export functions for ioctl32 wrapper + - Clean up power-management + - Export snd_ctl_elem_read/write() functions + - Fix creation of control devices over udev + - Fix handling of user-defined controls + - Fix the release of resources at error path + - Clean up handling of user-defined controls + + HWDEP Midlevel + - ALSA core: misc cleanups + + PCM Midlevel + - fix iomem mmap + - regenerated for iomem mmap fix + - fix weird placement of static keyword in sound/core/pcm_memory.c + - Export functions for ioctl32 wrapper + - Clean up of kfree()/vfree() NULL checks + - ALSA core: misc cleanups + - Fix the wrong sign of format data entries + + RawMidi Midlevel + - ALSA core: misc cleanups + - Fix ioctl arguments + + Timer Midlevel + - Clean up of kfree()/vfree() NULL checks + + /kbuild/Makefile + - build without kbuild subdirectory + + AC97 Codec + - add Line/Headphone jack detection for AD1981A/B + - AD18xx/19xx resume fix + - Disable "IEC958 Input Monitor" switch for ALC codecs + - Fix compilation without CONFIG_PM + - Fix detection of Xbox + - Fix CMI9739A silent problem + - Add mute LED quirk + - Unify ac97 control callbacks + - Remove spinlock in callbacks + - Don't probe rates when bus->no_vra is set + - Allow strings for ac97_quirk options + - Clean up and fix stereo mutes + - Fix C-Media codecs + - Add codec id in component names + - Fix Oops at resume + - Adapt SPDIF Input selection for Realtek ALC658 + - Remove & from function pointers + - Add suspend callback + + AD1848 driver + - ALSA ISA drivers: misc cleanups + + AK4117 receiver + - Add CODEC and BUS device types + + AK4531 codec + - Remove spinlock in callbacks + + ALS100 driver + - alternate ALS0200 ident string + + ALS4000 driver + - Add pci_disable_device() to removal and error paths + + ALSA Version + - release: 1.0.8-rc1 + - release: 1.0.8rc1 + - release: 1.0.8rc2 + - release: 1.0.8 + + ALSA sequencer + - fix MIDI GS chorus/reverb mode + - Fix targets for GUS and OPL4 + + ALSA<-OSS emulation + - Clean up codes + + ALSA<-OSS sequencer + - delete unused file + + ATIIXP driver + - Add pci_disable_device() to removal and error paths + - Remove unnecessary ac97 spinlocks + - Fix DMA pointer read + - Add ac97_quirk option + + ATIIXP-modem driver + - Add pci_disable_device() to removal and error paths + - Remove unnecessary ac97 spinlocks + + AZT3328 driver + - Add pci_disable_device() to removal and error paths + - ALSA PCI drivers: misc cleanups + - Fix compile warning (make inline) + - Fix the order of creation of instances + + CA0106 driver + - Add snd-ca0106 driver + - Add a new ID + - Don't probe sample rates on non-VRA chips + - remove compatibility code for 2.2.x kernels + + CMIPCI driver + - 2.6 kernel sync + - Fix the order of creation of instances + + CS4231 driver + - ALSA ISA drivers: misc cleanups + - ifdef typos: sound_isa_cs423x_cs4231_lib.c + + CS4236+ driver + - alternate CS4235 ident string + + CS4281 driver + - Fix the order of creation of instances + + CS46xx driver + - [trivial] Fix compile warnings + - Add 'Duplicate Front' control + - Use msleep() in ac97 callbacks + + Common EMU synth + - misc cleanups + + Digigram VX core + - misc cleanups + - Fix memory corruption + - Hotplug firmware loader support + - Hotplug firmware loader support + - Fix compilation errors + + Digigram VX222 driver + - Hotplug firmware loader support + + Documentation + - Addition of pci_disable_device() and cleanup + - Added VIA82xx-modem driver + - Clean up power-management + - More rewrite of azx and hda-codec drivers + - Add description about hotplug fw loader + - Add emu10k1x driver + - Add snd-ca0106 driver + - Update documentation for hotplug fw loader + - Description about snd_card_set_dev() + - Fix description of ALSA/OSS device mapping + - Fixed description about ac97_quirk + - Add ac97_quirk option + + EMU10K1/EMU10K2 driver + - minor send routing cleanup + - whitespace cleanup + - fix display of send routing in /proc + - ALSA PCI drivers: misc cleanups + - Fixes the "It disables the right channel" bug + - Support for Audigy2 Value SB0400 + - add register dump to proc + - Fixed problem with changing size of etram + - Fix the detection of Audigy2 ZS + - Add emu10k1x driver + - Code clean up + - Fix compile warning + - Don't probe sample rates on non-VRA chips + - Print values at errors + + EMU8000 driver + - fix chorus/reverb FX loader + + ENS1370/1+ driver + - Trivial patch to enable rear out selection for ens1373 on + - Remove unnecessary ac97 spinlocks + - Fix the order of creation of instances + + ES1688 driver + - ALSA ISA drivers: misc cleanups + + ES18xx driver + - ifdef typos: sound_isa_es18xx.c + + ES1938 driver + - Fix interrupt generation on MIDI input for es1938 sound cards + + ES1968 driver + - Fix sleep in h/w volume control + - Don't probe sample rates on non-VRA chips + + FM801 driver + - Fix spinlocks + + GUS Library + - ALSA ISA drivers: misc cleanups + + Generic drivers + - compile fix for 2.6.10 + + HDSPM driver + - Change the peak meter ioctl to use indirect access + + I2C cs8427 + - misc cleanups + + I2C lib core + - Add CODEC and BUS device types + + ICE1712 driver + - Fix WM8770 Init + - IEC958 Capture mixer controls and Universe support + - Midiman Delta DIO2496 has two stereo analog outs + + ICE1724 driver + - IEC958 Capture mixer controls and Universe support + + IOCTL32 emulation + - Fix ioctl32 wrapper (for SPARC) + - Fix ioctl32 wrapper (for SPARC) + - Clean up of kfree()/vfree() NULL checks + - Export snd_ctl_elem_read/write() functions + - Fix ctl_read/write ioctl wrappers + + Intel8x0 driver + - 2.6 sync - bitfield signedness fix + - AC97 quirks for Dell + - fix sleep in atomic during prepare callback + - misc clean up + - Fix non-symmetrical page_attr changes + - [trivial] Fix compile warning + - Add mute LED quirk + - Remove unnecessary ac97 spinlocks + - Allow strings for ac97_quirk options + - ac97 quirk entries for HP xw6200 & xw8000 + - Add quirk for HP zv5000 + + L3 drivers + - Add CODEC and BUS device types + + MIXART driver + - [trivial] Fix compile warnings + - Hotplug firmware loader support + - Fix compilation errors + - Fix NULL pointer access + - Fix float format support + + Memalloc module + - fix the test of dma_mask + - Clean up of kfree()/vfree() NULL checks + - Fix SBUS-only memory allocation on older kernels + + NM256 driver + - Use msleep() in ac97 callbacks + + OPL3 + - opl4 depends on opl3 + - misc cleanups + - Add CODEC and BUS device types + + OPL4 + - Add CODEC and BUS device types + + PCI drivers + - Added VIA82xx-modem driver + - Add emu10k1x driver + - Add snd-ca0106 driver + + PDAudioCF driver + - make some code static + + PPC DACA driver + - sync with 2.6 mainstream + + PPC PMAC driver + - sync with 2.6 mainstream + - buffersize and constraints on pmac + - Fix the invalid DMA pointer value + + PPC Tumbler driver + - sync with 2.6 mainstream + + RME HDSP driver + - Fix the missing line in the patch for hdsp accurate_ptr + - Fix invalid "AutoSync Reference" value + - Add hotplug firmware loader support + + RME32 driver + - Fix the interface type of mixer controls + + RME96 driver + - Fix interface type for some mixer controls + + SA11xx UDA1341 driver + - Clean up power-management + + SB drivers + - ALSA ISA drivers: misc cleanups + + SPARC cs4231 driver + - [trivial] Fix compilation warnings on 64bit + - 2.6 kernel sync + + Sound Scape driver + - check __copy_to_user in sscape_upload_bootblock() + - Update user-space access from sscape driver + + SoundFont + - misc cleanups + + Synth + - delete unused file + + Trident driver + - ALSA PCI drivers: misc cleanups + + USB + - hwdep interface for pcm data + + USB USX2Y + - Use macro usb_maxpacket() for portability + - hwdep interface for pcm data + - Add missing source codes in the last hwdep-pcm patch. + - Fix open handling + - Remove superfluous code + + USB generic driver + - Return -EBADFD when the device is disconnected + + VIA82xx driver + - via82xx: Enable DXS on ABIT KV8 Pro + - sort DXS whitelist + - disable legacy IRQs before request_irq() to avoid unhandled interrupts + - Allow strings for ac97_quirk options + - Add a DXS entry for ABIT VA-20 + + VIA82xx-modem driver + - Added VIA82xx-modem driver + + Wavefront drivers + - Fix compile warning + + YMFPCI driver + - ALSA PCI drivers: misc cleanups + - Avoid VRA on codec chips + + au88x0 driver + - Replace long delays with msleep() + - Spinlock removal and loop fix + - Fix spinlock +* alsa-firmware + + Core + - Hotplug firmware loader support + - Add pcxhrloader + - release: 1.0.8rc1 + - Added missing Makefile for pcxhrloader + - Add echoaudio firmware files + - release: 1.0.8rc2 + - release: 1.0.8 + + Digigram Echo Audio Loader + - Add echoaudio firmware files + - Fix typo and fw path + + Digigram MixArt Loader + - Hotplug firmware loader support + + Digigram PCXHR Loader + - Add pcxhrloader + + Digigram Vx Loader + - Hotplug firmware loader support + + RME HDSP Loader + - Hotplug firmware loader support + + +(http://music.columbia.edu/pipermail/linux-audio-announce/2004-November/000484.html) +1.0.7 +----- + +* alsa-driver + - core + - fix compilation with gcc 2.95.x and 2.2.x kernels + - enhance Kconfig help texts + - Fix iomem variable type + - 2.6 kernel code sync - module_param_array() should take a pointer + - PCM + - mmap callback is added to PCM ops + - OSS emulation - fix for O_NONBLOCK write + - Fixes for PCM/control 32bit emulation + - Fix drain/drop of linked PCM streams + - PCM boundary fix in 32bit compat layer + - Fix non-blocking write in ALSA OSS emulation + - nonblock_open=1 by default for OSS PCM API emulation + - sequencer + - OSS emulation fixes + - suppress auto-loading of modules in module_init() + - copy_to_user() return value checking in snd_seq_read() + - Fix auto-loading of sequencer modules + - fix sequencer sleeping in interrupt context + - rawmidi + - fix handling of EFAULT errors in snd_rawmidi_read/write + - fix hang when writing to /dev/midi* with O_SYNC + - new drivers + - via82xx-modem driver + - AudioScience asihpi driver + - Portman2x4 driver + - Fixed issues with Abit AV8 + - PPC Tumbler driver + - suspend & mixer fixes + - ES1938 + - added PM support + - emu10k1 + - fixed AC97 master volume for Audigy + - Audigy DSP support + - Support for capture of 16,32,64 channels on emu10k1 device 2 + - Fix AC3 playback on SB Live + - fixed emu10k1_fx8010_code_t structure to be less than 8192 bytes + - add interval timer support + - intel8x0 + - quirks for Dell Precision 450, HP xw4200 and xw8200 + - intel8x0: Fixed a long mdelay() + - fixed resume when interrupts are shared with another devices + - AC97 96 kHz sample rate support + - add AC97 quirk for Fujitsu-Siemens E4010 + - remove gameport/MIDI support + - Added Compaq Evo W4000 quirk + - Improved clock measurement + - Fix SPDIF rate setting for old ICHs + - Fix SPDIF support on ICH4/5/6 + - via82xx + - added the DXS entry for Uniwill/Targa Visionary XP-210 + - Disable legacy FM and SB to prevent lock-ups + - ac97 quirk entry for Soltek SL-75DRV5 + - Fix DXS entry for GA-7VAX + - Added dxs quirk for QDI Kudoz 7X/600-6AL + - rme32 + - rme32 segfault fix + - fixing a two-rme32-in-one-machine bug + - hdsp + - Fix for 64bit architectures + - Fix the variable types in struct + - Fix HDSP meter ioctl + - RME9632 precise_ptr fix + - ICE1712 + - Added support of Mediastation + - Clean up ice1712 chip struct + - Add routing/volume of ADAT I/O on EWS88D + - ICE1724 + - Added support for AudioTrak Prodigy 192 cards + - fixes a bug that SPDIF-in mode can't be reset once after it's set + - Allow the private EEPROM image for evaluation boards + - aureon + - fixed the master volume control + - Fixed center/LFE volume controls + - Provide individual driver names for Aureon and Prodigy boards + - Aureon S/PDIF input fixes + - Adds AC'97 support to Aureon cards + - Fix Aureon CCS init sequence + - pontis + - buggy SPI communcation is fixed + - fixed the return value of put callbacks of GPIO controls + - corrected the initial register value of CS8416 + - maestro3 + - call pci_set_master() in resume (to be sure) + - AC97 + - added jack sense switches for AD1885 + - AC97 96 kHz sample rate support + - Added VIA shared type + - Check ac97 codec id in quirk table + - inverted EAPD support + - added AC97_SCAP_DETECT_BY_VENDOR flag (for xbox) + - Add (experimental) CM9761 support + - fix DAC slot assignment + - Fix AC97_EXTENDED_STATUS initialial value + - Fixed SPDIF on CS4298 + - ATI IXP + - add IXP400 support + - Added workaround for buggy BIOS + - ens1371 + - Fixed AC3-passthru on ens1371/1373 boards + - Fix latency in ens1371 driver + - ES18xx + - Fixed a bug in setting the filter register + - AZX (Intel HD Audio) + - code update and clean-up + - use ALSA proc info API and clean-up + - Korg1212 + - Korg1212 misc fixes + - USB Audio + - add mixer quirk for LineX FM Transmitter + - add UA-1000 sample rate detection + - add Edirol UA-25 support + - mixer - handle missing control bitmap when parsing MUDs + - mixer - read bmControls array in correct order + - mixer - fix parsing of mixer unit descriptors + - OPL3 + - Fix / clean up OPL3 for CS4281 + - bt87x + - detect errors reported by the hardware + - don't stop capture on errors + - add overclocking option for the analog input + - use blacklist/whitelist for (non-)audio Bt878 cards + - Limit parity error messages + - ES1968 + - Remove delay() to improve latency + - removes unneeded spin_lock_irqsave()s from snd-es1968 + - usX2Y + - usx2y cleanups and fixes + - snd-usb-usx2y 0.7.3 + - snd-usb-usx2y - crash fix for OHCI USB-HCDs + - au88x0 + - more au88x0 eq cleanups + - au88x0: set-levels cleanup + - au88x0: sign_invert cleanup + - au88x0: name typo + - au88x0: comment and whitespace cleanup + - au88x0: fix is-quad oops + - au88x0: add resetup dma + - fix data type mismatch in sign_invert + - nm256 + - Add reset_workaround module option + - cs46xx + - Fix ac97 codec reset and clean up + - CS4231 + - replace schedule_timeout() with msleep() +* alsa-firmware + - license issues + + +(http://music.columbia.edu/pipermail/linux-audio-announce/2004-August/000435.html) +1.0.6a +------ + +* alsa-driver + - core + - fixed the detection of x86-64 arch + - 2.6 kernel sync - mostly __user stuff + - This patch removes snd_kcalloc() from the kernel and updates callers to + use the new generic kcalloc(). + - Removal and replacement of magic memory allocators and casts + - Clean up of obsolete MODULE_* stuff (core part) + - Removed MODULE_CLASSES() and MODULE_SYNTAX(). + - Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() + - Clean up the PCI resource allocation. + - Clean up the suspend/resume: save/restore of pci state + - use ARRAY_SIZE() instead of sizeof() computations + - Clean up: removed ifdefs and obsolete codes. + - Unlock BKL in ioctl callback to avoid the long preempt-disabling. + - Clean up DMA buffer allocation routines. + - Fix up sound driver proc-reading interfaces. + - PCM midlevel + - stack usage reduction + - Clean up and optimization of PCM format-specific functions + - Clean up the buffer management in the PCM runtime record + - Fix the mmap via io_remap_page_range() on nm256, rme32 and rme96. + Added SNDRV_PCM_INFO_MMAP_IOMEM to handle this case. + - Clean up the indirect accessing on RME32/RME96 drivers. + - Clean up of indirect PCM data transfer with helper functions. + - snd_pcm_timer_resolution_change() - better precision + - The PCM prepare callback is now non-atomic, so that the driver can + use the functions calling schedule (e.g. kmalloc with GFP_KERNEL). + - Fixed/improved XRUN detection + - don't print XRUN message in the case of draining. + - pointer callback can return SNDRV_PCM_POS_XRUN to notify the middle layer. + - ioctl32 - Added the wrapper for sync_ptr and hwsync ioctls. + - Serialize runtime->status->state access + - PCM OSS emulation + - reduce stack usage + - sequencer + - use separate functions for some ioctls to reduce stack usage + - Clean up Makefiles for the sequencer stuff using reverse selections. + - Added Intel ICH6 HD Audio (Azalia) driver. + - Added Audigy-LS driver + - Added snd-atiixp driver for ATI IXP AC97 modem controllers. + - Moved back pc98-specific stuff again to alsa-driver tree. + - ICE1724 + - SPDIF output fixes + - Fixed the volume update on aureon. + - Removed the bogus master volume from aureon. + - Fixed the wrong number of ADCS (not used, though). + - Don't access GPIO high bits on VT1720. + - Fixed the buffer byte alignment for SPDIF and independen PCMs. + - Proper rate constraints according to the I2S/AC-link connection. + - Clean up the private data for PCM callbacks. + - Clean up spinlocks. + - aureon - Added master volume control. + - Added the (experimental) support of Terratec Phase 88. + - Added the support of Pontis MS300 to snd-ice1724 driver. + - Added the support of ZNF3-250 (supposed to be ZNF3-150 compatible). + - CS46xx + - add memory allocation checks in cs46xx_dsp_proc_register_scb_desc() + - reduce stack usage + - intel8x0 + - Added the PCI ID for nVidia CK8 + - Fixed the calculation of the current DMA position on some sloppy devices. + - Fixed the detection of sample rates with no VRA support. + - Added the support of nVidia CK804. + - Added the support of MCP04. + - Fixed the handling of unknown irqs on ICH5. + - Added an ac97 quirk for ICH/AD1885 mobo. + - Added buggy_irq module parameter to intel8x0 driver. + - intel8x0m + - Added the support of SIS7013 modem. + - via82xx + - Fixed the calculation of the current DMA position at the period boundary. + - Added the ac97_quirk entry for ECS K7VTA3 v8.0 mobo. + - Fixed the check of invalid DMA position. + - Added the quirk entry for ECS L7VMM2 uATX. + - Added the DXS whitelist entry for Acer Inspire 1353LM. + - ali5451 + - Fixed the suspend/resume. + - Opti9xx + - Fixed spin deadlocks + - USB audio + - Quattro USB: handle the different endianness of playback and recording + sample data + - handle devices that allow setting but not reading sample rate + - new functions snd_usbmidi_input_stop() and snd_usbmidi_input_start() + needed by snd-usb-usx2y to be able to use usb_set_interface() + - add support for Yamaha CVP-301, CVP-303, CVP-305, CVP-307, CVP-309, + CVP-309GP, PSR-1500, PSR-3000, ELS-01, ELS-01C, PSR-295, PSR-293, + DGX-205, DGX-203, DGX-305, DGX-505, DGP-7, DGP-5, PM5D, DME64N, + DME24N, DTX, UB99 + - USX2Y + - all pcm streams have to operate at the same rate and format + - renamed functions + - set NRPACKS to 1 as default setting to improve latency + - Don't sleep in START/STOP callbacks anymore. + - us428 channels C/D not handled just for this version, sorry. + - MixArt + - reduce stack usage + - ES1938 + - fixed quake playback + - ES1968 + - Fix the crash at unloading the module due to the shared interrupt + with other devices. + - Dummy + - Do the buffer allocation in hw_params callback instead of open + callback. + - emu10k1 + - Merge EFX playback and capture streams to the single device (hw:0,2). + - Fix Audigy + FX8010 capture (hw:x,2) + - Audigy 2 ZS - side support + - Enable low latency EFX capture on emu10k1 + - au88x0 + - Fixed the wrong pointer cast on 64bit architectures. + - CMIPCI + - reduce stack usage + - don't sleep in prepare callback + - Fix the i/o port range of gameport on cmipci + - AC97 codec + - Fixed the detection of STAC9708/11 surround control. + - Check the validity of registers before creating controls. + - move AC'97 bus callbacks into seperate ops record; + - remove ac97_bus_t template requirement from snd_ac97_bus() + - replace ac97_t template with ac97_template_t + - Fixed the reset problem of shared audio/modem drivers. + - Don't use mute bit in REC_GAIN register during tests. + - Add more timeout to avoid not respond messages + - emu10kx + - added capture support + - added S/PDIF support (untested) + - fixed interrupt bug when playing multiple channels + - split channels into separate PCMs + - documented some of the registers + - added support for more periods (up to 512 for playback) + - formatting clean up + - MIDI support + - voice clean up + - delayed interrupt enable/disable + - playback/capture constraints added + - fixed max number of periods + - nm256 + - Added AC97 CD register to the list of allowed registeres. + - RME32 + - Added the experimental fullduplex support. + - OPL4 + - reorganize locking + - optimize memory accesses + - PPC drivers + - Added the PCM beep support + - PMAC + - pmac also apply the DMA stop work around to fix capture on iBook2 + - Removed non-functional 48kHz support from pmac driver. + - soundfont + - Fixed messy locks in soundfont support code. + + +1.0.5a +------ + +* alsa-driver + - Bugfix for the "hang-up" problem in the ALSA driver initialization + + +(http://music.columbia.edu/pipermail/linux-audio-announce/2004-May/000396.html) +1.0.5 +----- + +* alsa-driver + - use the new module_param*() functions + - clean up of power-management codes + - removed superfluous warning messages after pci_module_init() + - fixed the allocation of coherent DMA pages under 32bit mask + - added early event flag and code to the timer interface + - added experimental emu10k1x driver + - added snd-atiixp-modem driver for ATI IXP modem (experimental) + - sequencer + - export snd_seq_set_queue_tempo() for OSS to prevent calling + snd_seq_kernel_client_ctl() (using copy_from_user()) in interrupt + context + - PCM midlevel + - fixed the deadlock of power_lock in suspend + - fixed the bit width of IEC958_SUBFRAME_* formats from 24 to 32 + - added SYNC_PTR ioctl (for problematic cache coherency archs) + - PCM OSS + - don't return negative byte count from GET[IO]PTR ioctl + - intel8x0 + - 20-bit sample support + - fixed MX440 workaround in suspend/resume + - interrupt handling fixes + - via82xx + - added dxs_support and ac97_quirk entries for Amira notebook + - added DXS whitelist for (eMachines) m680x + - added the DXS entry for ECS K7VTA3 v8.0 + - fixed the DXS entry for ASUS A7V8X to NO_VRA + - added the DXS entry for Mitac/Vobis/Yakumo laptop + - atiixp + - fixed S/PDIF support + - fixed the codec probing without the proper interrupts + - added the experimental PM support + - usx2y + - US224 support + - au88x0 + - bugfixes and VIA/AMD chipset automatic workaround + - ICE1712 + - added Event Electronics EZ8 support + - added a control for default rate in the ice1712 driver + - fix Hoontech DSP* box configuration + - added model module option to specify board model + - ICE1724 + - added model module option to specify board model + - added the support of Aureon 7.1-Universe + - improved the description of ice1724 driver on Kconfig. + - better support of VT1720 with snd-ice1724 driver. + - check PCI subsystem IDs when no EEPROM is available (ice1724 only) + - change the driver name string if given in the board list. + - merged prodigy 7.1 support into aureon.c. they are almost identical. + - allow to use PDMA4 and RMDA1 for non-SPDIF purpose if specified (ice1724 only). + - avoid to change the AC97 rate registers + - USB audio + - Edirol UA-700 advanced modes support + - Roland UA-1000 support + - Opti9xx + - fixed irq&dma initialization for <93x chips + - opl3sa2 + - added YMH0801 ISA PnP ID - OPL3-SA2 + - emu10k1 + - added support for SB Live 5.1 (c) 2003 + - HDSP + - HDSP9632 has also firmware version 0x97 + - nm256 + - added a blacklist to avoid the possible hang-up at module loading + - cmipci + - dropped the software encoding of AC3 stream in the driver (moved to alsa-lib) + - AC97 codec + - detection for S/PDIF rates + - fix access to wrong register when clearing powerdown bits + - show AC'97 2.3 information in proc file + - fix AC'97 revision bits on AD1985 + - added the write support to ac97#x-x+regs proc file (DEBUG) + - fixed AD18xx PCM bit handling + - stac9758 initialization fixes + - STAC9758: stereo mutes, jack configuration + - added the global mutex for ac97_t (ad18xx mutex is removed). + used to protect paging and AD18xx multi-codecs. + - set PAGE_INT register explicitly before accessing (for STAC9758). + - moved ALC650 revision check to patch_alc650(). + - support stereo Mic playback. + - moved STAC9708 quirk to patch_stac9708(). + - don't clear PC_BEEP high bits (ac97 2.3 sets frequency there). + - avoid the unnecessary RESET-waiting for audio/modem codec. + - fixed the evaluation of modem codec to call mpatch callback properly. + - determine the SPDIF rate in the build path. + - added suffix argument to snd_ac97_rename|remove|swap_ctl(). + - added snd_ac97_rename_vol_ctl(). + - Added the single mixer control with AC97 2.3 paging. + - Handle the paging for some ALC655/658 registers. + - Added the experimental support for ALC850. + - VX core + - added 'Clock Mode' control to choose the clock source --- alsa-driver-1.0.16.orig/debian/changelog-old.Debian +++ alsa-driver-1.0.16/debian/changelog-old.Debian @@ -0,0 +1,3076 @@ +Later entries can be found in changelog.Debian + +alsa-driver (1.0.6a-11) unstable; urgency=medium + + * Thomas Hood: + - debian/alsa-base.(preinst|postinst): + + Remove special upgrade-from-1.0.6a-8 code + - debian/patches/15_ppc_awacs_num_controls.dpatch: + + Backport from 1.0.7rc1 (Closes: #279731) + - debian/po/ja.po: + + Apply patch kindly provided by Kenshi Muto and run + debconf-updatepo (Closes: #280115) + - debian/control: + + alsa-base: Suggest alsa-oss (Closes: #280988) + - debian/alsa-source.control: + + alsa-modules*: Recommend libasound2 (>= 1.0.6) + * Jordi Mallach: + - debian/alsa-source.rules: + + don't symlink alsa-modules docs dir to alsa-base's, as this is + forbidden by policy. Instead, add a pointer to alsa-source's + documentation in alsa-modules-i386's copyright file. + (Closes: #262152) + - debian/alsa-source.control: + + remove ancient Conflicts and Replaces for alsa-modules-0.4 and + alsa-modules-0.5. + + -- Jordi Mallach Wed, 17 Nov 2004 12:34:24 +0100 + +alsa-driver (1.0.6a-10) unstable; urgency=medium + + * Thomas Hood: + - alsa-base.postinst: + + Don't fail if alsa-base.permissions absent (Closes: #279588) + * Jordi Mallach: + - debian/alsa-base.templates: don't mark the default option for + translation. + - debian/po/*: updated. + + -- Jordi Mallach Thu, 4 Nov 2004 11:04:26 +0100 + +alsa-driver (1.0.6a-9) unstable; urgency=medium + + * Thomas Hood: + - debian/module-blacklist: + + Add bt878. Thanks to Reinhard Tartler for the tip. + (Closes: #279327) + - debian/rules, debian/alsa-base.(preinst|postinst|postrm|dirs): + + Put alsa-base.dev in /etc/alsa/dev.d/ and symlink to it + from /etc/dev.d/snd/controlC[0-3]/alsa-base.dev. This + scheme avoids running the script when it isn't needed. + (Closes: #279405) + - alsa-base.permissions: + + Eliminate at the request of the udev maintainer + (Closes: #279486) + - alsa-base.dev + + Take into account the possibility that /usr/ and/or /var/ + may not be mounted when this script runs. Thanks to Marco + d'Itri for the tips. (Closes: #279325) + * Jordi Mallach: + - debian/alsa-base.preinst: add the missing #DEBHELPER# marker. + - debian/alsa-modules.post{inst,rm}: likewise. + + -- Jordi Mallach Wed, 3 Nov 2004 18:31:57 +0100 + +alsa-driver (1.0.6a-8) unstable; urgency=medium + + * Thomas Hood: + - /etc/dev.d/sound/alsa-base.dev + + Add. Runs "alsactl restore" after control + device is created (Closes: #273090) + - /etc/udev/permissions.d/alsa-base.permissions + + Add. Sets permissions on ALSA snd devices. + - debian/alsa-base.config + + Fix quotation bug (Closes: #278766) + - debian/control: + + alsa-headers now Depends on libasound2-dev >= 1.0.6-3. + This is required in order to guarantee that alsa-headers + can be removed; older libasound2-dev releases depended on + alsa-headers. + + alsa-base now Conflicts with discover1 << 1.7.3 since + those versions didn't allow modules to be blacklisted + (Closes: #278301) + + alsa-base now Suggests udev + - debian/alsa-source.control: + + Clarify info re: alsa-modules modules versus kernel modules + + Shorten Description + - debian/module-blacklist: + + Remove dmasound; add dmasound_core and dmasound_pmac + - pt_BR.po: + + Update by Andre Luis Lopes (Closes: #278731) + + -- Jordi Mallach Mon, 1 Nov 2004 12:35:30 +0100 + +alsa-driver (1.0.6a-7) unstable; urgency=medium + + * Thomas Hood: + - debian/control: + + Tweak descriptions to make it clearer that alsa-base is + the base package for the ALSA drivers + - debian/alsa-source.control: + + Don't Recommend pcmcia packages; only suggest them + * Jordi Mallach: + - debian/module-blacklist: + + Add dmasound, which has an ALSA replacement: snd-powermac. + Thanks to Simon Raven for the information. + + -- Jordi Mallach Thu, 28 Oct 2004 00:49:58 +0200 + +alsa-driver (1.0.6a-6) unstable; urgency=medium + + * Thomas Hood + - asound-debian.h: + + Eliminate + - alsa-base.postinst: + + Use cp insted of cat (Closes: #273092) + - debian/rules: + + Generate discover "skiplist" and hotplug "blacklist" from + a common "module-blacklist" file + - module-blacklist: + + Add the following OSS drivers: + . ac97_plugin_wm97xx + . ad1816 + . awe_wave + . harmony + . sequencer + . soundcard + . via82cxxx + Don't add the following OSS drivers for which there are + no obvious ALSA replacements: + . dmasound + . hal2 + . ics2101 + . ite8172 + . msnd + . nec_vrc5477 + . vidc + . vwsnd + . waveartist + Please let us know if any of the latter should also be + added to the blacklist. + + -- Jordi Mallach Mon, 25 Oct 2004 17:43:40 +0200 + +alsa-driver (1.0.6a-5) unstable; urgency=medium + + * Thomas Hood: + - debian/control: + + alsa-headers: Don't Depend on libasound2-dev >> 1.0.6-2 + since this makes alsa-lib temporarily unbuildable due to + libasound2-dev 1.0.6-2 Depending on alsa-headers. + + -- Jordi Mallach Tue, 19 Oct 2004 17:50:35 +0200 + +alsa-driver (1.0.6a-4) unstable; urgency=medium + + * Thomas Hood: + - Remove more XSIisms + - debian/rules: + + Fix ownership and perms of installed files (Closes: #275386) + + Install alsa-base.discover as /etc/discover.d/alsa-base + instead of as /usr/share/doc/alsa-base/alsa-base.discover. + This stops discover1 from loading OSS modules at boot time + so that ALSA modules can be loaded instead. This only works + with discover1 >= 1.7.2. If you have an earlier version of + discover1 or if you have discover (version 2) then this + blacklist file has no effect. + (Closes: #220616, #265845, #275794, #276272) + - debian/control: + + Tweak description + + Suggest discover1 (>= 1.7.2) which is the first release that + has the blacklisting feature + - alsa-base.config: + + Tweak + - alsa-base.README.Debian: + + Update + - alsa-source.control + + Tweak description + + alsa-modules-x.y.z should depend on module-init-tools >= 3.1 so + that /lib/modules/x.y.z/updates gets magic priority + - alsa-source.rules + + Put modules in /lib/modules/x.y.z/updates/alsa/ rather than in + /lib/modules/x.y.z/alsa/ so that module-init-tools's depmod + gives them priority over the ones from the kernel. + (Closes: #261618) + - alsa-modules.postrm + + Do depmod -a (Closes: #276985) + + Don't run the initscript stop method + * Jordi Mallach: + - debian/control: + + Make alsa-headers a dummy package for transitional purposes, as + it's apparently not needed any more. Packages should use + libasound2-dev instead. + - debian/alsa-headers.{dirs,headers}: + + Remove + - debian/rules: + + Remove alsa-headers-related bits + + -- Jordi Mallach Mon, 18 Oct 2004 18:42:38 +0200 + +alsa-driver (1.0.6a-3) unstable; urgency=medium + + * Thomas Hood: + - Fix up copyright file + - Add 09_powerpc_build_fixes.dpatch: + + Patch pmac.patch so that it applies to pmac.c again. + Fixes build on powermac. (Closes: #272946) + - alsa-base.config: + + Fix failure to configure if alsactl_store_on_shutdown not set + in /etc/default/alsa. Thanks to David Mikolajczyk for the + patch. (Closes: #273885) + + -- Jordi Mallach Tue, 28 Sep 2004 21:44:17 +0200 + +alsa-driver (1.0.6a-2) unstable; urgency=medium + + * Thomas Hood: + - alsa-base.postrm + + purge additional legacy configuration files + - alsa-base.postinst + + Delete dangling symlinks in module loader configuration dirs + (Closes: #265781) + + -- Jordi Mallach Sun, 26 Sep 2004 20:04:07 +0200 + +alsa-driver (1.0.6a-1) unstable; urgency=medium + + * New upstream release. + * Steve Kowalik: + - Fix up patches #4, #9, #10 and #15 to apply cleanly. + - Rename 'autosave always' to 'always autosave'. Both settings will be + honoured. (Closes: #269196) + - Change the default value of alsactl_store_on_shutdown to + 'always autosave'. Also rewrite the comment to list the 3 settings, + and what the 3 settings do. Also change the postinst to only run + alsactl store if the value is 'always autosave'. (Closes: #269214) + - Honour changes made to /etc/default/alsa in alsa-base's config + script. (Closes: #261924, #268041) + - Stop using /var/lib/alsa-base in alsa-modules, and don't create the + directory in alsa-base. (Closes: #269211) + - Include a bunch of new cards in alsa-source's debconf prompting: + + atiixp-modem: PCI: ATI IXP 150/200/250 Modem + + cs46xx-new-dsp: Cirrus Logic (Sound Fusion) New DSP support + + emu10k1x: PCI: EMU10K1 (SB Live! or E-mu APS, Dell OEM Version) + + fm801-tea575x: PCI: ForteMedia FM801 + TEA5757 tuner + + seq-dummy: Sequencer dummy client + + sun-amd7930: SPARC: Sun AMD7930 + + sun-cs4231: SPARC: Sun CS4231 + + (Closes: #249505) + - Update French Debconf translation. (Closes: #267939) + (thanks, Christian Perrier) + - Update Spanish Debconf translation. (Closes: #268480) + (thanks, Carlos Galisteo) + * Jordi Mallach: + - Update Catalan Debconf translation. + - Don't try to install alsa-modules.dirs which is now gone. + - Update debian/patches/10_disable_gcc_version_check2.dpatch. + * Thomas Hood: + - /etc/init.d/alsa: Extensive changes + + Clean up indentation + + Don't fail if kill fails because of disappeared process + (Closes: #269494) + + Tell the user if processes couldn't be stopped or if + modules couldn't be unloaded (Closes: #269453) + + Send usage to stderr and exit 3 (as per LSB) + + Use more functions + + On restart, attempt start even if stop fails + + On force-reload, start after force-stop + + Don't pad '...' with spaces (as per policy 9.4) + + On start, don't fail if attempt to restore mixer levels fails. + In order to avoid lost races this should be done by the module + loader (see #268221). (Closes: #270419) + - /etc/default/alsa + + Try to improve comments some more + - /etc/apm/event.d/alsa + + Rewrite + + Remove redundant fuser commands. Calling the initscript with + "force-stop" should do everything that is required. + (Closes: #269282) + - alsa-base.postinst + + Clean up + + Run confmodule at the beginning since it restarts the script + + Eliminate use of test's -a and -o options + + exit 1 on illegal argument + + Use '.dpkg-old' as backup-file extension + + Only initialize asound.state if it doesn't already + exits (Closes: #188595) + + Update from debconf database even if conf file is initialized + (Closes: #269212) + + Use cat instead of cp in order to handle the case + where people have replaced conf files by symlinks + + Always use -f option with mv and rm + + Replace 'autosave always' by 'always autosave' + - debian/control: + + Make alsa-base Depend on alsa-utils >= 1.0.6-1 + - debian/po/nl.po: + + Update, thanks to cobaco (Closes: #270316) + - debian/po/da.po: + + Update, thanks to Morten Brix Pedersen (Closes: #272510) + - debian/po/*: + + Replace 'autosave always' by 'always autosave' + + Fix typos, run debconf-updatepo + + -- Jordi Mallach Wed, 22 Sep 2004 14:45:19 +0200 + +alsa-driver (1.0.5a-3) unstable; urgency=low + + * Steve Kowalik: + - Don't kill processes if force_stop_modules_before_suspend is true + in /etc/default/alsa. (Closes: #266272, #266740, #267257) + - Reference the correct file in NEWS.Debian. (Closes: #267099) + - Replace 'a option' with 'an option' in alsa-source.templates, and + re-run debconf-updatepo. (Closes: #266171) + + -- Steve Kowalik Mon, 23 Aug 2004 21:42:41 +1000 + +alsa-driver (1.0.5a-2) unstable; urgency=medium + + * Steve Kowalik: + - Remove XSIims in alsa-base's init script. (Closes: #254622) + (thanks, Clint Adams) + - Heaven forbid that we actually remove features from the package, so + reimplement force-stop in the init script, and tell the apm script + to run force-stop on suspend. Getting modules to load on resume is + left as an exercise for the user. (Closes: #249541, #253980) + - Alias force-reload to force-stop. (Closes: #264226) + - Add audio module to our hotplug blacklist. (Closes: #257635) + - Automatically load OSS compat modules for sequencers and mixers. + (Closes: #246570, #258543) + - 1.0.5a sets CONFIG_SND_CS46XX_NEW_DSP=y. (Closes: #249505) + - update-modules may spit out warning messages that confuse debconf. + Redirect stdout to /dev/null when calling update-modules in alsa-base's + postrm. (Closes: #261853) + - Fix up now erroneous points from alsa-base's README.Debian. + (Closes: #248881) + - Update Dutch Debconf translation. (Closes: #260293) (thanks, cobaco) + - Update Brazilian Portuguese translation. (Closes: #262601) + (thanks, Andre Luis Lopes) + + -- Steve Kowalik Sun, 15 Aug 2004 12:10:09 +1000 + +alsa-driver (1.0.5a-1) unstable; urgency=low + + * New upstream release. + * Steve Kowalik: + - fuser may exit non-zero. Fix the apm event script. (Closes: #247109) + - Update the Czech debconf translation. (Closes: #251678) + * Jordi Mallach: + - debian/po/da.po: Add Danish translation (thanks, Michael Kristensen; + closes: #253347). + + -- David B. Harris Wed, 9 Jun 2004 19:37:25 -0400 + +alsa-driver (1.0.4-3) unstable; urgency=low + + * Steve Kowalik: + - Oops. Only move files in alsa-base's postinst if $filename contains + something. (Closes: #246064) + - Run update-modules in the postinst for alsa-base. (Closes: #246311) + - Debconf translations: + + Add Turkish. (Closes: #246069) (thanks, Recai Oktas) + + Update Japanese. (Closes: #246438) (thanks, Kenshi Muto) + + Update French. (Closes: #246791) (thanks, Christian Perrier) + * Jordi Mallach: + - debian/po/ca.po: Update Catalan translation. + * David B. Harris: + - debian/alsa-base.init: Put /usr/local/{sbin,bin} ahead of the + system-wide versions in $PATH. Thanks to Tollef for noticing this. + + -- Steve Kowalik Sun, 2 May 2004 20:47:19 +1000 + +alsa-driver (1.0.4-2) unstable; urgency=low + + * Steve Kowalik: + - Actually do some work on this package! + - Check for the presence of either devfs or udev before creating device + nodes in alsa-base's postinst. (Closes: #243876) + - Rewrite the init script to not load modules. Loading modules is now + the responsibility of the user, or hotplug. + (Closes: #195516, #203491, #210440, #232380, #237003, #237452, #240594) + (Closes: #244068, #245783) + - Stop alsa-base depending on lsof and procps. + - Change the description for alsa-base to no longer mention module + loading. + - Rewrite the debconf-age for alsa-base: + + Stop asking which modules to load. (Closes: #199739, #218655) + + Only ask one question about saving mixer settings, in the style of + setserial. + + This means we can stop doing vile things to the debconf templates in + debian/rules. + + This also means that alsa can restore on bootup, and not save on + shutdown. (Closes: #191501, #232854) + - Remove the files under /etc/alsa/modutils, and the symlinks + into /etc/modprobe.d and /etc/modutils. + - Provide an alsa-base file under /etc/modprobe.d and /etc/modutils + which will load the OSS compatibility modules. + (Closes: #229486, #240594) + - Blacklist (for hotplug) and skip (for discover) the OSS sound modules. + Note that we can include the blacklist automatically for hotplug, but + discover doesn't contain the infrastructure for that, so the file for + discover is in /usr/share/doc/alsa-base. + (Closes: #238278, #238694, #240125, #242720) + - Due to the fact that the init script no longer touches modules, this + script has been gutted to a shadow of its former self. (Closes: #238994) + - Stop using install -d so liberally in debian/rules. + - Rename debian/po/no.po to debian/po/nb.po. + - Correct typo in debian/po/fr.po. (Closes: #245031) (thanks, + Pierre Machard) + - Remove debian/alsa-path, I can't see anything at all that references it. + + -- Steve Kowalik Mon, 26 Apr 2004 15:27:55 +1000 + +alsa-driver (1.0.4-1) unstable; urgency=low + + * New upstream release. + * Jordi Mallach: + - debian/po/cs.po: new Czech translation of debconf templates + (thanks Miroslav Kure ; closes: #235644). + - debian/alsa-modules.postinst: apply patch from Jamin W. Collins to + avoid unresolved symbols when calling depmod on alsa-modules's + postinsts (closes: #236543). + - debian/control: change Maintainer name to "Debian ALSA Maintainers". + - debian/alsa-base.apm: apply suggestions from Marius Gedminas to + improve the detection of ALSA devices and the usage of fuser to stop + processes, thanks! (closes: #238994). + + -- Jordi Mallach Wed, 14 Apr 2004 00:11:52 +0200 + +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. + * David B. Harris: + - Re-disable the GCC version-check warning message, as we already check + for this in debian/rules. I believe it got lost in the 1.0.2c-1 upload. + It's just a cosmetic thing, as the logic to actually do the + version-check was still disabled. (Closes: #234225) + - Change my Uploaders: email address from my private address to + dbharris@debian.org + - debian/alsa-base.init: Produce a more helpful error message when + 'alsactl restore' fails. (Closes: #234233) + - debian/control (alsa-base): Add version to alsa-utils dependency, + 1.0.2-2, so that the postinst's running of alsactl gets its state from + the new location (/var/lib/alsa/asound.state) + - debian/alsa-base.init: Add support to set the + runlevels within which mixer settings will be saved (the same setting is + also used to determine *from* which runlevels we'll be saving mixer + settings). Now if you boot into single-user mode and reboot right from + there, mixer settings won't be saved (so on your next boot you'll have + your normal levels, not all-muted). (Closes: #233974) + - Transition from /etc/modutils/alsa/0.9 to /etc/modutils/alsa/1.0 + (Closes: #233752): + + debian/alsa-base.config: Use /etc/alsa/modutils/1.0 if it exists, and + if it doesn't try to use /etc/alsa/modutils/0.9. Additionally, stop + replacing /etc/modutils/alsa with a symlink if it's a non-symlink. + + debian/alsa-base.examples, debian/modutils-0.9.conf: Move to + modutils-1.0.conf + + debian/alsa-base.postinst: Migrate /etc/alsa/modutils/0.9 to + /etc/alsa/modutils/1.0, if the latter doesn't exist. Update + /etc/{modprobe.d,modutils}/alsa symlinks if and only if they point to + 0.9 + + debian/alsa-base.postrm: Remove /etc/{modprobe.d,modutils}/alsa and + known conffiles /etc/alsa/modutils/ on purge + + debian/alsa-base.README.Debian: Update + + debian/alsa-source.README.Debian: Update + - debian/alsa-common.templates: Remove extraneous "," which would cause + 'harmony (PCI: Harmony/Vivace sound chip)' to show up as two options. + Add two new chipsets, pc98-cs4232 and atiixp + - debian/patches/10_disable_gcc_version_check{1,2}.dpatch: Sync with new + upstream release + + -- David B. Harris Sat, 28 Feb 2004 12:49:38 -0500 + +alsa-driver (1.0.2c-3) unstable; urgency=low + + * David B. Harris: + - Brown paper bag upload. + - debian/alsa-common.templates: + + Put module name where it's supposed to be, instead of a descriptive + string. This broke debconf configuration for some people. + (Closes: #232942) + + -- David B Harris Sun, 15 Feb 2004 18:56:54 -0500 + +alsa-driver (1.0.2c-2) unstable; urgency=low + + * Update debconf cardlist: + - Add usb-usx2y (Tascam US-122 and US-428) + - Add bt87x (Bt878/Bt879 TV card audio) + - Add harmony (Harmony/Vivace sound chip) + - Add hdspm (RME HDSP MADI board) + - Add intel8x0m (Intel i8x0 software modem thing) + + -- David B Harris Sat, 14 Feb 2004 19:34:41 -0500 + +alsa-driver (1.0.2c-1) unstable; urgency=low + + * New upstream release. + - With this version, alsa-source now builds against 2.6.x kernels. + (Closes: none - what the hell is up with that?) + * David B. Harris: + - Split debian/patches/10_disable_gcc_version_check into two different + patches (one for configure.in, one for configure) to make + forward-porting to new versions easier. + * Jordi Mallach: + - debian/alsa-modules.postinst: apply patch from Michel Dänzer to run + depmod correctly regardless what kernel version you're running when + you install an alsa-modules package, thanks! (closes: #231973) + + -- Jordi Mallach Sun, 15 Feb 2004 01:07:37 +0100 + +alsa-driver (1.0.1-1) unstable; urgency=low + + * New upstream release. (Closes: #224505) + - This version should build on 2.4.23 and 2.4.24. (Closes: #212171) + * David B Harris: + - The alsaconf binary package has now been integrated into the alsa-utils + binary package: + - Remove alsaconf stanza from debian/control + - Remove alsaconf files: alsaconf.8, alsaconf.dirs, alsaconf.manpages, + alsaconf.menu, patches/98_debian_alsaconf.dpatch + - Remove 98_debian_alsaconf from debian/patches/00list + * Steve Kowalik: + - Patches #4 and #99: Unfuzz. + - Patch #5: Remove; it has been applied upstream. + - Patch #10: Regenerate. + - Loosen Depends and Conflicts on lsof{-2.2,}. (Closes: #227514) + + -- Jordi Mallach Sun, 18 Jan 2004 04:28:09 +0100 + +alsa-driver (0.9.8-3) unstable; urgency=low + + * Jordi Mallach: + - debian/control: make the lsof-2.2 conflict versioned, alsa-base can't be + installed otherwise (closes: #223822, really caused by #108341). + - debian/changelog: recode as UTF-8. + + -- Jordi Mallach Sat, 13 Dec 2003 22:38:26 +0100 + +alsa-driver (0.9.8-2) unstable; urgency=low + + * Steve Kowalik: + - Stop the init script bombing out if it can't load any driver modules. + (Closes: #221038) + - Drop debconf question about loading OSS compatibility modules. We now + perform auto-detection during boot-up. (Closes: #222350) + - Bump the Depends on lsof to (>= 4.64-1). (Closes: #221295, #221809) + - Apply patch to the init script so that it will work with both modules + configured, or ALSA compiled statically. (Closes: #221292) + - Drop Depends on kernel-image to Recommends. (Closes: #216253) + - Add six new cards to the debconf list. (Closes: #222205) + + au8810 (PCI: Aureal Advantage) + + au8820 (PCI: Aureal Vortex) + + au8830 (PCI: Aureal Vortex 2) + + mixart (PCI: Digigram miXart) + + pdaudiocf (PCMCIA: Sound Core PDAudioCF) + + usb-us428 (USB: Tascam USB US-428) + - Remove all the instances of the word 'driver' from the debconf list. + - Mention alsaconf in alsa-base's README.Debian. (Closes: #222349) + - Use the user's /etc/default/alsa to run sed over, rather than the + default example. + - Don't Build-Depend on kernel-headers. + - Bump alsa-source's pseudo-source package's Standards-Version to 3.6.1. + * Jordi Mallach: + - debian/control: make alsa-base conflict with old lsof-2.2, just in case. + - debian/po/de.po: German translation update (thanks, Patrick Willam, + Tomas and Friedemann; closes: #223103). + + -- Steve Kowalik Fri, 12 Dec 2003 23:35:01 +1100 + +alsa-driver (0.9.8-1) unstable; urgency=low + + * New upstream release. (Closes: #218907, #219495) + - alsaconf no longer hangs if alsa is running. (Closes: #207482) + * Steve Kowalik: + - Patches #4 & #98: Unfuzz. + - Patches #5, #10, #14: Updated. + - Patch #16: New; compile core/oss/snd-pcm-oss.c with + -fno-omit-frame-pointer. (Closes: #195837, #199991, #201700) + - Patch #99: Update to also fix how install is called in the + install-scripts target. (Closes: #213941) + - Add a 'alias /dev/dsp* snd-pcm-oss' to the modules files. + (Closes: #208458) + - Fix /etc/apm/event.d/alsa to work with devfs. (Closes: #204408) + - Drop the Suggests on alsa-utils in alsa-base, we already Depend on it. + - Fix a slight bug in alsa-base's config script to work with + pre-configuration. (Closes: #198225, #203492, #212687, #217400) + - Also bump alsa-source's Depends on debhelper to >= 4.0.0. + - Speed up the init script by using lsof when finding processes using + sound devices. (Closes: #200628, #202150) + - Fix how $CC is passed to ./configure. + - Update Japanese Debconf translation. (Closes: #210370) (thanks, Kenshi + Muto) + * Jordi Mallach: + - debian/po/nl.po: Updated Dutch translation (thanks, Bart Cornelis; + closes: #212994). + - debian/alsa-source.control: bump alsa-source's build-depend on + debhelper to >> 4.0.0 (closes: #220344). + - Patch #98: Fix paths to lsmod and lspci (closes: #215059, #214870). + + -- Steve Kowalik Fri, 14 Nov 2003 23:28:22 +1100 + +alsa-driver (0.9.6-5) unstable; urgency=low + + * Steve Kowalik: + - Patch #14: Updated; Change a < to <= to allow modules compiled against + 2.4.22 to build. (Closes: #208797, #209233, #209166, #209267) + - Create /etc/modprobe.d, and symlink in the modules file. + - Apply patch against /etc/init.d/alsa. (Closes: #208800) + * David B. Harris: + - debian/alsa-source.README.Debian: Adjust example variable KVERS to + include all the elements common to version strings these days + (ie: 2.4.21-5-k7). (Closes: #208771) + * Jordi Mallach: + - debian/modules-snippet.conf: remove obsolete device_mode parameter + (closes: #209001). + - debian/po/fr.po: Updated French translation by Christian Perrier + and debian-l10n-french (closes: #208784). + + -- Steve Kowalik Tue, 9 Sep 2003 08:53:40 +1000 + +alsa-driver (0.9.6-4) unstable; urgency=low + + * Steve Kowalik: + - Qualify the modprobe.d symlink. (Closes: #208749) + - Patch #12: Remove; the submitter mentions that it isn't needed with + 0.9.6. + + -- Steve Kowalik Fri, 5 Sep 2003 09:18:07 +1000 + +alsa-driver (0.9.6-3) unstable; urgency=low + + * Steve Kowalik: + - Patch #14: New; fixes declaration of irqreturn_t. (Closes: #207649) + - Patch #15: New; write to another register first fixing the filter + register for es18xx. (Closes: #204147) + - Loop over removing modules, don't just try and kill all of them at + once. (Closes: #204163, #207418) + - Look in /lib/modules/modprobe.conf instead of /etc/modprobe.conf. + - Actually symlink in /etc/modprobe.d/alsa if it doesn't exist. + - The 3 above entries allow the init script to be used on 2.4, 2.5 and 2.6 + kernels. + - Also include $(CURDIR)/debian/alsa-source.conf when trying to read in + values during building of alsa-source. (Closes: #199729) + * Jordi Mallach: + - debian/po/fr.po: French translation update by Christian Perrier and + debian-l10n-french; thanks! (Closes: #207757). + - debian/po/pt_BR.po: Brazilian Portuguese translation update by + Andre Luis Lopes; thanks! (Closes: #207945). + + -- Steve Kowalik Thu, 4 Sep 2003 22:38:46 +1000 + +alsa-driver (0.9.6-2) unstable; urgency=medium + + * Jordi Mallach: + - debian/devfs.conf: apply patch from Tore Anderson to fix a bad typo and + the assumption that devfs is mounted in /dev. Thanks! (Closes: #207413) + + -- Jordi Mallach Wed, 27 Aug 2003 23:22:47 +0200 + +alsa-driver (0.9.6-1) unstable; urgency=low + + * New upstream release. (Closes: #201162) + * Steve Kowalik: + - Patch #12: New; Fixes EMU8000 PNP auto-configuration. (Closes: #197378) + - Bump the Build-Depends-Indep on debhelper to 4.1.17. (Closes: #199940) + - Update French debconf translation. (Closes: #200725) (thanks, + Christian Perrier) + - Import Dutch debconf translation. (Closes: #204572) + - Change the wording of a few questions. (Closes: #200726) + - Write a new version of program-wrapper. (Closes: #200686) + - Drop UID and GID parameters from modules-snippet and the example 0.9 + configuration. (Closes: #205920) + - Also symlink /etc/alsa/modutils/0.9 to /etc/modprobe.d/alsa as well. + - Depend on modutils, or module-init-tools. The order will change when + 2.6 is more widely used. (Closes: #206226) + - Quote $(CC) in alsa-source's debian/rules. (Closes: #204281) + - 0.9.6 references iface_no and altno in usbaudio.c correctly. + (Closes: #204414) + - Don't keel over in alsa-modules install if depmod exits with a non-zero + exit status. (Closes: #201817) + - Call rmmod -r with kernel 2.4, and modprobe -r with kernel 2.6 in the + init script. (Closes: #194230) + - Please note that snd-intel8x0 causes an oops upon load with this + version. We are looking for a fix currently. + - Update to Standards-Version 3.6.1; no changes needed. + * David B. Harris: + - Import new upstream version to our CVS tree. + + Update 10_disable_gcc_version_check to new upstream code + + Remove 11_makefile_conf_shell_bash, the new upstream code isn't + Bash-specific any more + - Only create /dev/sndstat link ourselves when devfsd isn't managing /dev, + and add magic to /dev/devfs/conf.d/alsa so that devfsd does it (thanks + very much to Russell Coker, who did all the work) (Closes: #198702) + - Support 'alias foo-bar off' and similar in /etc/modules.conf + (Closes: #199190) + - Format alsa-base's NEWS.Debian correctly. (Closes: #199930) + * Jordi Mallach: + - debian/po/ca.po: Updated Catalan translation. + + -- Steve Kowalik Tue, 26 Aug 2003 21:47:00 +1000 + +alsa-driver (0.9.4-1) unstable; urgency=low + + * New upstream release + * Steve Kowalik: + - Patch #4: Unfuzz. + - Patches #5 & #10: Regenerate; Upstream files had changed too much. + - Patch #9: Rip out half of it; The need_resched() issue has been fixed + on Alpha, however, the Pinnacle driver still fails to build due to + braindead usage of i386-only ISA macros. + - Patch #11: New; Fix potential build failure by correcting 2 bashisms in + Rules.make. + - Add a binary target to debian/rules in alsa-source. + * David B. Harris + - Merge tree with ALSA's 0.9.4 release. + - Let /etc/init.d/alsa unload the ALSA modules if it can't store mixer + settings. (Closes: #194381) + + -- Steve Kowalik Fri, 13 Jun 2003 20:32:14 +1000 + +alsa-driver (0.9.3c-1) unstable; urgency=low + + * New upstream release + * Steve Kowalik: + - Kick the depends in alsa-source to alsa-base (>= 0.9.3c-1), due to + /dev/snd going away. + - Use 'read REPLY' instead of 'read', which stops dash complaining. + - Deal with stat output starting with 'e' (OSS) or '74' (ALSA). + - Have stat follow symlinks. + - Patch #10: New; disables gcc version compare check in ./configure, as + debian/rules already handles this. + - Patches #4, #9, #98 and #99: Unfuzz. + * David B. Harris: + - Remove patches which fixed sparc64, the azt2320, opti2320, sb16 and + ymfpci drivers. They have been merged upstream or were from CVS. + - /proc/asound/dev/ is no longer created by 0.9.3c drivers. We linked + /dev/snd/ to /proc/asound/dev/ previously. Now, create the device nodes + statically. + + -- Steve Kowalik Fri, 30 May 2003 00:54:37 +1000 + +alsa-driver (0.9.3a-2) unstable; urgency=low + + * Steve Kowalik: + - Fix a long standing bug where one space was causing the template to + display ". . " instead of .\n. + - Partially rewrite alsa-source's config script to deal with config file + changes and preconfigure properly. (Closes: #193086) + - Patch #9: New, fixes build problems on Alpha. (Closes: #191553) + - Patch #10: New, backport of ymfpci driver from CVS. + - Update ja.po. (Closes: #193973) (thanks, Kenshi Muto) + - Bump to Standards-Version 3.5.10; no changes needed. + - Also bump alsa-source's control to 3.5.10; no changes needed there, + either. + * David B Harris: + - Move /etc/alsa/alsa-base.conf to /etc/default/alsa (Policy 10.3.2) + - Refactor/rewrite /etc/init.d/alsa for idempotency and reliability + - Stop stopping/starting ALSA on upgrade of alsa-base, only alsa-modules + packages should do this. + - Lintian cleanups: remove dependencies on awk, made the debconf + dependency versioned, /usr/share/alsa-base/snddevices made executable + * Jordi Mallach: + - po/ca.po: Updated Catalan translation. + + -- Steve Kowalik Thu, 22 May 2003 00:23:08 +1000 + +alsa-driver (0.9.3a-1) unstable; urgency=low + + * New upstream release + * Steve Kowalik: + - Patch #5: New, patch from Bas Zoetekouw to configure.in that was applied + and autoconf'd to produce a configure patch. Checks if tty->count is an + atomic_t or int. (Closes: #189170) + - Patch #6: New, fixes build failure in azt2320 by not needing + CONFIG_PNP defined. + - Patch #7: New, fixes build failure in opti9xx by testing CONFIG_PNP. + - Patch #8: New, fixes build failure in sb16 by testing for CONFIG_PNP. + - Don't exit if we can't load any modules in the init script - ALSA may + be statically compiled. (Closes: #191882) + * David B Harris: + - Patches removed because they were integrated upstream: + + 02_emu10k1_borrowed_from_cvs.dpatch + + 03_via82xx_borrowed_from_cvs.dpatch + - Update the following patches to apply cleanly: + + 01_sparc64_fixes.dpatch + + 04_make_minus_j_fix.dpatch + + 99_debian_makefile_depmod.dpatch + + -- Steve Kowalik Sun, 11 May 2003 01:31:27 +1000 + +alsa-driver (0.9.2-7) unstable; urgency=low + + * Steve Kowalik: + - Also seed alsactl_store_on_shutdown in alsa-base's .config. + - Rewrite part of alsa-base's .config to support backing up. + (Closes: #189789) + - Don't run dpkg --compare-versions on a new install. + (Closes: #190653, #190925) + - Patch #1: Remove the vmalloc_to_page brain-damage. + (Closes: #189533, #190052) + - Use $(subst) instead of the shell for working out KDREV when it contains + an epoch. (Closes: #190292) (thanks, Herbert Xu) + - Stop ALSA at 21 instead of 20. (Closes: #190393) + * David B Harris: + - Ensure that /etc/init.d/alsa can handle device names with spaces + in them (Closes: #190018) + - Only restore mixer settings when the user has told us to save them. + Avoids a future bug report. + + -- Steve Kowalik Wed, 30 Apr 2003 00:53:36 +1000 + +alsa-driver (0.9.2-6) unstable; urgency=low + + * Steve Kowalik: + - Add force-reload as an option to the init script. (Closes: #188624) + - Quote some variables that I missed in the init script. (Closes: #189165) + - Create alsa-base.conf in the postinst if it doesn't exist. + (Closes: #188674) + - Rewrite the config scripts for alsa-{base,source}. + + This rewrite neatly fixes the "card_list gets asked twice" bug, since + what was taking place is that dpkg-preconfigure would ask the question, + and then when debconf ran the .config, it would ask again. + (Closes: #181605) + + Be warned that alsa-base may re-ask for your driver modules due to + the question name changing. + + Work around a nice bug in alsa-base's previous config, which would + re-add the last driver module to the list every time the package was + upgraded. + - Patch #4: Enabled; fixes building with 'make -j'. (thanks, Colm Buckley) + (Closes: #176166) + - Bump Standards-Version to 3.5.9; no changes needed. + * David B Harris: + - Fix up variable quoting in various maintainer scripts written in shell, + avoiding a number of future problems. + - Fix postinst failure when $alsactl_store_on_shutdown is "" + (Closes: #189603) + + -- Steve Kowalik Sat, 19 Apr 2003 23:40:25 +1000 + +alsa-driver (0.9.2-5) unstable; urgency=low + + * Steve Kowalik: + - Apply Josh Buhl's patch to my patch (03_via82xx_borrowed_from_cvs) to + fix build failure. (Closes: #188577) + - Deal with alsa-source being preconfigured. (Closes: #188195) + + -- Steve Kowalik Sat, 12 Apr 2003 00:40:02 +1000 + +alsa-driver (0.9.2-4) unstable; urgency=low + + * Steve Kowalik: + - Correct typo in debian/alsa-source.rules. (Closes: #188520, #188521) + + -- Steve Kowalik Fri, 11 Apr 2003 12:32:25 +1000 + +alsa-driver (0.9.2-3) unstable; urgency=low + + * Steve Kowalik: + - Bail out of building -modules if the compiler the kernel was built with + is not installed. + - Fix the init script to accept force-restart as an argument, and remove + force-reload as an option. (Closes: #187447) + - Redirect the output from modprobe -r soundcore to /dev/null. + - Don't Provide: alsadriver in alsa-modules. + - Have alsa-base Provide: alsa. + - Stop Suggesting alsadriver and alsaconf in alsa-base. + - If KVERS isn't specified, try and work it out. + - Remove /etc/alsa/alsa-{source,base}.conf on purge. (Closes: #188257) + - Don't try and cp the example file in alsa-base's config. + (Closes: #188261) + - Patch #1: Added; corrects build failure on sparc64. + - Patch #2: Added; fixes Audigy2 brokenness - from CVS HEAD. + - Patch #3: Added; backport via82xx, parts of intel8x0 and parts of + ac97_codec from CVS HEAD. + - Patch #98: Correct the filename inside of the file. + * David B. Harris: + - Support for make-kpkg's $(KPKG_DEST_DIR) variable, which specifies + which directory the built .debs belong. + - alsa-source.rules: Stop configure from being run every build, and + instead only run it when required. + + -- Steve Kowalik Fri, 11 Apr 2003 00:34:33 +1000 + +alsa-driver (0.9.2-2) unstable; urgency=low + + * Steve Kowalik: + - Deal with not being able to pull values from /etc/alsa/alsa-source.conf. + (Closes: #186375) + - Allow an epoch to be specified in KDREV. (Closes: #186514) + - Have the init script bail if you don't run it as root. (thanks, Alex + Samad) + - Rip debconf-age out of alsa-modules, it's not needed. + - Stop alsa-modules depending on debconf. + + -- Steve Kowalik Wed, 2 Apr 2003 22:43:18 +1000 + +alsa-driver (0.9.2-1) unstable; urgency=low + + * New upstream release. + * Steve Kowalik: + - Deal with being asked for a long description for 'done'. + (Closes: #185267) + - Convert alsa-source itself to debian/compat, and trawl through + debian/rules making some fixes. + * David B. Harris: + - New upstream CVS merging. + + -- Steve Kowalik Wed, 26 Mar 2003 23:46:16 +1100 + +alsa-driver (0.9.1-2) unstable; urgency=low + + * Steve Kowalik: + - Stop removing /etc/asound.conf and /etc/sound/asound.conf in the + postinst and postrm. (Closes: #184615) + - Update Brazilian Portuguese translation. (Closes: #183303) (thanks, + Andre Luis Lopes) + - Deal with leading whitespace in the /etc/alsa/modutils/0.9 file. + (thanks, Adam Hewitt) + * David B. Harris: + + debian/alsa-base.postinst: Symlink /etc/modutils/alsa to + /etc/alsa/modutils/0.9, not /etc/modutils/alsa/0.9 + (Closes: #184924) + + -- Steve Kowalik Mon, 17 Mar 2003 23:15:19 +1100 + +alsa-driver (0.9.1-1) unstable; urgency=low + + * New upstream release. + * Steve Kowalik: + - Handle being asked for a long description for all. (Closes: #184466) + - Stop calling update-modules in the init script. (Closes: #184454) + - Tighten when we reset alsa-base/card_list. + - Convert alsa-base to the great idea I got for alsa-source's config. + + -- Steve Kowalik Sat, 15 Mar 2003 01:18:50 +1100 + +alsa-driver (0.9.0rc8d-2) unstable; urgency=low + + * The "Brown paper bag" release. + * Steve Kowalik: + - Have alsa-source's config assume defaults if the config file doesn't + exist, and not spew messages into debconf. (Closes: #184388) + - Update French translation. (Closes: #184381) (thanks, Denis Barbier) + * David B. Harris: + - alsa-base.init: Do not remove the /dev/snd symlink on shutdown + (Closes: #184309) + - alsa-base.init: Clarify initscript message with respect to the magic tag + in /etc/alsa/modutils/0.9 (Closes: #182758) + - alsa-source.rules: Loosen compiler check regexp to catch 'gcc --version' + differences between locales (Closes: #183922) + + -- Steve Kowalik Wed, 12 Mar 2003 17:24:39 +1100 + +alsa-driver (0.9.0rc8d-1) unstable; urgency=low + + * New upstream release. + - Fixes the build failure due to perverted CVS stuff. + (Closes: #183927, #184249) + - Fixes the audio quality on VIA8233A chipsets. (Closes: #180653) + - Maestro3 + IrDA should be fine on Dell laptops now. (Closes: #123800) + - Emu10k1 sequencers shouldn't throw back ENOMEM now. (Closes: #183315) + * Steve Kowalik: + - Add in the 2 new cards: + + ice1724: PCI: ICEnsemble ICE1724 / VIA VT1724 (Envy24HT) + + vx222: PCI: Digigram VX222 V2/Mic + - Remove the errornous card: + + vxp-lib: The configure script doesn't recognise this as a valid card + anyway, so there is no point keeping it in the list. + - Patch #5: Removed, usb/usbaudio.c builds fine by itself now. + - Patch #8: Removed, its been handled by upstream. + - Patch #9: Removed, this has been fixed by upstream. (Closes: #183591) + - Patch #98: New, sort of. This is the last little bit of patch #4, which + now applies Debian-specific changes to alsaconf. + - Fix up the descriptions for cs42{3{2,6},81}. (Closes: #183885) + (thanks, Paul Hampson) + - Rewrite alsa-source's config in Perl. Allows us to set the alsa cards + without much pain. (Closes: #183887) + - Run 'alsactl store' before #DEBHELPER# in alsa-base's postinst. + (Closes: #184079) + - Reorder when we run kill $procs_using_sound. (Closes: #184269) + + -- Steve Kowalik Tue, 11 Mar 2003 21:32:24 +1100 + +alsa-driver (0.9.0rc7-7) unstable; urgency=low + + * Steve Kowalik: + - Brown paper bag release. + - It's gcc272, not gcc-272. Really closes #183684. + + -- Steve Kowalik Fri, 7 Mar 2003 23:52:44 +1100 + +alsa-driver (0.9.0rc7-6) unstable; urgency=low + + * Steve Kowalik: + - Fix alsa-source rules to not set -j. (Closes: #183693, #183565) + - If we get back 'gcc-2.7', set 'gcc-272' instead. (Closes: #183684) + + -- Steve Kowalik Fri, 7 Mar 2003 10:29:17 +1100 + +alsa-driver (0.9.0rc7-5) unstable; urgency=low + + * Steve Kowalik: + - Add David B. Harris to Uploaders. + - Remove Martin Loschwitz from Uploaders. + - Build-Depend on dpatch, and just include it's make-snippet. + - Patch #5: Rename it, so that it's less than a mouthful. + - Alsa-source building: + + Add $CONCURRENCY_LEVEL support to alsa-source's debian/rules. + + Rewrite the echo-vars target. + + Append $KDREV onto the package version. (Closes: #182147) + + Fix some old cruft in alsa-modules.postrm. + + Apply patch from Paul Hampson to stop building of synth modules. + (Closes: #180234) + + Recommend kernel-pcmcia-modules | pcmcia-modules in the control file. + + Fix the bug in alsa-source where you needed to run make twice. + + Set the maintainer of the built modules to just the Psychos. + + Whoops. Didn't migrate alsa-source to the debconf changes for -4. + (Closes: #182845) + + Use bzip2 instead of gzip. (Closes: #183146) + - Init script issues: + + Deal with ALSA being compiled in statically. (Closes: #182200) + + Use '[:space:]' rather than (\t| ). \t actually looks for 't'. + (Closes: #182601) + + Change the pattern thrown to the first grep when we look for processes + using sound devices. (Closes: #182712) + * David B. Harris: + - debian/alsa-base.templates: Tweak alsa-base/card_list text to be a + bit more explicit about what it's doing, and correct various grammar + mistakes. + - debian/alsa-base.postinst: Add aliases for sound-slot-*, since this + is what the kernel looks for. + - debian/alsa-source.README.Debian: Completely rewrite the document, to + clarify and update the installation procedure. (Closes: #182315) + - debian/alsa-source.rules: Place built .deb's into $(CURDIR)/.., or + $(KSRC)/.., depending if we're being built underneath make-kpkg or not. + * Jordi Mallach: + - debian/alsaconf.8: rewrite manpage, as the old one was utterly fucked. + While at it, fix a pair of typos (closes: #136436, #176148). + - debian/alsaconf.manpages: add alsaconf.8. + - debian/po/ca.po: yet another Catalan update. + + -- Steve Kowalik Tue, 4 Mar 2003 09:01:49 +1100 + +alsa-driver (0.9.0rc7-4) unstable; urgency=low + + * Steve Kowalik: + - Drop alsaconf from optional to extra. + - Clean up some parts of the init script. + + Stops init script dying during an upgrade. (Closes: #168043) + - Put the description for each card in the question proper. Now it's + debconf's problem to display it readably. (Closes: #181602) + - Stop installing {build,patch}-stamp into the alsa-driver tarball. + - Rewrite part of the alsa-base debconf to only write the modutils file + if it finds the string "### DEBCONF MAGIC" in the current file. + (Closes: #181570, #181635) + - Check that $counter is greater than zero before writing the snd-slot + part of the modutils file. (Closes: #181727) + - Drop every other module selected to build if all is also selected. + (Closes: #181641) + - Patch #7: Removed; serves no useful purpose. + - Patch #8: Added; removes the definitions and calls to v{un,}map. + (Closes: #180889) + - Change the wording regarding KVERS in alsa-source's README.Debian. + (Closes: #181644) + - Change the Description for alsa-{base,headers,source} to be 'ALSA sound + driver' rather than 'ALSA driver'. (Closes: #181775) + - Fix up usage of $CC in alsa-source's rules file. (Closes: #181737) + (thanks, Gergely Nagy) + - Stop copying the configuration from 0.5 direct to 0.9. (Closes: #180414) + - Use the dynamic duo of find and stat instead of ls in the init script. + (Closes: #181628) (thanks, David Harris) + * Jordi Mallach: + - debian/po/ca.po: updated Catalan translation. + - Change the wording on the alsactl store question. (closes: #181580) + - Patch #4: set the right permissions and ownership of audio devices + (closes: #181904). + + -- Steve Kowalik Sun, 23 Feb 2003 01:43:54 +1100 + +alsa-driver (0.9.0rc7-3) unstable; urgency=low + + * Steve Kowalik: + - Rewrite the init script. (Closes: #162365) + - Use awk, rather than tr and cut. Bah. (Closes: #172733) + - Partially rewrite /etc/apm/event.d/alsa, too. + - Implement Thomas Hood's suggestion for + force_stop_modules_before_suspend. (Closes: #84736) + - Add a Debconf frontend for module configuration. + (Closes: #141694, #168243, #172620, #168884) + - Note the card list is now a piece of unreadable garbage. Alternatives + will be forth-coming. + - Get alsa-source to drop .deb's in ../.. again. (Closes: #180261) + - Deal with /etc/alsa not existing or being a file in the alsa-source + postinst. (Closes: #180233, #180491) + - Fix up some of the permission code in the alsa-base postinst to look + more sane. + - Also look for /dev/.devfsd before running snddevices. (Closes: #180464) + - In alsa-source's rules file, apply a one line patch from Martin Blix + Grydeland, and allow $CC to be overridden. (Closes: #180724) + - Make running 'alsactl store' on shutdown configurable. (Closes: #97514) + - Stop installing /etc/alsa/alsa-base.conf, as we deal with it in debconf. + - Depend on >= 0.9.0rc7-3 with the generated alsa-modules. + - Remove alsa-base's preinst. It doesn't really serve a useful purpose. + - Stop pulling example files from /usr/share/doc. + - Use invoke-rc.d. (thanks, Tollef Fog Heen) + - Add etc/alsa to debian/alsa-source.dirs. (Closes: #180412) + * Jordi Mallach: + - debian/control: + + create a new binary package "alsaconf". Inherit Conflicts and + Depends from the old alsaconfig source package (closes: #179219). + + remove obsolete Suggests on alsaconf-0.4. + - debian/modules-0.9.conf: fix typos. + - The new alsaconf should work ok with new ALSA 0.9.0 (closes: #98821, + #139805, #142238, #160574, #82961, #95446, #104337, #129238, #135064, + #137118, #169180). If you prove me wrong, please reopen. + - The symlink creation in alsa-base makes modutils stuff work ok + (closes: #96427, #146301). + - It apparently can now deal with more than one card (closes: #65859). + - alsaconf now runs update-modules after writing the configuration + (closes: #133523). + - alsa-utils-0.5 is deprecated and unmaintained (closes: #100360). + - debian/alsaconf.menu: add menu item. + - debian/rules: install utils/alsaconf into the alsaconf package. + - patch #4: + + use /bin/bash as interpreter for alsaconf, not just /bin/sh, plus fix + a few bashisms (not all). + + fix two gawkisms (thanks Clint Adams). + + adapt script for Debian needs: write config into + /etc/alsa/modutils/0.9, use /etc/init.d/alsa, etc. + - debian/alsa-source.rules: reintroduce $(ROOT_CMD) fix from #161913. + - debian/po/fr.po: French update from Denis Barbier (closes: #180504). + - debian/po/ca.po: Updated Catalan translation. + - debian/po/ru.po: Russian update from Serge Winitzki (closes: #180729). + - debian/{program-wrapper,snd-dev-utils}: removed, not used anymore. + + -- Steve Kowalik Wed, 19 Feb 2003 00:09:18 +1100 + +alsa-driver (0.9.0rc7-2) unstable; urgency=low + + * Steve Kowalik: + - Change author for patch #99. + - Apply Russel Coker's patch against snd-dev-utils. (Closes: #147937) + - Add patch #6, which doesn't build ISA modules if CONFIG_ISA is n. + (Closes: #179522) + - Add patch #7, which adds 2 printk's for snd-intel8x0. + - Add an option for all cards to the alsa-source question about which + modules to build. (Closes: #164893) + - Add a case statement to the alsa-source postinst so that it acts like + a Real Life Postinst. + - Sort the sound card list in /etc/alsa/modutils/0.9. (Closes: #177623) + - Get alsa-source to drop the .deb in the parent directory. + (Closes: #179801) + - Grab what C compiler was used for the kernel compile from the headers. + (thanks, Herbert Xu and Angus Lees) (Closes: #177955, #179798) + - Remove debian/modules-0.5.conf. Like it's used for anything, anyway. + + -- Steve Kowalik Fri, 7 Feb 2003 22:04:07 +1100 + +alsa-driver (0.9.0rc7-1) unstable; urgency=low + + * Steve Kowalik: + - New upstream version. + + Fixes oops when playback stops in fm801 cards. (Closes: #174908) + - Add target dependancies for alsa-source's rules file. + - Change Maintainer to 'Debian-Alsa Psychos + ' + - If /dev/{audio,dsp,amixer} don't exist as char special, run snddevices + in the alsa-base postinst. (Closes: #113060, #136244) + - Update the Brazilian Portuguese translation. (thanks, Andre Luis Lopes) + (Closes: #106941) + - Remove the spurios 'exit 1' in the init script. + (Closes: #137993, #170589, #172165, #172733) + - Add patch #5, from ALSA CVS HEAD, which fixes a build failure in + usb/usbaudio.c. + * Jordi Mallach: + - TODO.Debian: moved... + - debian/TODO.Debian: ... here. Sorry StevenK :) + - debian/TODO: remove old crap. + + -- Steve Kowalik Mon, 3 Feb 2003 00:48:47 +1100 + +alsa-driver (0.9.0rc6+2-3) unstable; urgency=low + + * Jordi Mallach: + - debian/alsa-source.templates: fix typo in templates list + (closes: #177350). + - debian/po/ca.po: update Catalan translation. + - debian/po/fr.po: update French translation from Denis Barbier + (closes: #98326). + * Steve Kowalik: + - Fix /bin/sed usage in postinst. (Closes: #177491) + - Move alsa-source's config file in the config script. (Closes: #177492) + - The two above also fix this issue. (Closes: #106854) + - The generated files are long gone. (Closes: #168299) + - Apply patch for whitespace in /etc/alsa/modutils files. + (Closes: #175289, #120270) + - /sbin/mknod -> /bin/mknod in the alsa-base postrm. (Closes: #178309) + - No more debian/debconf stuff in packaging. (Closes: #129212) + - binary-modules is a target dependant on binary_modules. + (Closes: #133326) + - I bet this problem in the config script is long fixed. (Closes: #95660) + - Create /var/lib/alsa-base/modules for the package alsa-source builds. + - No response from the submitter, and I haven't seen anyone complain + about the permissions of sound devices changing since. (Closes: #162934) + + -- Steve Kowalik Wed, 29 Jan 2003 01:29:10 +1100 + +alsa-driver (0.9.0rc6+2-2) unstable; urgency=low + + * Steve Kowalik: + - Remove debian/alsa-base.conffiles. Debhelper handles it for us. + - Alsa-source: + + Copy example alsa-source.conf if it doesn't exist, and then do + debconf-isation of the file. + + Create /var/lib/alsa-base/modules during alsa-modules build. + + Closes: #176945 + + -- Steve Kowalik Sat, 18 Jan 2003 01:15:22 +1100 + +alsa-driver (0.9.0rc6+2-1) unstable; urgency=low + + * Steve Kowalik: + - ARGH! I've been building this thing as a native package. Fix up that + mess. + - Whoops. Looks like I somehow lost debian/header-files. Recreate it, under + a better name. (thanks, Vichaya Sidhipong) + + -- Steve Kowalik Wed, 15 Jan 2003 18:54:44 +1100 + +alsa-driver (0.9.0rc6+1-2) unstable; urgency=low + + * Steve Kowalik: + - Fix erroneous spaces around a = in a variable declaration in the + alsa-modules.postinst. (Closes: #176663) + + -- Steve Kowalik Wed, 15 Jan 2003 03:13:52 +1100 + +alsa-driver (0.9.0rc6+1-1) unstable; urgency=low + + * Steve Kowalik: + - Packaging: + + Drop dbs like a stone, and use dpatch. + + Bump version so that the orig tarball is regenerated. + + Also correct grammar in the descriptions in debian/control. + + Add a patch that removes the calls to depmod in the Makefile. + - Alsa-base: + + Correct some grammar and spelling in TODO and the example + alsa-base.conf. + + Remove /etc/asound.conf in the postinst (Closes: #149703) + + Create a symlink for /dev/sndstat. Also remake /dev/sndstat as a char + special in the postrm. (Closes: #162368) (thanks, Peter Cordes) + + Clean up the messes that are known as the config and postinst scripts + for alsa-base and alsa-source. + + Clean up the init script a little bit. + + Drop most of the autogenerated stuff. Icky. + - Only debian/{control,post{inst,rm}} files are autogenerated now. + - Alsa-Source: + + Rewrite most, if not all of the handling scripts for alsa-source. + + Set KSRC to either $KSRC or /usr/src/linux in alsa-source's rules + file. (Closes: #166006) + + Do the same for KVERS, between $KVERS, or unknown. + + With this new system, if you don't specify $KVERS, stuff will break. + Which makes it hard to install modules in to wrong location. + (Closes: #118297) + + Set the permissions of directories in /usr/src/modules to root.src + drwxrwsr-x. (Closes: #174925) + * Jordi Mallach: + - Switch all the templates to po-debconf. + - debian/control: Build-Depend on po-debconf. + - debian/po/ca.po: add Catalan translation of Debconf templates. + - debian/alsa-source.templates: update list of drivers. + + -- Steve Kowalik Tue, 14 Jan 2003 00:30:56 +1100 + +alsa-driver (0.9.0rc6-3) unstable; urgency=low + + * debian/modules.d/control.normal: fix the apmd suggestion here. + * debian/devfs.conf: + + revert the changes in rc6-1 (closes: #172583). + + remove the PERMISSIONS entry for ^sound/.*. + + remove all the mixer device creation stuff, which should be created by + the module. If it's not happening, please file a new bug. Initial tests + seemed to work well (closes: #147365, #157144, #169580). + + -- Jordi Mallach Wed, 11 Dec 2002 17:35:19 +0100 + +alsa-driver (0.9.0rc6-2) unstable; urgency=low + + * debian/modules-tools.d/rules: fix 2.4.19 detection... would fail for + images other than -386. + + -- Jordi Mallach Tue, 10 Dec 2002 20:35:44 +0100 + +alsa-driver (0.9.0rc6-1) unstable; urgency=low + + * New upstream release. + * If you reported a bug against alsa, please test if its working with this + new version, and give us feedback, either positive or negative. Thanks! + * debian/scripts/vars: bump TAR_DIR to 0.9.0rc6. + * debian/modules.d/control.module{,-image}.in: adjust depends for rc6. + * debian/control: suggest apmd, not apm (closes: #168171). + * debian/copyright: update package history. + * debian/init: make it ignore modules called "off" or "null". Patch from + Michal Cihar , thanks! (closes: #168842). + * debian/modules.d/control.module.2.4.19.in: make a copy of the normal + file, but add conflicts on kernel-image-2.4.19 (<< 2.4.19-3). + * debian/modules-tools.d/rules: if KVERS = 2.4.19, use the special + control.module file. Wanted a hack, StevenK? There it is. :) + (it should really be using debian/modules-tools.d/control.module-image.in, + but that's another story^Wbug). + * debian/devfs.conf: devfs fixes from Steven Kowalik in our unreleased + alsa-driver repackaging (closes: #157144, #147365, #147835). + + -- Jordi Mallach Tue, 10 Dec 2002 18:19:24 +0100 + +alsa-driver (0.9.0rc5-4) unstable; urgency=low + + * debian/patches/004_usb_api_2_4_20: really removed... duh. + + -- Jordi Mallach Tue, 10 Dec 2002 12:25:48 +0100 + +alsa-driver (0.9.0rc5-3) unstable; urgency=medium + + * debian/patches/004_usb_api_2_4_20: removed (closes: #171136). + * debian/debconf/Makefile.in: don't use --drop-old-templates with + debconf-mergetemplates. Makes it work with Woody's debconf and didn't + give us much gain anyway, in the current state of templates + (closes: #170952). + * debian/modules.d/control*: lax kernel-image dependencies to just the + kernel version. + + -- Jordi Mallach Tue, 10 Dec 2002 11:38:22 +0100 + +alsa-driver (0.9.0rc5-2) unstable; urgency=low + + * debian/apm: delete calls to the removed permission mangling functions + which were removed in the previous upload. Thanks, Chung-chieh Shan + (closes: #167990). + * debian/init: remove cruft comments about the permission stuff. + * debian/{alsa-base.conffiles,source_VERSION_.conffiles.in: removed, + managed by debhelper. + * debian/rules: don't remove alsa-source.conffiles. + + -- Jordi Mallach Wed, 6 Nov 2002 23:40:49 +0100 + +alsa-driver (0.9.0rc5-1) unstable; urgency=low + + * debian/modules.d/control.source: set + Martin Loschwitz as Maintainer:, add + Steve Kowalik and myself as Uploaders:. + * debian/modules.d/control.normal: Suggest: apm (>= 3.0.2-1), as promised in + the 0.9.0rc3-0.2 changelog. + * debian/modules.d/*: change "linux" -> "Linux" (closes: #141600). + * Disable the whole permissions on device files in the init script. + UGLY. Oh, and Closes: #159093. If this breaks, please reopen. (Steve) + * Maintainer Upload, acknowledging previous NMU's + (closes: #114598, #165889, #97640, #117981, #126211, #141372, #142691 + closes: #143377, #144696, #145382, #147383, #148191, #152430, #158515 + closes: #160514, #160778, #160788, #161188, #162378, #163403, #163498 + closes: #164801, #167633, #167854, #52564, #54131, #85242, #92871, #95920 + closes: #97727, #100630, #104163, #113717, #113996, #115757, #117054 + closes: #119195, #124176, #124288, #135535, #138322, #141154, #147362 + closes: #147720, #148900, #151502, #159394, #159660, #161913, #163343 + closes: #167461, #100023, #121355, #147013, #49299, #83509, #92640 + closes: #94564, #146013, #160857). Yay! + + -- Jordi Mallach Tue, 05 Nov 2002 17:15:30 +0100 + +alsa-driver (0.9.0rc5-0.3) unstable; urgency=low + + * Non-Maintainer Upload, again. And it's not a drug, promise! + * debian/debconf/Makefile.in: yuck, don't redirect debconf-mergetemplate's + output to the same file from which we're reading. We should ship non-zero + long templates now :) (closes: #167854). + + -- Jordi Mallach Tue, 5 Nov 2002 12:50:49 +0100 + +alsa-driver (0.9.0rc5-0.2) unstable; urgency=low + + * Non-Maintainer Upload. + * The "Even if it sucks, I enjoyed nursing ALSA" release. + * debian/alsa-source.templates.{de,ja,ru}: removed, they are generated + in debian/debconf/. + * debconf/Makefile.in: call debconf-mergetemplates with --drop-old-templates. + * debian/debconf/cards: remove usb-midi, it has been merged with usb-audio. + * debian/modules-0.9.conf: kernel module symbol names changed in rc4 + (they removed the snd_ prefix), and I forgot to change it on our + options (closes: #167461). + * debian/patches/006_usbaudio_missing_declaration: patch from Aaron M. Ucko, + adds a missing declaration which fixes compilation on 2.2 kernels. Good + timing Aaron, I was about to upload :) Thanks! (closes: #167633). + + -- Jordi Mallach Mon, 04 Nov 2002 02:29:30 +0100 + +alsa-driver (0.9.0rc5-0.1) unstable; urgency=low + + * Non-Maintainer Upload (still?). + * New upstream release. + * debian/alsa-source_VERSION_.README.debian.in: actually modify this file, + not the generated one (really closes: #163343). + * debian/debconf/Makefile.in: rework the makefile to handle split templates. + * debian/debconf/cards: replace via686 and via8833 with via88xx. + * debian/debconf/templates_VERSION_.templ.in: split into + templates_VERSION_.templ.{de,ja,ru}.in. Some are outdated. + This whole debian/debconf thing is an evil, big hack... + * debian/scripts/vars: bump TAR_DIR to 0.9.0rc5. + * debian/modules.d/control.module{,-image}.in: adjust depends for rc5. + * debian/patches/001_remove_isapnp_h: removed. + * debian/patches/005_ac97_patch_c_define_no_version: removed. + * debian/rules: remove isapnp.h workarounds from rc3. + * debian/sys-build.mk: source.clean wasn't removing $(STAMP_DIR) properly. + Scary change, because I still don't get much of what goes on in DBS. + * Powerpc driver compiles ok in this new version (closes: #165889). + * emu10k1 build fixed (closes: #147720). + * via686 doesn't do noise instead of sound now (closes: #163498). + + -- Jordi Mallach Wed, 30 Oct 2002 14:31:44 +0100 + +alsa-driver (0.9.0rc3-0.3) unstable; urgency=low + + * The "I hate this package" release. + * debian/modules-tools.d/rules: add support for kernel-package's + --rootcmd. Thanks to Adrian 'Dagurashibanipal' von Bidder for pointing + me at Brian May's pcmcia-source patch (closes: #161913). + * debian/rules: remove include/linux/isapnp.h from the current directory, + not just from the build dir. It wasn't fixed for the alsa-source + tar.gz... (thanks, Daniel Müller; closes: #164801, really). + * debian/patches/002_linux_2_2_0_compile_fix: sigh. Looks like this patch + is obsolete. *Should* fix compiles on 2.2.20. No, I have not tested. I + can't download 6 different kernels every time I work on this (thanks, + Shinichi Sakata; closes: #115757, #162378). + * debian/init: restore the "enable_sound_devs" call. It was fscking device + perms for many people (thanks, Daniel Burrows; reopens: #141546). + * debian/alsa-source.README.debian: add a few extra notes for people + building module .debs without kernel-package (thanks, Dave Barr; + closes: #163343). + * Looks like not everything was broken. Submitter says this is *still* + working with rc3. We'll see in rc4... (closes: #52564). + * People, really. The state of this package is still deplorable. We need + some help with devfs bugs and with alsa-base's init script in general. + We also need to report all our bugs to ALSA upstreams... I still haven't + found time to tag them apropiately even, much less to write a list of + problems to their mailing list. If you think you can help, please contact + me. I'm willing to continue doing Non-Maintainer ALSA work, but not alone. + + -- Jordi Mallach Tue, 15 Oct 2002 19:09:55 +0200 + +alsa-driver (0.9.0rc3-0.2) unstable; urgency=low + + * Non-Maintainer Upload. + * The "Roberto Heras, you rock" release. + * debian/alsa-base.config: use /bin/sh instead of /bin/bash. + * debian/alsa-base.{linda,lintian}: added overrides. + * debian/alsa-base.templates: reworded two templates to avoid using + frontend-specific "Yes" and "No" answers, as suggested by Denis Barbier. + * debian/alsa-base.templates.de: update by Bastian Kleineidam. + * debian/alsa-base.templates.fr: update by Denis Barbier. + * debian/apm: remove logger pipes, as suggested by Thomas Hood + (closes: #121355). + * debian/control: suggest apm (>= 3.0.2-1). + * debian/alsa-modules_VERSION_-_KVERSION_.postinst.in: remove bashisms, + use /bin/sh. + * debian/alsa-modules_VERSION_-_KVERSION_.templates.es.in: corrections + from Carlos Valdivia Yagüe (closes: #92640). + * debian/init: + + remove call to "enable_sound_devs" in alsa_stop() (closes: #141546). + + remove bashisms in script, use /bin/sh (closes: #97727). + * debian/modules-tools.d/{build_makefile,genchanges.sh,setvers.sh}: + remove bashisms in script, use /bin/sh. + * debian/modules-tools.d/setvers.sh: patch from J.H.M Dassen that + simplifies the version extraction rutine (patch from #121209, apparently + closes: #119195). + * debian/alsa-source{_VERSION_.config.in,_VERSION_.postinst.in}: remove + bashisms, use /bin/sh instead of /bin/bash. + * debian/alsa-source.templates: split into lang-independent files (de, ja, + ru). I fear they all need an update. This template was a mess. + * debian/apm: use /bin/sh instead of /bin/bash. + * debian/patches/000_powermac_improper_call_to_snd_power_lock: synced. + * debian/patches/002_linux_2_2_20_compile_fix: new; + alsa-kernel/core/seq/seq_ports.h: include to fix compiles + with 2.2.20 and possibly 2.2.21, 2.2.22 (closes: #126211). + * debian/patches/004_usb_api_2_4_20: check for kernel version less than + 2.4.20, not 2.5.0, as the USB api has been backported in 20pre2. + Thanks Ray for investigating (closes: #160514). + * debian/patches/005_ac97_patch_c_define_no_version: backport from CVS to + fix a compile error. + * debian/prerm: empty, hence removed. + * debian/rules: + + remove include/linux/isapnp.h before configuring, as noted by the + ALSA webpage (thanks, Shinichi Sakata; closes: #160788). + + add quotes around checks for ALSA_DEBUG and ALSA_NOPNP so the ifeq + actually works (thanks, Timshel; (closes: #113717). + + install INSTALL, as it comes with useful information (closes: #160857). + + install alsa-base overrides. + * Headers are being installed in /usr/include/sound (closes: #97640). + * System hangs are not happening with newer versions (closes: #117981). + * No extra quotes in --with-cards call (closes: #142691). + * Compatibility with 2.2.x kernels was fixed long ago, according to + CVS logs (closes: #115757). + * i586mmx detection was fixed long ago (closes: #117054). + * ALSA rc3 works on more recent kernels than 2.4.10 (closes: #113996). If + you really need 2.4.10, please reopen. The buggy file has been moved + and it's difficult to track changes to it. + * Kernel error in "rmmod snd-cs46xx" was fixed in rc2, according to + submitter. Shinichi, if you're still having problems, please reopen. + (closes: #152430). + * Submitter says make install is working with current versions + (closes: #144696). + * Ensoniq driver working ok now, according to submitter (closes: #100630). + * A quick grep in the alsa sources show the drivers are declaring their + GPL license (closes: #124176). + * Unresolved symbols fixed in rc3, thanks for testing, Ross + (closes: #159394). + * aplay is working ok with rc3, according to Christian Kurz + (closes: #125802, #131165). + * The unavailability of debconf-utils isn't an issue in Woody/unstable + anymore (closes: #124288). + * Swedish alsa-modules templates seem up to date (closes: #83509). + * [04:01] #100023, is the argument for showing the version + number acceptable for you? + [04:08] yeah I guess + (closes: #100023). + * The Debconf template is up to date with current card names + (closes: #141372, #143377, #145382). + * We're at 0.9.0rc3 already (closes: #146013, #159660). + + -- Jordi Mallach Sun, 22 Sep 2002 18:21:24 +0200 + +alsa-driver (0.9.0rc3-0.1) unstable; urgency=low + + * Non-Maintainer Upload. Nearly all the work was done by + Bastian Kleineidam . + * New upstream release (closes: #122632, #151502). + * The gusextreme module load problem should be also fixed by now: + hwdep.o is included, mpu401_uart.o is included, the + opl3_new_device function does not exist any more (closes: #54131). + * The new upstream adds the missing hwdep object file for + some SoundBlaster cards (closes: #148900). + * The new upstream uses linux/slab.h instead of linux/malloc.h + (closes: #114598). + * Work around missing symbols in 2.2 Kernels (closes: #147383) + * Move debconf-utils from recommends to depends + (closes: #85242, #104163). + * Move debhelper from recommends to depends. This and the above + make the check-debian-rules-pkg unnecessary + (closes: #95920, #135535). + * Updated all depends for new version (and debhelper 3). + * Fix minor spellings in alsa-source README.Debian (closes: #147013). + * Generated packages depend on the appropriate kernel image. + If you want to compile kernels manually *without* Debian packaging, + you should not use this package but compile ALSA also from source + (closes: #94564). + * Delete call of unused dh_install{cron,manpages,info,menu}. + * Add russion translation to alsa-source template (closes: #138322). + * Update German and French translation of alsa-base.template, Sync other + with the english descriptions (closes: #92871). + * Sync other alsa-base templates with the english descriptions. + * Add German translation of alsa-source.template and control. + * Updated cards database (closes: #141154). + * Remove isapnp.h, which fixes compile errors on some platforms. + * Remove obsolete debian/debconf/cards.sh. + * Use dh_testdir and dh_testroot instead of manual checks in all + debian/rules targets. + * Set the modules dir permissions in alsa-source.tar.gz correctly + (closes: #148191, #147362). + * Standards version 3.5.7.0. + + -- Jordi Mallach Sun, 08 Sep 2002 17:05:47 +0200 + +alsa-driver (0.9.0rc1-2) unstable; urgency=low + + * Remove modules.dep from generated alsa-modules (closes: #146434). + * Removed quotation of ALSA_NOPNP and ALSA_DEBUG in alsa-source.conf + (closes: #146473) + + -- Masato Taruishi Tue, 14 May 2002 00:36:19 +0900 + +alsa-driver (0.9.0rc1-1) unstable; urgency=low + + * New upstream release + (now Debian version of ALSA has same version name of upstream) + * Appled fix patch of #129706: alsa-base: init.d script fails if + startosslayer != true (closes: #129706) + * Added complete copyright notice in debian/copyright (closes: #133484). + * Changed powermac patch (from jack's suggestion). + * These bugs should be fixed (closes: #120472, #129978, #129979) + * Added mixer entries for devfs (closes: #142024) + + -- Masato Taruishi Sun, 12 May 2002 21:39:07 +0900 + +alsa-driver (0.9+0beta12-3) unstable; urgency=low + + * Now I can use the upstream's install-modules target to install + driver modules because the privious target tried to install + them into the system's modules directory. As a still, there is + an error in invoking depmod in install-modules. debian/rules + ignores it (closes: #141185, #141407). Removed the previous fix. + * Fxed typo (closes: #102104). + * Added the powermac bugfix patch from Jack Howarth + (closes: #141114). + + -- Masato Taruishi Sat, 6 Apr 2002 15:12:28 +0900 + +alsa-driver (0.9+0beta12-2) unstable; urgency=low + + * Quoted $(ALSA_CARDS) in configure (closes: #141185). + + -- Masato Taruishi Fri, 5 Apr 2002 16:08:54 +0900 + +alsa-driver (0.9+0beta12-1) unstable; urgency=low + + * New upstream release. + + -- Masato Taruishi Tue, 2 Apr 2002 18:42:26 +0900 + +alsa-driver (0.9+0beta10-6) unstable; urgency=high + + * Added bzip2 in debian/modules.d/control.source. + This is a RC-bug, so urgency=high to move this to + testing quickly (closes: #132957). + + -- Masato Taruishi Tue, 12 Feb 2002 23:57:06 +0900 + +alsa-driver (0.9+0beta10-5) unstable; urgency=high + + * Fixed space file problem (closes: #128145). + + -- Masato Taruishi Tue, 8 Jan 2002 04:32:08 +0900 + +alsa-driver (0.9+0beta10-4) unstable; urgency=low + + * Added some configuration example files in doc//examples/. + * Updated an embded document of setvers.sh. + * Clean auto-generated debian files before 'tar zc' in built-time of + alsa-source package. I can build module-image sucessfully, and can't + reproduce the problem, but I suspect that it should fix the problem. + If not, reopen the bug. (closes: #124195) + * Wrote usage descriptions in program-wrapper. + + -- Masato Taruishi Sun, 16 Dec 2001 19:00:16 +0900 + +alsa-driver (0.9+0beta10-3) unstable; urgency=low + + * Removed alsactl magic in get_alsactl() in snd-dev-utils. + (closes: #124082) + * Redirected error messages of program-wrapper to stderr. + + -- Masato Taruishi Sun, 16 Dec 2001 01:36:56 +0900 + +alsa-driver (0.9+0beta10-2) unstable; urgency=low + + * Added program-wrapper script. + + -- Masato Taruishi Sat, 15 Dec 2001 14:00:34 +0900 + +alsa-driver (0.9+0beta10-1) unstable; urgency=low + + * New upstream release. + * Removed ALSA 0.9 and 1.0 magic about configuration file. + * Used /bin/bash for setvers.sh (closes: #121298) + * Added Build-Depends-Indep: bzip2 (closes: #121070) + + -- Masato Taruishi Sun, 9 Dec 2001 15:24:24 +0900 + +alsa-driver (0.9+0beta9-1) unstable; urgency=low + + * New upstream release. + * Removed version number in alsa-dirver.tar.gz. + modules/alsa-driver-/ to modules/alsa-driver/ + + -- Masato Taruishi Tue, 27 Nov 2001 03:53:22 +0900 + +alsa-driver (0.9+0beta7-2) unstable; urgency=low + + * Redirect update-devfsd message to stderr (closes: #106487, #111829, 113097) + * Added sound/.* to devfsd.conf (closes: #79644, #98274, #106095) + * Redirect rmdir message to /dev/null (closes: #113315) + * Reviced init script messages. + * Inverted test in /etc/apm/event.d/alsa (closes: #98625) + + -- Masato Taruishi Fri, 5 Oct 2001 03:11:58 +0900 + +alsa-driver (0.9+0beta7-1) unstable; urgency=low + + * New upstream release. + + -- Masato Taruishi Thu, 6 Sep 2001 01:57:01 +0900 + +alsa-driver (0.9+0beta4-5) unstable; urgency=low + + * Maintainer release (closes: #97210). + * Added || true to `rmdir /etc/sound/' (closes: #101854). + * Wrote substvars datas into debian/$KVERS.substvars (closes: #98800, #99709, #101877, #98819) + * Changed a checking of ALSA_CARDS in rules. (closes: #97976). + + -- Masato Taruishi Sun, 24 Jun 2001 01:03:12 +0900 + +alsa-driver (0.9+0beta4-4.1) unstable; urgency=low + + * Fix postrm to actually perform intended cleanup on purge + (Closes: #97210) + + -- Matt Zimmerman Tue, 19 Jun 2001 03:12:14 -0400 + +alsa-driver (0.9+0beta4-4) unstable; urgency=low + + * Added a clouser to configurations in /etc/alsa/$package.conf. + (closes: #93177, #97873) + + -- Masato Taruishi Fri, 18 May 2001 13:00:57 +0900 + +alsa-driver (0.9+0beta4-3) unstable; urgency=low + + * Install header files under /usr/include/sound/ + + -- Masato Taruishi Thu, 17 May 2001 18:42:11 +0900 + +alsa-driver (0.9+0beta4-2) unstable; urgency=low + + * Added a handling about ifndef, endif lines in + /etc/alsa/alsa-source.conf. + + -- Masato Taruishi Wed, 16 May 2001 00:54:00 +0900 + +alsa-driver (0.9+0beta4-1) unstable; urgency=low + + * new upstream release. + + -- Masato Taruishi Tue, 15 May 2001 22:37:26 +0900 + +alsa-driver (0.9+0beta3-4) unstable; urgency=low + + * Removed an old alsa-source_VERSION_.config.in from cvs. + + -- Masato Taruishi Tue, 15 May 2001 21:18:08 +0900 + +alsa-driver (0.9+0beta3-3) unstable; urgency=low + + * Fixed alsa_major_version matching for version 0.9. + (closes: #97350, #97369) + * Moved snd-dev-utils to /usr/share/alsa-base/. + + -- Masato Taruishi Tue, 15 May 2001 01:40:35 +0900 + +alsa-driver (0.9+0beta3-2) unstable; urgency=low + + * Added a support for alsactl-$alsa_major_version. + * Changed a devfs detect code (closes: #96774). + + -- Masato Taruishi Sun, 13 May 2001 17:18:10 +0900 + +alsa-driver (0.9+0beta3-1) unstable; urgency=low + + * New upstream release. + * Excluded CVS/ for dbs_make. + * Removed dh_testversion. + * Now Removes /etc/modutils/alsa/ on purge. + * Invoked debian/check-debian-users-pkg using sh. + * Add the version name to the directory where alsa-driver.tar.gz unpacks. + - This can avoid to fail to build alsa-modules packages for + some non-compatibility changes between two versions. + * Closed some bugs fixed in some previous versions. + (closes: #83647, #85728, #92053, #94369, #86814) + + -- Masato Taruishi Fri, 20 Apr 2001 13:00:43 +0900 + +alsa-driver (0.9+0beta2-0.1) unstable; urgency=low + + * New upstream release. + + -- Masato Taruishi Sat, 3 Mar 2001 00:55:48 +0900 + +alsa-driver (0.9+0beta1-1) unstable; urgency=low + + * New upstream release. + * Removed update-alternatives hack for kernel modules. + * Handle 0.9.0beta1 is really 1.0 family in /usr/lib/alsa-base/snd-dev-utils. + * Added devfs permission configuration file for ALSA. This is an + ad-hoc solution. (closes: #83647). + + -- Masato Taruishi Fri, 2 Mar 2001 16:37:52 +0900 + +alsa-driver (0.5.10b-7) unstable; urgency=low + + * dbs_make + * Added a check whether `/sbin/modprobe snd' works in + /etc/init.d/alsa start. + * Removed dh_suidregister in debian/modules-toold.d/rules binary-modules. + (closes: #86814). + + -- Masato Taruishi Thu, 1 Mar 2001 03:57:17 +0900 + +alsa-driver (0.5.10b-6) unstable; urgency=low + + * Oops: Re-Added debconf-utils in control. + (I had added it in the autogenerated file). + * Changed a dependency on c-compiler to gcc | c-compiler. + from chapter 8.6 in packaing-manual. + + -- Masato Taruishi Wed, 14 Feb 2001 15:22:17 +0900 + +alsa-driver (0.5.10b-5) unstable; urgency=low + + * Removed card-all debconf question (closes: #85027). + * Removed README.1st (closes: #85239). + * Fixed alsa-moduels templates of German and Swedish + (closes: #85208, #85597). + * Removed config.cache from alsa-driver.tar.gz (closes: #85125). + * Added Recommends: debconf-utils (closes: #85242). + * Changed Depends dependencies of some packages to Recommends. + * Added '-t $0' in logger (closes: #85701). + + -- Masato Taruishi Tue, 13 Feb 2001 14:01:50 +0900 + +alsa-driver (0.5.10b-4) unstable; urgency=low + + * Removed advanced-linux-sound-architecture package. + I heared many complains like its name is too long. + + -- Masato Taruishi Tue, 6 Feb 2001 18:33:31 +0900 + +alsa-driver (0.5.10b-3) unstable; urgency=low + + * Merged norwegian template of alsa-base. + from Dagfinn Ilmari Mannsaker + (closes: #83357). + * Fixed _VERSION to _VERSION_ in debian/debconf/config.tmpl.in. + (closes: #85020). + * Put the impelementaion I wrote in 0.5.10a-2 again because the + implementation has been removed because I wrote the implementaion + in auto generated file. Now I wrote in the template file. + (closes: #84212, #85027). + + -- Masato Taruishi Mon, 5 Feb 2001 18:23:28 +0900 + +alsa-driver (0.5.10b-2) unstable; urgency=low + + * Added Build-Depends-Indep: debconf-utils (closes: #84455). + * Merged german templates of alsa-base. + from Michael Bramer (closes: #83313). + * Merged german templates of alsa-modules-_KERNELVERSION_. + from Daniel.Tschernatsch@t-online.de (Daniel Tschernatsch) + (closes: #83398, #84082, #84085). + * Merged swedish templates of alsa-modules-_KERNELVERSION_. + from Andre Dahlqvist . + (closes: #83507, #83508, #83510, #83513, #84141, #84142). + * Added Depends: debhelper, autoconf, automake in alsa-source. + (closes: #83807). + * Merged dutch templates of alsa-base. + from "Thomas J. Zeeman" + (closes: #83935). + * Merged french templates of alsa-base. + from Jerome Lacoste . + (closes: #84111). + * Merged spanish templates of alsa-base. + from Gorka Olaizola . + (closes: #84415). + * Merged spanish templates of alsa-modules-_KERNELVERSION_. + from Gorka Olaizola + (closes: #84861, #84862, #84865). + + -- Masato Taruishi Mon, 5 Feb 2001 16:58:14 +0900 + +alsa-driver (0.5.10b-1) unstable; urgency=low + + * New upstream release + * Installed compiled modules in debian/rules, not invoking + make install-modules of the top of the ALSA directory. + + -- Masato Taruishi Mon, 5 Feb 2001 16:02:27 +0900 + +alsa-driver (0.5.10a-3) unstable; urgency=low + + * Fixed a check for /proc/asound/dev (closes: #83191). + * Fixed clobbers example ALSA_CARDS in alsa-source.conf + (closes: #83178). + + -- Masato Taruishi Tue, 23 Jan 2001 23:28:10 +0900 + +alsa-driver (0.5.10a-2) unstable; urgency=low + + * Used db_set to update debconf datebase from ALSA configuration + files instead of overridden questions. + (closes: #79395, #82378) + * Now retrives debian/debconf/cards from modules.config file + (closes: #82927). + * Added a check whether /etc/modutils/alsa is a symlink not only in + alsa-base.postinst, but also alsa-base.config (closes: #82277). + * Removed dh_suidregister from debian/rules. + * Improved questions of alsa-base for debconf. + Suggestions from Thomas Hood . + A few modification. + (closes: #82124, #82278). + * Removed the readlink and device management processes from + alsa-base.postinst + (closes: #82363, #81281). + * Added device file checking processes in /etc/init.d/alsa + (closes: #81649). + + -- Masato Taruishi Tue, 23 Jan 2001 00:47:07 +0900 + +alsa-driver (0.5.10a-1) unstable; urgency=low + + * New upstream release + * Added a notation that these questions about overwriting means to + manage them under debconf. + * Removed db_reset before the overwriting questions. + (closes: #79846). + * Added a notation to need to set KDREV environment variable + to build ALSA modules packages using binary-modules target + directly in alsa-source/README.Debian. + (closes: #79872). + * Oops: Fixed a location of . /usr/share/debconf/confmodule. + (closes: #80081, #81142). + * Removed obsolete debian/conffiles in clean + (closes: #81440, #79702). + * Oops: Re-added kdist_clean target in debian/modules-tools.d/rules. + (closes: #79770). + * Added a check for existing /usr/lib/alsa-base/snd-dev-utils in + /etc/init.d/alsa. + (closes: #81535). + + -- Masato Taruishi Wed, 10 Jan 2001 00:37:55 +0900 + +alsa-driver (0.5.10-2) unstable; urgency=low + + * Simiplified alsa-base/move_config_to_new_location template. + (closes: #79387) + * Added a check whether an existence ALSA driver is local. + (closes: #79397) + * Added a check whether /dev/.devfsd exists (closes: #79083). + - this is a evil hack. maybe need to check it + in /etc/init.d/alsa. + * Moved a enabling sound devices after driver is loaded so that + devfs creates device files automatically. + Patch from John Starks (modified). + (closes: #79569) + * Fixed a trival error to check for an old version of the ALSA + driver (closes: #79630). + + -- Masato Taruishi Sun, 17 Dec 2000 00:51:14 +0900 + +alsa-driver (0.5.10-1) unstable; urgency=low + + * New upstream release (closes: #73066). + + -- Masato Taruishi Fri, 8 Dec 2000 03:13:36 +0900 + +alsa-driver (0.5.9d-11) unstable; urgency=low + + * Fixed that a newly installaion of alsa-base always fails. + (closes: #78999). + * Renamed task-advanced-linux-sound-architecture + to advanced-linux-sound-architecture. + (closes: #78978). + * more generalized for modules common functions. + + -- Masato Taruishi Fri, 8 Dec 2000 01:59:25 +0900 + +alsa-driver (0.5.9d-10) unstable; urgency=low + + * public release for Debian. + * Fixed gramatical problems in debconf message. + - thanks for Josip Rodin + and other people. + (closes: #78702) + * Added a check whether /dev/snd isn't directory (closes: #78691). + * The problem has been fixed. This problem is related to permission + change system of /etc/init.d/alsa (closes: #68715). + * README is not wrong: maybe you use wrong kernel dep header. + (closes: #63045) + * Used debsign to sign .changes file (closes: #70703). + + -- Masato Taruishi Mon, 4 Dec 2000 19:02:34 +0900 + +alsa-driver (0.5.9d-9) unstable; urgency=low + + * Now priority multiplied by 100 for modules pacakges. + * Added a Build-Depends to cpio. + * Added a check whether card- prefix in cards_to_be_built is still left + in .postinst so that dpkg -i doesn't invoke .config. + + -- Masato Taruishi Sun, 3 Dec 2000 17:02:55 +0900 + +alsa-driver (0.5.9d-8) unstable; urgency=low + + * Now keep sound devices disabled in force-stop when force-stop-suspend. + - new ALSA_KEEP_DEV_PERMS environment variable. + This feature didn't work in previous versions. Now work well :) + * Make a link to /etc/alsa/modutils/ after moving /etc/modutils/alsa + in debian/alsa-base.postinst. + + -- Masato Taruishi Fri, 1 Dec 2000 01:21:58 +0900 + +alsa-driver (0.5.9d-7) unstable; urgency=low + + * priority of the stable version is now optional. + - need to edit override file manually. + * Fixed installation of a typo control file `md5sum' to + `md5sums'in binary-modules target. + * ALSA driver package checks whether an old version of ALSA + driver exist and if so, diplaying a notation by using debconf + and exit with error code 1. + - added a dependency to debconf for ALSA driver package. + * Added a meta pacakge task-advanced-linux-sound-architecture. + * Changed a dependency to modutils. now modutils (>= 2.3.5-1) + and Conflicts: modutils (= 2.3.20-1) (can't work on it, why?). + * Added alsa-path. + * New ALSA startup system: coexist between multiple versions. + - need an ad-hoc package conflict system because of a versioning bug + of the older version of alsa-source. At least, debian default + drivers can be removed with the Debian package relationship system. + - now adding Conflicts: alsa-modules-2.2.17 (<< 2:0.5.9d-6). + - and a confliction with alsa-modules-2.2.17-ide, too. + - need more conflictions? + * Added automatic system moving an old /etc/modutils/alsa to a + new location. + * Installed modules.config to /usr/share/alsa-source/. + - currently not used + * /etc/init.d/alsa stop exit with error code 0 when sound is being + used. + + -- Masato Taruishi Wed, 29 Nov 2000 19:26:26 +0900 + +alsa-driver (0.5.9d-5) unstable; urgency=low + + * Installed snddevices as a examples. + * Merged debian/postinst and debian/alsa-base.postinst (closes: #77693). + * Removed a junk debian/doc-base. Documentation has been placed in + upstream alsa-doc. + + -- Masato Taruishi Thu, 23 Nov 2000 20:31:01 +0900 + +alsa-driver (0.5.9d-4cvs001122.2) unstable; urgency=low + + * 0.5's sources are now branched. I'll allocate a main trunk as + a CVS version. + + -- Masato Taruishi Wed, 22 Nov 2000 17:55:43 +0900 + +alsa-driver (0.5.9d-4cvs001122.1) unstable; urgency=low + + * First cvs maintaince version. + + -- Masato Taruishi Wed, 22 Nov 2000 17:05:56 +0900 + +alsa-driver (0.5.9d-4) unstable; urgency=low + + * Fixed a misspeling (closes: #76428). + * Used db_reset to reset the overwrite question instead of db_fset. + * Changed the priority of the questions from low to high. + + -- Masato Taruishi Thu, 9 Nov 2000 00:11:16 +0900 + +alsa-driver (0.5.9d-3) unstable; urgency=low + + * Added notifies to overwrite configurations (closes: #76015). + + -- Masato Taruishi Sun, 5 Nov 2000 15:16:00 +0900 + +alsa-driver (0.5.9d-2) unstable; urgency=low + + * Used fuser instaed of lsof. + * new file 'snd-dev-utils' which includes a set of common functions to maintain + sound device for ALSA internally. + + -- Masato Taruishi Mon, 30 Oct 2000 18:24:22 +0900 + +alsa-driver (0.5.9d-1) unstable; urgency=low + + * New upstream release (closes: #73066) + + -- Masato Taruishi Wed, 11 Oct 2000 00:54:53 +0900 + +alsa-driver (0.5.9c-8) unstable; urgency=low + + * Fixed the esd problem (closes: #73636). + + -- Masato Taruishi Thu, 5 Oct 2000 03:29:24 +0900 + +alsa-driver (0.5.9c-7) unstable; urgency=low + + * Reviced Architecture to all (closes: #72988). + * Removed /etc/modutils/alsa conffile and moved it as an example. + (closes: #72263, #72678) + * Improved get_sound_devs func() (closes: #71944). + * Maybe fixed the mixer setting problem. If not then please reopen the bug. + - Added a wait after ALSA starts (closes: #71684) + * Fixed some suspend problems. + + -- Masato Taruishi Wed, 4 Oct 2000 01:50:36 +0900 + +alsa-driver (0.5.9c-6) unstable; urgency=low + + * Fixed a suspend problem. (closes: #72262) + + -- Masato Taruishi Mon, 25 Sep 2000 18:36:04 +0900 + +alsa-driver (0.5.9c-5) unstable; urgency=low + + * Changed architecture fileds from 'all' to 'i386, alpha, powerpc'. + * Moved a localtion of enable_sound_devs in /etc/init.d/alsa. + + -- Masato Taruishi Mon, 18 Sep 2000 14:52:22 +0900 + +alsa-driver (0.5.9c-4) unstable; urgency=low + + * Corrected a wrong English message of debconf. + + -- Masato Taruishi Sun, 17 Sep 2000 08:11:36 +0900 + +alsa-driver (0.5.9c-3) unstable; urgency=low + + * Added debconf codes of alsa-base. + * Fixed that OSS modules are not stopped. + + -- Masato Taruishi Fri, 15 Sep 2000 11:53:41 +0900 + +alsa-driver (0.5.9c-2) unstable; urgency=low + + * Fixed that perms of device files are stored as 000. + * Added enable_sound_devs in /etc/init./d/alsa start anyway. + + -- Masato Taruishi Fri, 15 Sep 2000 11:18:52 +0900 + +alsa-driver (0.5.9c-1) unstable; urgency=low + + * New upstream release + + -- Masato Taruishi Thu, 7 Sep 2000 23:05:57 +0900 + +alsa-driver (0.5.9b-3) unstable; urgency=low + + * Fixed that /etc/init.d/alsa tries to remove /tmp. (closes: #69938). + + -- Masato Taruishi Mon, 28 Aug 2000 13:31:42 +0900 + +alsa-driver (0.5.9b-2) unstable; urgency=low + + * cleanup debconf script. + * Separeted user defined configurations from /etc/init.d/alsa + to /etc/alsa/alsa-base.conf. + * /etc/inid.d/alsa now remembers the permissions of device files + for disabling procedure. + * /etc/apm/event.d/alsa supports to unload modules when suspend. + - useful for cards to hang up when resume. + * Moved alsa-source.conf to /etc/alsa/alsa-source.conf. + + -- Masato Taruishi Sat, 19 Aug 2000 07:10:02 +0900 + +alsa-driver (0.5.9b-1) unstable; urgency=low + + * New upstream release + + -- Masato Taruishi Fri, 18 Aug 2000 23:09:53 +0900 + +alsa-driver (0.5.9a-1) unstable; urgency=low + + * New upstream release. (closes: #68995, #69000) + + -- Masato Taruishi Wed, 16 Aug 2000 23:43:13 +0900 + +alsa-driver (0.5.8b-2) unstable; urgency=low + + * Fixed gcc dependency. (closes: #58592) + * Added kdist_clean target. (closes: #66968) + * Reworded ISA PnP question. (closes: #59443) + * Added a support for "probe snd-card-X". (closes: #65076) + * Added a support to load OSS compat module when ALSA starts. + (closes: #66207) + + -- Masato Taruishi Mon, 10 Jul 2000 18:43:49 +0900 + +alsa-driver (0.5.8b-1) unstable; urgency=low + + * new upstream release. + + -- Masato Taruishi Tue, 27 Jun 2000 16:27:16 +0900 + +alsa-driver (0.5.8a-6) unstable; urgency=low + + * Moved the disable/enable code from /etc/init.d/alsa + to /etc/apm/event.d/alsa. + + -- Masato Taruishi Thu, 22 Jun 2000 04:26:54 +0900 + +alsa-driver (0.5.8a-5) unstable; urgency=low + + * Added disable/enable arguments to /etc/init.d/alsa + and /etc/apm/event.d/alsa to use them. + * Added a dependency to procps and awk. + * Changed a dependency of modutils from Recoomends to Depends. + + -- Masato Taruishi Thu, 22 Jun 2000 02:24:02 +0900 + +alsa-driver (0.5.8a-4) unstable; urgency=low + + * Improved /etc/init.d/alsa. + - force-reload to do the same way as force-restart. + - step by step progress info of terminating processes. + + -- Masato Taruishi Tue, 20 Jun 2000 16:47:49 +0900 + +alsa-driver (0.5.8a-3) unstable; urgency=low + + * Fixed a simple copy error and put more improvments + to use force- prefix to stop the processes. + (closes: #65778, #65808) + + -- Masato Taruishi Sun, 18 Jun 2000 10:46:49 +0900 + +alsa-driver (0.5.8a-2) unstable; urgency=low + + * Added a check whether /etc/alsa-source.conf exists really + in postinst.alsa-source (closes: #65747). + * Fixed genchanges.sh to build a correct file name for epoch. + * Fixed prep-modules to use KVERS and KDREV. + * Added a procedure in init script to kill processes that hold open + sound devices before it tries to remove the sound driver + modules. + Thanks to Thomas Hood (closes: #65551) + * Added a depencency to lsof-2.2. + + -- Masato Taruishi Sat, 17 Jun 2000 02:03:57 +0900 + +alsa-driver (0.5.8a-1) unstable; urgency=low + + * new upstream release (closes: #65281) + + -- Masato Taruishi Wed, 7 Jun 2000 02:59:19 +0900 + +alsa-driver (0.5.7-9) unstable; urgency=low + + * Added 'Conflicts: alsaconf-0.4' to alsa-base. (closes: #62296, #62972) + + -- Masato Taruishi Mon, 5 Jun 2000 03:30:30 +0900 + +alsa-driver (0.5.7-8) unstable; urgency=low + + * Rebuilt against new cvs release tag (closes: #64753) + - tagging ordering problem: there was debian/README + in previsous verison. + * Added a process to change old version of alsa-source/cards_to_be_built + into new version in config script. + + -- Masato Taruishi Sun, 28 May 2000 00:31:39 +0900 + +alsa-driver (0.5.7-7) unstable; urgency=low + + * Removed snd-card aliases from /etc/modutils/alsa. + * Fixed that /etc/init.d/alsa always said 'no sound cards found' + (closes: #63421) + * Added make update-deps in debian/build_makefile. (closes: #63422) + * Added kernel-headers to Build-Depends-Indep. + * Added a information of READEME.1st that alsa-doc is one of the upstream. + (closes: #63432, #62469) + * Update alsa-source.README.debian about new --with-cards option. + (closes: #63106) + + -- Masato Taruishi Wed, 3 May 2000 16:22:18 +0900 + +alsa-driver (0.5.7-6) unstable; urgency=low + + * Added default configuration file of ALSA to /etc/modutils/alsa. + * Fixed wrong KSRC directory (closes: #61317). + * Removed bashims from alsa-source's prerm (closes: #58820) + * Added cheking whether no cards found in init script (closes: #62387) + + -- Masato Taruishi Mon, 1 May 2000 03:06:29 +0900 + +alsa-driver (0.5.7-5) unstable; urgency=low + + * Added a dependency handling to kernel-image-x.y.z of alsa-modules-x.y.z. + - if debian/rules is invoked with target kdist then the dependency + is 'Depends: kernel-image-x.y.z', and if with target kdist_image + then it is 'Recommends: kernel-image-x.y.z'. + * Added 'Replaces: alsa-modules-0.4=KVERS' to module's dependencies. + + -- Masato Taruishi Wed, 12 Apr 2000 17:19:07 +0900 + +alsa-driver (0.5.7-4) unstable; urgency=low + + * Added usr/doc symlink configuration to postinst/prerm.mod. + * Chaned a self confliction in control.module to a real pacakge name. + + -- Masato Taruishi Mon, 10 Apr 2000 22:19:24 +0900 + +alsa-driver (0.5.7-3) unstable; urgency=low + + * Changed dependency relationships. + ALSA kernel API was fixed. This menas we don't need to consider + ALSA driver version :) + alsa-modules-x.y.z depends on ALSA (>= 0.5.5). + + -- Masato Taruishi Mon, 10 Apr 2000 20:34:43 +0900 + +alsa-driver (0.5.7-2) unstable; urgency=low + + * changed self relationship. + - debian can't handle future package relationships. + * Changed depending on gcc etc for alsa-source to recommends field. + * Renamed debian/README to debian/alsa-source.REAMDE.debian. + (closes: #61864) + + -- Masato Taruishi Sun, 9 Apr 2000 02:42:24 +0900 + +alsa-driver (0.5.7-1) unstable; urgency=low + + * New upstream release + + -- Masato Taruishi Fri, 7 Apr 2000 17:21:48 +0900 + +alsa-driver (0.5.6-3) unstable; urgency=low + + * Changed to #!/bin/bash. (closes: #60787) + * Added debian/docs to install documentations. (closes: #60778) + + -- Masato Taruishi Tue, 21 Mar 2000 02:49:34 +0900 + +alsa-driver (0.5.6-2) unstable; urgency=low + + * Previous closes because of REJECT to install. + (closes: #58220, #60238, #59204) + * Fixed debian/prep-modules. wrong symlink to alsa-base-unstable. + + -- Masato Taruishi Wed, 15 Mar 2000 01:33:33 +0900 + +alsa-driver (0.5.6-1) unstable; urgency=low + + * New upstream release + + -- Masato Taruishi Mon, 13 Mar 2000 02:04:16 +0900 + +alsa-driver (0.5.5-3) unstable; urgency=low + + * Fixed package variable in postinst.alsa-source. (closes: #60238) + + -- Masato Taruishi Mon, 13 Mar 2000 01:27:54 +0900 + +alsa-driver (0.5.5-2) unstable; urgency=low + + * Removed version name. + * Fixed bashism in prerm.mod (closes: #58220) + * Fixed a typo in alsa-source.config (closes: #59204) + + -- Masato Taruishi Sat, 11 Mar 2000 03:47:43 +0900 + +alsa-driver-0.5 (0.5.5-1) unstable; urgency=low + + * New upstream release + + -- Masato Taruishi Fri, 3 Mar 2000 00:08:13 +0900 + +alsa-driver-0.5 (0.5.4b-1) unstable; urgency=low + + * New upstream release + + -- Masato Taruishi Tue, 29 Feb 2000 18:15:26 +0900 + +alsa-driver-0.5 (0.5.3-4) unstable; urgency=low + + * Removed bashims. + * Fixed a typo in config. + + -- Masato Taruishi Tue, 29 Feb 2000 18:11:31 +0900 + +alsa-driver-0.5 (0.5.3-3) unstable; urgency=low + + * Fixed the broken postinst script. (Closes: #58635) + + -- Masato Taruishi Wed, 23 Feb 2000 03:16:36 +0900 + +alsa-driver-0.5 (0.5.3-2) unstable; urgency=low + + * Added `Conflicts: alsaconf (<< 0.4.3)'. + + -- Masato Taruishi Fri, 18 Feb 2000 21:51:04 +0900 + +alsa-driver-0.5 (0.5.3-1) unstable; urgency=low + + * New upstream release + + -- Masato Taruishi Thu, 17 Feb 2000 22:44:23 +0900 + +alsa-driver-0.5 (0.5.2-1) unstable; urgency=low + + * New upstream release + + -- Masato Taruishi Wed, 9 Feb 2000 07:00:52 +0900 + +alsa-driver-0.5 (0.5.0-1) unstable; urgency=low + + * new upstream release. + * Renamed source name. + * Changed experimental to unstable. + + -- Masato Taruishi Tue, 8 Feb 2000 08:06:14 +0900 + +alsadriver-unstable (0.5pre+cvs20000110+1952-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Tue, 11 Jan 2000 15:54:29 +0900 + +alsadriver-unstable (0.5pre+cvs20000108+2159-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Mon, 10 Jan 2000 03:52:18 +0900 + +alsadriver-unstable (0.5pre+cvs20000106+0959-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Fri, 7 Jan 2000 14:50:29 +0900 + +alsadriver-unstable (0.5pre+cvs19991230+2334-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Mon, 3 Jan 2000 01:24:06 +0900 + +alsadriver-unstable (0.5pre+cvs19991225+1526-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Sun, 26 Dec 1999 02:00:12 +0900 + +alsadriver-unstable (0.5pre+cvs19991221+1111-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Wed, 22 Dec 1999 02:40:22 +0900 + +alsadriver-unstable (0.5pre+cvs19991220+1248-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Tue, 21 Dec 1999 01:33:13 +0900 + +alsadriver-unstable (0.5pre+cvs19991219+0954-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Mon, 20 Dec 1999 00:58:25 +0900 + +alsadriver-unstable (0.5pre+cvs19991217+1334-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Sat, 18 Dec 1999 00:05:24 +0900 + +alsadriver-unstable (0.5pre+cvs19991215+2336-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Thu, 16 Dec 1999 11:48:42 +0900 + +alsadriver-unstable (0.5pre+cvs19991215+1756-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Thu, 16 Dec 1999 04:03:59 +0900 + +alsadriver-unstable (0.5pre+cvs19991215+1048-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Wed, 15 Dec 1999 21:35:41 +0900 + +alsadriver-unstable (0.5pre+cvs19991213+2002-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Tue, 14 Dec 1999 18:09:01 +0900 + +alsadriver-unstable (0.5pre+cvs19991213+1504-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Tue, 14 Dec 1999 04:04:37 +0900 + +alsadriver-unstable (0.5pre+cvs19991213+1129-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Tue, 14 Dec 1999 02:19:26 +0900 + +alsadriver-unstable (0.5pre+cvs19991211+2120-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Mon, 13 Dec 1999 00:48:21 +0900 + +alsadriver-unstable (0.5pre+cvs19991211+1146-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Sat, 11 Dec 1999 23:41:37 +0900 + +alsadriver-unstable (0.5pre+cvs19991209+1631-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Fri, 10 Dec 1999 03:23:18 +0900 + +alsadriver-unstable (0.5pre+cvs19991209+1235-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Fri, 10 Dec 1999 01:45:16 +0900 + +alsadriver-unstable (0.5pre+cvs19991207+2159-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Thu, 9 Dec 1999 01:48:16 +0900 + +alsadriver-unstable (0.5pre+cvs19991207+1010-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Wed, 8 Dec 1999 02:45:10 +0900 + +alsadriver-unstable (0.5pre+cvs19991206+2122-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Tue, 7 Dec 1999 13:42:27 +0900 + +alsadriver-unstable (0.5pre+cvs19991202+1148-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Thu, 2 Dec 1999 22:22:44 +0900 + +alsadriver-unstable (0.5pre+cvs19991201+1923-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Thu, 2 Dec 1999 12:51:57 +0900 + +alsadriver-unstable (0.5pre+cvs19991130+1529-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Wed, 1 Dec 1999 04:04:32 +0900 + +alsadriver-unstable (0.5pre+cvs19991130+1401-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Wed, 1 Dec 1999 00:18:11 +0900 + +alsadriver-unstable (0.5pre+cvs19991129+1445-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Tue, 30 Nov 1999 03:26:16 +0900 + +alsadriver-unstable (0.5pre+cvs19991128+1933-2) experimental; urgency=low + + * Fixed postinstallation failed problem. + + -- Masato Taruishi Mon, 29 Nov 1999 11:58:25 +0900 + +alsadriver-unstable (0.5pre+cvs19991128+1933-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Mon, 29 Nov 1999 08:55:59 +0900 + +alsadriver-unstable (0.5pre+cvs19991127+1250-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Sun, 28 Nov 1999 02:40:38 +0900 + +alsadriver-unstable (0.5pre+cvs19991126+2317-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Sat, 27 Nov 1999 23:52:03 +0900 + +alsadriver-unstable (0.5pre+cvs19991126+1223-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Sat, 27 Nov 1999 00:50:03 +0900 + +alsadriver-unstable (0.5pre+cvs19991125+1028-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Fri, 26 Nov 1999 02:04:26 +0900 + +alsadriver-unstable (0.5pre+cvs19991124+1701-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Thu, 25 Nov 1999 03:37:30 +0900 + +alsadriver-unstable (0.5pre+cvs19991123+1654-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Wed, 24 Nov 1999 02:31:10 +0900 + +alsadriver-unstable (0.5pre+cvs19991122+1747-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Tue, 23 Nov 1999 13:06:32 +0900 + +alsadriver-unstable (0.5pre+cvs19991118+1041-2) experimental; urgency=low + + * Added a new debconf selection. + + -- Masato Taruishi Sat, 20 Nov 1999 02:16:25 +0900 + +alsadriver-unstable (0.5pre+cvs19991118+1041-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Thu, 18 Nov 1999 22:09:27 +0900 + +alsadriver-unstable (0.5pre+cvs19991116+1505-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Wed, 17 Nov 1999 12:29:42 +0900 + +alsadriver-unstable (0.5pre+cvs19991116+0808-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Tue, 16 Nov 1999 23:21:38 +0900 + +alsadriver-unstable (0.5pre+cvs19991115+2019-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Tue, 16 Nov 1999 11:35:12 +0900 + +alsadriver-unstable (0.5pre+cvs19991115+1421-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Tue, 16 Nov 1999 00:24:41 +0900 + +alsadriver-unstable (0.5pre+cvs19991114+2125-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Mon, 15 Nov 1999 16:21:07 +0900 + +alsadriver-unstable (0.5pre+cvs19991114+1006-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Sun, 14 Nov 1999 23:40:06 +0900 + +alsadriver-unstable (0.5pre+cvs19991113+1737-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Sun, 14 Nov 1999 04:45:36 +0900 + +alsadriver-unstable (0.5pre+cvs19991113+1155-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Sat, 13 Nov 1999 23:12:54 +0900 + +alsadriver-unstable (0.5pre+cvs19991112+1333-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Sat, 13 Nov 1999 05:25:09 +0900 + +alsadriver-unstable (0.5pre+cvs19991111+1134-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Thu, 11 Nov 1999 21:48:38 +0900 + +alsadriver-unstable (0.5pre+cvs19991109+1907.2-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Wed, 10 Nov 1999 20:24:10 +0900 + +alsadriver-unstable (0.5pre+cvs19991109+1907.1-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Wed, 10 Nov 1999 20:15:27 +0900 + +alsadriver-unstable (0.5pre+cvs19991109+1907-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Wed, 10 Nov 1999 12:37:45 +0900 + +alsadriver-unstable (0.5pre+cvs19991109+1306-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Wed, 10 Nov 1999 02:43:25 +0900 + +alsadriver-unstable (0.5pre+cvs19991109+0933-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Wed, 10 Nov 1999 01:36:26 +0900 + +alsadriver-unstable (0.5pre+cvs19991108+2337-2) experimental; urgency=low + + * Added SB Live! debconf description. + + -- Masato Taruishi Tue, 9 Nov 1999 17:03:43 +0900 + +alsadriver-unstable (0.5pre+cvs19991108+2337-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Tue, 9 Nov 1999 14:48:38 +0900 + +alsadriver-unstable (0.5pre+cvs19991108+1757-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Tue, 9 Nov 1999 03:19:57 +0900 + +alsadriver-unstable (0.5pre+cvs19991107+1748-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Mon, 8 Nov 1999 19:55:31 +0900 + +alsadriver-unstable (0.5pre+cvs19991107+1140-1) experimental; urgency=low + + * new upstream release. + * Fixed wrong epoch handling. + + -- Masato Taruishi Mon, 8 Nov 1999 01:05:12 +0900 + +alsadriver-unstable (0.5pre+cvs19991105+0819-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Sat, 6 Nov 1999 03:12:37 +0900 + +alsadriver-unstable (0.5pre+cvs19991103+2244-1) experimental; urgency=low + + * new upstream release. + * Merged new debian/ of stable version. + + -- Masato Taruishi Fri, 5 Nov 1999 02:48:16 +0900 + +alsadriver-unstable (0.5pre+cvs19991101+2002-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Wed, 3 Nov 1999 03:19:11 +0900 + +alsadriver-unstable (0.5pre+cvs19991026+2250-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Wed, 27 Oct 1999 18:35:47 +0900 + +alsadriver-unstable (0.5pre+cvs19991026+1405-1) experimental; urgency=low + + * new upstream release. + + -- Masato Taruishi Wed, 27 Oct 1999 02:38:30 +0900 + +alsadriver-unstable (0.5pre+cvs19991025+1902-1) experimental; urgency=low + + * new upstream release. + * back section from contrib. + + -- Masato Taruishi Tue, 26 Oct 1999 19:01:55 +0900 + +alsadriver-unstable (0.5pre+cvs19991024+1855-1) unstable; urgency=low + + * new upstream release. + * Changed section from main to contrib. + + -- Masato Taruishi Mon, 25 Oct 1999 20:09:28 +0900 + +alsadriver-unstable (0.5pre+cvs19991023+1719-1) unstable; urgency=low + + * new upstream release. + + -- Masato Taruishi Mon, 25 Oct 1999 01:25:34 +0900 + +alsadriver-unstable (0.5pre+cvs19991022+0841-1) unstable; urgency=low + + * new upstream release. + + -- Masato Taruishi Sat, 23 Oct 1999 01:24:32 +0900 + +alsadriver-unstable (0.5pre+cvs19991019+1835-1) unstable; urgency=low + + * new upstream release. + * renamed package name. + * first debian version. + * Changed to depend on modutils (>> 2.3.5-1). + * Fixed alsaconfig and compliant debian modutils system. + * Fixed a wrong check 'PCI-support', alsa doesn't need PCI-support. + + -- Masato Taruishi Tue, 28 Sep 1999 14:18:52 +0900 + +alsadriver (0.3.2-2) unstable; urgency=low + + * Removed typo in postrm. Fixes: #40423 + * Changed alsa-base's control information so that it no longer + 'Conflicts' with alsa-modules (in the hope that this might fix bug + #40795) + * Fixed alsaconf so as to create the proper lines in /etc/modutils/alsa + for audiopci1370 and audiopci1371. + * Added patch to debian/rules from Roberto Lumbreras + to allow compiling without kernel-package or on a kernel version other + than the one in /usr/src/linux. + + -- David Huggins-Daines Mon, 5 Jul 1999 15:45:19 -0400 + +alsadriver (0.3.2-1) unstable; urgency=low + + * New upstream version. There must have been something very wrong with + 0.3.1, it seems. + * Renamed the alsa-modules package to alsa-base. In a sane and + reasonable universe, alsa-modules would be the virtual package + currently known as alsadriver. This may yet come to pass. + * Added some "correctness" fixes to the init script. (eliminated useless + uses of cat, grep, and backslashes). Also made it use alsactl if + available, since the new mixer interface requires this. + * Juggled the dependencies in the hope of making this package a bit + easier to deal with. + + -- David Huggins-Daines Thu, 24 Jun 1999 00:25:59 -0400 + +alsadriver (0.3.1-1) unstable; urgency=low + + * New upstream version. + * Updated to version 0.3.0-pre5 of alsaconf. + * This version was never uploaded, because 0.3.2 was released. + + -- David Huggins-Daines Fri, 18 Jun 1999 12:10:54 -0400 + +alsadriver (0.3.0-pre4-2) unstable; urgency=low + + * Enabled ISA PnP support. Autodetection doesn't work on PnP cards, + though. Darn. + * Moved a period from one side of a single quote to the other (Bug + #36963) + * Slightly hacked alsaconfig and /etc/init.d/alsa so they actually work + (should fix Bug #33605) + * Fixed several thinkos in debian/rules that resulted in seemingly bogus + lintian errors. + * Added dependency on 'make' to the alsa-source package. + * Updated the alsa web site in copyright.Debian. + * Now creates /dev/snd symlink in the postinst (Bug #37522, but I'm not + sure this actually violated policy...) + * postrm for alsa-modules now behaves correctly. + + -- David Huggins-Daines Fri, 4 Jun 1999 00:47:45 -0400 + +alsadriver (0.3.0-pre4-1) unstable; urgency=low + + * New upstream version + * Upgrade alsaconf to 0.3.0-pre2 + * Fixed error in patched alsaconf + * Install conffiles with mode 0644 (lintian) + + -- Wichert Akkerman Sun, 14 Feb 1999 23:36:48 +0100 + +alsadriver (0.3.0-pre3-2) unstable; urgency=low + + * Fixed broken if-statement in alsaconf + + -- Wichert Akkerman Sun, 7 Feb 1999 15:52:53 +0100 + +alsadriver (0.3.0-pre3-1) unstable; urgency=low + + * New upstream version + * Change default MODDIR to .. + * Change priority to extra + * Make alsa-source depend on alsa-modules + * Don't rename sourcedirectory anymore + * Cleanup debian/rules so we don't need to patch Makefile as much + * Updated alsaconf to 0.3.0 + + -- Wichert Akkerman Wed, 3 Feb 1999 00:54:14 +0100 + +alsadriver (0.3.0-pre2-1) unstable; urgency=low + + * New upstream version + * Install modules in sound section + * Don't include ISA PnP code just yet + * Move prerm to kernel-modules package + * Switch from dhelp to doc-base + * Also install sgml-version of documentation + + -- Wichert Akkerman Fri, 1 Jan 1999 16:08:12 +0100 + +alsadriver (0.2.0-pre10p1-5) unstable; urgency=low + + * Be more strict in what we remove when purging alsa-modules + * Don't compress HTML docs (they are small anyway) and register them + with dhelp + + -- Wichert Akkerman Sun, 27 Dec 1998 01:22:20 +0100 + +alsadriver (0.2.0-pre10p1-4) unstable; urgency=low + + * Rename whiptail wrapper so sh can find it + * Clean tree after building modules + + -- Wichert Akkerman Mon, 30 Nov 1998 01:01:17 +0100 + +alsadriver (0.2.0-pre10p1-3) unstable; urgency=low + + * Re-enabled gid, uid and mode paramters in alsaconf + + -- Wichert Akkerman Thu, 26 Nov 1998 22:39:58 +0100 + +alsadriver (0.2.0-pre10p1-2) unstable; urgency=low + + * Add dependency on alsautils for kernel modules + * Switch back to upstream /etc/init.d/alsa + * Removed unsupported parameters for snd from alsaconf + * Pass location and version of kernel to configure (Bug# 28462) + * Change to /dev before making modules in postinst + * Install postinst for modules with correct name (Bug# 28465) + * Change last pcmcia refenrence to ALSA in README (Bug# 29696) + * Add flag to /etc/init.d/alsa to load OSS compatibity mode on startup + instead of on-demand only. (Bug# 29489) + * Install asound.h and asoundid.h in /usr/include/linux + + -- Wichert Akkerman Thu, 26 Nov 1998 20:04:41 +0100 + +alsadriver (0.2.0-pre10p1-1) unstable; urgency=low + + * New upstream version + * Remove obsolete code from postinst to make devices + * Fix mode for includefiles + * Replace our own alsaconfig with the upstream alsaconf + * Fixed a lot of lintian errors & warnings + * Move documentation from alsa-source to alsa-modules and add a dependency + + -- Wichert Akkerman Sun, 15 Nov 1998 02:32:29 +0100 + +alsadriver (0.2.0-pre8-4) frozen unstable; urgency=low + + * Remove wrong conflict on debian/control.module which prevented having + modules for multiple kernels installed. + * Only compiles modules when needed. + + -- Wichert Akkerman Fri, 13 Nov 1998 16:18:23 +0100 + +alsadriver (0.2.0-pre8-3) frozen unstable; urgency=low + + * Fix an error when compiling the modules. + * Include the (slightly modified) documentation from pcmcia-cs on how + to compile the modules. + + -- Wichert Akkerman Mon, 2 Nov 1998 15:52:51 +0100 + +alsadriver (0.2.0-pre8-2) unstable; urgency=low + + * Fixed slight problem in Makefile: added an $(INSTROOT) so + we don't try to install in /lib/modules-* directly + + -- Wichert Akkerman Fri, 16 Oct 1998 16:41:59 +0200 + +alsadriver (0.2.0-pre8-1) unstable; urgency=low + + * New upstream version + + -- Wichert Akkerman Thu, 15 Oct 1998 14:55:43 +0200 + +alsadriver (0.2.0-pre7-5) unstable; urgency=low + + * Fixed name of menu-file. + + -- Wichert Akkerman Mon, 12 Oct 1998 23:43:17 +0200 + +alsadriver (0.2.0-pre7-4) unstable; urgency=low + + * Add a kdist_image target to debian/rules. + * Updated alsaconfig: + + Fix ESS Audiodrive support + + don't abort if /etc/modutils/alsa doesn't exist + + Add a whole bunch of cards to alsaconfig. + * Complete rewrite of debian/rules: + + removed debhelper so modules compile on all systems + + splitted modules packages more so modules for multiple kernels + can be installed + + support kernel-package + * Updated postinst: call depmod and load modules on succeful configuration + * Changed architecture of alsa-source to all + + -- Wichert Akkerman Sat, 10 Oct 1998 03:29:08 +0200 + +alsadriver (0.2.0-pre7-3) unstable; urgency=low + + * Fixed debian/rules + * Fixed typo in the menu-file (lintian) + + -- Wichert Akkerman Thu, 1 Oct 1998 17:37:47 +0200 + +alsadriver (0.2.0-pre7-2) unstable; urgency=low + + * Reflect namechange to /proc/asound in init.d script + + -- Wichert Akkerman Fri, 18 Sep 1998 01:25:26 +0200 + +alsadriver (0.2.0-pre7-1) unstable; urgency=low + + * New upstream version + * Rename drivers package to alsa-modules- + * Create a alsa-source packages so everyone can create modules for + their own kernel. + * Fixed alsaconfig + + -- Wichert Akkerman Wed, 16 Sep 1998 03:24:35 +0200 + +alsadriver (0.1.4-3) unstable; urgency=low + + * Add dependency on whiptail + * Changed all scripts to use new setup for modules + + -- Wichert Akkerman Mon, 13 Jul 1998 23:44:05 +0200 + +alsadriver (0.1.4-2) unstable; urgency=low + + * Use uid to check for being root + * Change name of package to reflect kernel + * Install in /lib/modules/`uname -r` again + + -- Wichert Akkerman Mon, 6 Jul 1998 11:32:26 +0200 + +alsadriver (0.1.4-1) unstable; urgency=low + + * New ustream version + * Fix debian/rules somewhat + * Clean entire /etc/sound directory on purge + * call dh_undocumented for alsaconfig + * Update alsaconfig some more: + + check if we are root + + use whiptail for all error messages + + -- Wichert Akkerman Thu, 2 Jul 1998 23:52:20 +0200 + +alsadriver (0.1.3-2) unstable; urgency=low + + * Fixed check for --force option in alsaconfig + * Check for PCI-support in preinst + * Install modules in /lib/modules/2.0 + * Fix some silly errors in alsaconfig + + -- Wichert Akkerman Sun, 21 Jun 1998 21:23:09 +0200 + +alsadriver (0.1.3-1) unstable; urgency=low + + * Initial release + * Added a configuration script for easy setup + + -- Wichert Akkerman Sun, 7 Jun 1998 16:53:01 +0200 + +# vim: set expandtab: --- alsa-driver-1.0.16.orig/debian/alsa-base.NEWS +++ alsa-driver-1.0.16/debian/alsa-base.NEWS @@ -0,0 +1,26 @@ +alsa-driver (1.0.15-1) unstable; urgency=low + + /etc/init.d/alsa is now stored as script in /sbin: + + # /sbin/alsa {unload|reload|force-unload|force-reload|suspend|resume} + + This script isn't used in any rc?.d sequence. It doesn't conform to Debian + Policy §9.3.2, which mandates {start|stop|restart|reload|force-reload}. + If one wants to unload, reload sound modules, i.e. for a user-script, + /sbin/alsa can be used. It is not needed for any configuration of alsa. + + -- Elimar Riesebieter Sun, 21 Oct 2007 03:40:58 +0200 + + + Note that the above location is Ubuntu's. + + -- Daniel T Chen Wed, 12 Dec 2007 23:37:13 -0500 + +alsa-driver (1.0.9b-3) unstable; urgency=low + + As of this release, /etc/init.d/alsa no longer stores or restores + mixer levels. The /etc/init.d/alsa-utils init script now performs + that function. + + -- Jordi Mallach Wed, 10 Jul 2005 15:00:00 +0200 + --- alsa-driver-1.0.16.orig/debian/alsa-base.init +++ alsa-driver-1.0.16/debian/alsa-base.init @@ -0,0 +1,219 @@ +#!/bin/sh +# +# alsa-base control script +# +# Description: Used to load and unload ALSA modules and +# restore and store mixer levels. There is no +# longer any need to run this script on bootup +# or shutdown. It ships as /sbin/alsa. +### END INIT INFO + +set -e + +# Exit if alsa-utils package is not installed +[ -x /sbin/alsactl ] || exit 0 + +MYNAME=/sbin/alsa +PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + +# Default values of variables in /etc/default/alsa +force_unload_modules_before_suspend="" + +[ -f /etc/default/alsa ] && . /etc/default/alsa + +# $* MESSAGE +warn() { echo "${MYNAME}: Warning: $* " >&2 ; } + +# +# Attempt to create /var/run/alsa if it is absent. +# Return true if /var/run/alsa exists after this attempt, +# otherwise false. +# +check_run_dir() +{ + [ -d /var/run/alsa ] && return 0 + # We have no business creating /var/run if it doesn't exist + if ! [ -d /var/run ] ; then + warn "Could not create /var/run/alsa/ because /var/run/ is not present." + return 1 + fi + if ! mkdir --mode=755 /var/run/alsa ; then + warn "Failed to create /var/run/alsa/." + return 1 + fi + [ -d /var/run/alsa ] && return 0 + return 1 +} + +echo_procs_using_sound() +{ + echo $( \ + lsof +D /dev -F rt \ + | awk '/^p/ {pid=$1} /^t/ {type=$1} /^r0x(74|e)..$/ && type == "tCHR" {print pid}' \ + | cut -c 2- \ + | uniq \ + ) +} + +# $* [PID]... +echo_with_command_names() +{ + [ "$1" ] || return 0 + echo $( \ + ps --no-headers -o "%p %c" "$@" \ + | sed -e 's/\([0-9][0-9]*\) \(.*\)/\1(\2)/' \ + ) +} + +kill_procs_using_sound() +{ + procs_using_sound="$(echo_procs_using_sound)" + if [ "$procs_using_sound" ] ; then + echo -n "Terminating processes:" + for attempt in 1 2 3 4 ; do + echo -n " ${procs_using_sound}" + kill $procs_using_sound || : + sleep 1 + procs_using_sound="$(echo_procs_using_sound)" + [ "$procs_using_sound" ] || break + done + # Either no more procs using sound or attempts ran out + if [ "$procs_using_sound" ] ; then + echo -n " (with SIGKILL:) ${procs_using_sound}" + kill -9 $procs_using_sound || : + sleep 1 + fi + procs_using_sound="$(echo_procs_using_sound)" + if [ "$procs_using_sound" ] ; then + echo " (failed: processes still using sound devices: $(echo_with_command_names $procs_using_sound))." + return 1 + fi + echo "." + fi + return 0 +} + +# $* MODULE-NAME [MODULE-NAME]... | "all" +unload_modules() +{ + procs_using_sound="$(echo_procs_using_sound)" + if [ "$procs_using_sound" ] ; then + warn "Processes using sound devices: $(echo_with_command_names $procs_using_sound)." + fi + if check_run_dir ; then + :> /var/run/alsa/modules-removed + else + warn "Not keeping list of removed modules because /var/run/alsa is absent. +It will not be possible automatically to reload these modules." + fi + echo -n "Unloading ALSA sound driver modules:" + [ -d /proc/asound ] || { echo " (none loaded)." ; return 0 ; } + echo_snd_modules_loaded() + { + lsmod \ + | sed -n -e 's/^\(snd[-_][^[:space:]]*\)[[:space:]].*/\1/p' \ + | sed -e 's/_/-/g' + } + for FSMBS in $* ; do + MODULES_TO_REMOVE="" + SND_MODULES_LOADED="$(echo_snd_modules_loaded)" + case "$FSMBS" in + all) + MODULES_TO_REMOVE="$SND_MODULES_LOADED" + ;; + snd_*|snd-*) + FSMBS="$(echo "$FSMBS" | sed -e 's/_/-/g')" + for M in $SND_MODULES_LOADED ; do + if [ "$FSMBS" = "$M" ] ; then + MODULES_TO_REMOVE="$FSMBS" + break + fi + done + ;; + esac + [ "$MODULES_TO_REMOVE" ] || continue + echo "$MODULES_TO_REMOVE" >> /var/run/alsa/modules-removed + for M in $MODULES_TO_REMOVE ; do + echo -n " ${M}" + modprobe -r "$M" >/dev/null 2>&1 || : + done + done + if [ -f /var/run/alsa/modules-removed ] ; then + MODULES_STILL_LOADED="$(echo_snd_modules_loaded | grep -F -f /var/run/alsa/modules-removed)" + MODULES_STILL_LOADED="$(echo $MODULES_STILL_LOADED)" + else + MODULES_STILL_LOADED="" + fi + if [ "$MODULES_STILL_LOADED" ] ; then + echo " (failed: modules still loaded: ${MODULES_STILL_LOADED})." + return 1 + else + echo "." + return 0 + fi +} + +# $* MODULE-NAME [MODULE-NAME]... | "all" +force_unload_modules() +{ + kill_procs_using_sound || : + unload_modules "$@" || return 1 + return 0 +} + +load_unloaded_modules() +{ + LUM_RETURNSTATUS=0 + MODULES_TO_LOAD="" + [ -d /var/run/alsa ] || mkdir -p /var/run/alsa + echo -n "Loading ALSA sound driver modules:" + [ -f /var/run/alsa/modules-removed ] && MODULES_TO_LOAD="$(echo $(cat /var/run/alsa/modules-removed))" + [ "$MODULES_TO_LOAD" ] || { echo " (none to reload)." ; return $LUM_RETURNSTATUS ; } + echo -n " $MODULES_TO_LOAD" + for MDL in $MODULES_TO_LOAD ; do + modprobe $MDL || LUM_RETURNSTATUS=1 + done + case "$LUM_RETURNSTATUS" in + 0) echo "." ;; + *) echo " (failed)." ;; + esac + return $LUM_RETURNSTATUS +} + +case "$1" in + unload) + unload_modules all || exit $? + ;; + reload) + EXITSTATUS=0 + unload_modules all || EXITSTATUS=1 + load_unloaded_modules || EXITSTATUS=1 + exit $EXITSTATUS + ;; + force-unload) + force_unload_modules all || exit $? + ;; + force-reload) + EXITSTATUS=0 + force_unload_modules all || EXITSTATUS=1 + load_unloaded_modules || EXITSTATUS=1 + exit $EXITSTATUS + ;; + suspend) + case "$force_unload_modules_before_suspend" in + ""|false) : ;; + all|true) /sbin/alsactl store && force_unload_modules all || exit $? ;; + *) /sbin/alsactl store && force_unload_modules $force_unload_modules_before_suspend || exit $? ;; + esac + ;; + resume) + case "$force_unload_modules_before_suspend" in + ""|false) : ;; + *) load_unloaded_modules && /sbin/alsactl restore || exit $? ;; + esac + ;; + *) + echo "Usage: $MYNAME {unload|reload|force-unload|force-reload|suspend|resume}" >&2 + exit 3 + ;; +esac --- alsa-driver-1.0.16.orig/debian/alsa-source.control +++ alsa-driver-1.0.16/debian/alsa-source.control @@ -0,0 +1,34 @@ +Source: alsa-driver +Section: sound +Priority: optional +Maintainer: Debian ALSA Maintainers +Build-Depends-Indep: debhelper (>= 5.0.37), bzip2, kernel-headers, cpio, debconf-utils +Build-Depends: debhelper (>= 5.0.37) +Standards-Version: 3.7.3 + +Package: alsa-modules-_KVERS_ +Depends: _KDEP_ _MODULELOADERDEP_, alsa-base (>= 1.0.12-1) +Recommends: libasound2 (>= 1.0.12-1) +Suggests: _PCMCIAMODULESSUG_ +Architecture: any +Description: ALSA modules for kernel _KVERS_ + This package contains ALSA driver modules for kernel _KVERS_. + . + If kernel version _KVERS_ is running when this package is + installed then applications using ALSA sound drivers will + be forcibly stopped and any loaded ALSA sound drivers will + be reloaded. Consequently it is a good idea to exit sound + related applications before installing this package. + . + Please note that ALSA driver modules are included in + kernel-image packages of version 2.6 or higher. Therefore, + you do not need to install an alsa-modules package if you + are running a 2.6 kernel. You may still want to install an + alsa-modules package for a 2.6 kernel because the drivers + in alsa-modules packages are usually more current than + those in kernel-image packages. In any case, if you do + install an alsa-modules package then the module loader + will prefer its modules over those from the kernel-image + package. + . + ALSA is the Advanced Linux Sound Architecture. --- alsa-driver-1.0.16.orig/debian/alsa-base.lintian-overrides +++ alsa-driver-1.0.16/debian/alsa-base.lintian-overrides @@ -0,0 +1,2 @@ +alsa-base: syntax-error-in-debian-changelog +alsa-base: maintainer-script-removes-device-files postrm:9 --- alsa-driver-1.0.16.orig/debian/alsa-base.docs +++ alsa-driver-1.0.16/debian/alsa-base.docs @@ -0,0 +1,4 @@ +doc/SOUNDCARDS +FAQ +README +alsa-kernel/Documentation --- alsa-driver-1.0.16.orig/debian/alsa-modules.bug.control +++ alsa-driver-1.0.16/debian/alsa-modules.bug.control @@ -0,0 +1 @@ +Submit-As: alsa-source --- alsa-driver-1.0.16.orig/debian/alsa-source.bug.presubj +++ alsa-driver-1.0.16/debian/alsa-source.bug.presubj @@ -0,0 +1,9 @@ +If you know that the bug you want to report is in the "upstream" +code then please file a bug report in the ALSA bug tracking system +(on the web at https://bugtrack.alsa-project.org/alsa-bug). + +If you feel that the bug is one that other Debian users should +know about then you are welcome to file a report in the Debian BTS +as well. Please keep in mind, however, that managing bug reports +is part of the maintainers' workload. + --- alsa-driver-1.0.16.orig/debian/alsa-source.postrm +++ alsa-driver-1.0.16/debian/alsa-source.postrm @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +#DEBHELPER# + +if [ "$1" = "purge" ]; then + rm -f /etc/alsa/alsa-source.conf +fi + --- alsa-driver-1.0.16.orig/debian/alsa-source.lintian-overrides +++ alsa-driver-1.0.16/debian/alsa-source.lintian-overrides @@ -0,0 +1 @@ +alsa-source: syntax-error-in-debian-changelog --- alsa-driver-1.0.16.orig/debian/alsa-base.bug.script +++ alsa-driver-1.0.16/debian/alsa-base.bug.script @@ -0,0 +1,27 @@ +#!/bin/sh + +exec 1>&3 2>&3 + +# As of reportbug 3.14 package status information can be added by putting +# a "package-status: " line in the bug control file. +# Unfortunately, reportbug << 3.14 crashes if it finds multiple +# fields in the control file. We don't want to Conflict with +# reportbug << 3.14 if we can avoid it so we use a method of appending +# package info that works with all current versions of reportbug. +# We can switch to the package-status: method after etch is released. +echo "--- Begin additional package status ---" +dpkg -l libasound2 +echo "--- End additional package status ---" + +for F in version cards ; do + P="/proc/asound/$F" + if [ -r "$P" ] ; then + echo "--- Begin $P ---" + cat "$P" + echo "--- End $P ---" + fi +done + +echo "--- Begin /dev/snd/ listing ---" +ls -l /dev/snd +echo "--- End /dev/snd/ listing ---" --- alsa-driver-1.0.16.orig/debian/linux-sound-base.postrm +++ alsa-driver-1.0.16/debian/linux-sound-base.postrm @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +#DEBHELPER# + +case "$1" in + remove) + rm -f /etc/modprobe.d/blacklist-oss + rm -f /etc/modprobe.d/blacklist-alsa + rm -f /etc/hotplug/blacklist.d/linux-sound-base_noOSS + rm -f /etc/discover.d/linux-sound-base_noOSS + rm -f /etc/modutils/linux-sound-base_noOSS + rm -f /etc/modprobe.d/linux-sound-base_noOSS + rm -f /etc/hotplug/blacklist.d/linux-sound-base_noALSA + rm -f /etc/discover.d/linux-sound-base_noALSA + rm -f /etc/modutils/linux-sound-base_noALSA + rm -f /etc/modprobe.d/linux-sound-base_noALSA + rm -f /etc/discover.conf.d/10linux-sound-base + ;; +esac + --- alsa-driver-1.0.16.orig/debian/program-wrapper +++ alsa-driver-1.0.16/debian/program-wrapper @@ -0,0 +1,6 @@ +#!/bin/sh + +# Backward compatibility script for woody, since they provide $0-0.9, not $0. + +exec "$0"-0.9 "$@" + --- alsa-driver-1.0.16.orig/debian/alsa-source.README.Debian +++ alsa-driver-1.0.16/debian/alsa-source.README.Debian @@ -0,0 +1,80 @@ + Advanced Linux Sound Architecture + drivers + Debian-specific README file + + +Last updated: 13 October 2005 + + +During the installation of the alsa-source package you should have +been asked several questions about build options for the modules. If +you didn't get asked those questions or if you would like to review +them then run 'dpkg-reconfigure alsa-source' as root. To see the +result, look in /etc/alsa/alsa-source.conf. + +Before continuing, be sure you have the fakeroot utility installed + + $ sudo apt-get install fakeroot + +and that you have appropriate kernel sources available. You can use +a stock Linux kernel source tree, a Debian 2.4-kernel headers tree, + + $ sudo apt-get install kernel-headers-2.4.27-2-k7 + +a Debian (or Ubuntu) 2.6-kernel headers tree, + + $ sudo apt-get install linux-headers-2.6.12-1-686 + +or a Debian kernel source tree + + $ sudo apt-get install linux-source-2.6.12 + +for this purpose. In the latter case you have to extract the tree +from the tarball included in the package and you may have to +configure the sources first. Make sure that CONFIG_SOUND is defined +in the source tree's .config file. + +This package (alsa-source) includes a tarball in /usr/src/ named +'alsa-driver.tar.bz2'. Extract the ALSA driver sources from it. + + $ cd /usr/src + $ rm -rf modules/alsa-driver + $ tar jxf alsa-driver.tar.bz2 + +To build the ALSA modules using make-kpkg, cd into the root of the +headers or source tree that you have prepared and run make-kpkg. + + $ cd /usr/src/kernel-headers-2.4.27-2-k7 + $ make-kpkg --rootcmd=fakeroot modules-image + +This will result in the creation of a Debian package in the parent +directory of the headers/source tree. + +If you use a 2.6 headers tree then you may run into trouble because +the files in the header tree are all owned by root:root and have no +world write permission, whereas make-kpkg wants to write to some files +in the tree. The best thing to do is make a working copy of the tree +somewhere else + + $ cp -rpL /usr/src/linux-headers-2.6.12-1-686 /tmp + +and run make-kpkg there + + $ cd /tmp/linux-headers-2.6.12-1-686 + $ make-kpkg --rootcmd=fakeroot modules-image + $ cd + $ rm -rf /tmp/linux-headers-2.6.12-1-686 + +If you find that the package is not generated with the correct version +suffix (as seems to happen with Linux 2.6 header trees but not with +Linux 2.4 trees) then you need to add the "--append-to-version" option +to the command line. + + $ make-kpkg --rootcmd=fakeroot --append-to-version=-1-686 modules-image + +To build the ALSA modules _not_ using make-kpkg you can do something +like this: + + $ cd /usr/src/modules/alsa-driver + $ fakeroot debian/rules binary_modules KSRC=/usr/src/kernel-headers-2.4.27-1-k7/ KVERS=2.4.27-1-k7 + --- alsa-driver-1.0.16.orig/debian/linux-sound-base.config +++ alsa-driver-1.0.16/debian/linux-sound-base.config @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +. /usr/share/debconf/confmodule +db_version 2.0 + +if \ + [ -f /etc/modprobe.d/blacklist-oss ] \ + && [ ! -f /etc/modprobe.d/blacklist-alsa ] +then + db_set linux-sound-base/sound_system ALSA || : +elif \ + [ ! -f /etc/modprobe.d/blacklist-oss ] \ + && [ -f /etc/modprobe.d/blacklist-alsa ] +then + db_set linux-sound-base/sound_system OSS || : +fi + +db_input low linux-sound-base/sound_system || : +db_go || : +db_stop || : --- alsa-driver-1.0.16.orig/pci/asihpi/asihpi.c +++ alsa-driver-1.0.16/pci/asihpi/asihpi.c @@ -2512,7 +2512,7 @@ /*------------------------------------------------------------ CARD ------------------------------------------------------------*/ -int snd_asihpi_bind(struct hpi_adapter *hpi_card) +int __devinit snd_asihpi_bind(struct hpi_adapter *hpi_card) { int err;