Changes v1.0.17a v1.0.18rc1

From AlsaProject

Jump to: navigation, search

Contents

[edit] Changelog between 1.0.17 and 1.0.18rc1 releases

[edit] alsa-driver

[edit] Sound Core

Fix build of hda-beep stuff with older 2.6 kernels
build stub for us122l
Release v1.0.18rc1

[edit] ALSA Core

Add a wrapper for strict_strtoul() for older kernels
Fix device_create_drvdata() in snd_card_register()
Add missing pr_xxx() for older kernels
Regenerate patch for replacement with device_create_drvdata()
Add device_create_drvdata() check
Fix build with recent linux-next tree
Revert "Add device_create_drvdata() check"
Kill snd_assert()
Add WARN() and WARN_ON() wrappers for older kernels
Add dev_printk() and co macros for 2.2/2.4 kernels
Force to re-define WARN_ON() for older 2.6 kernels
sound: cdev lock_kernel() pushdown
device create: sound: convert device_create to device_create_drvdata
PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures
ALSA: Add jack reporting API
ALSA: Build jack detection
ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
ALSA: IEC958 definition for consumer status channel update
sound: Revert "ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE"
ALSA: Add USB US122L driver
ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
ALSA: Introduce snd_BUG_ON() macro
ALSA: Kill snd_assert() in sound/core/*
ALSA: Kill snd_assert() definition
ALSA: Clean up snd_BUG()

[edit] SoC PXA2xx Core

[ARM] 5063/1: pxa: add clk support for pxa2xx I2S
[ARM] 5098/1: fix sound/soc/pxa/tosa.c to new gpio api
ALSA: ASoC: Permit simultaneous compilation of both PXA AC97 drivers

[edit] Control Midlevel

Kill snd_assert()
ALSA: Kill snd_assert() in sound/core/*

[edit] HWDEP Midlevel

Kill snd_assert()
ALSA: Kill snd_assert() in sound/core/*

[edit] Jack Input Event Midlevel

ALSA: Add jack reporting API

[edit] PCM Midlevel

snd/PCM: fasync BKL pushdown
ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
sound: Revert "ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE"
ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
pcm_native.c: remove unused label
Revert "pcm_native.c: remove unused label"

[edit] Timer Midlevel

ALSA: fix a typo during snd_assert() removal

[edit] /isa/Makefile

ALSA: wss_lib: move cs4231_lib into wss_lib

[edit] /soc/codecs/Makefile

ALSA: ASoC: Add Texas Instruments TLV320AIC26 codec driver
ALSA: ASoC: AD1980 audio codec driver
ALSA: ASoC: Add WM8900 CODEC driver
ALSA: ASoC: Add WM8580 CODEC driver

[edit] AC97 Codec

ALSA: add TriTech 28023 AC97 codec ID and Wolfson 9701 name.
ALSA: re-order AC97 codec ID table.
ALSA: make snd_ac97_add_vmaster() static
ALSA: ac97 - Enable mono-out on ALC203 codec as default
ALSA: Kill snd_assert() in sound/pci/*

[edit] AD1816A driver

ALSA: Kill snd_assert() in sound/isa/*

[edit] AD1848 driver

ALSA: wss_lib: use struct snd_wss instead of snd_ad1848
ALSA: wss_lib: use wss constants instead of ad1848 ones
ALSA: wss_lib: replace ad1848 mixer element macros with wss ones
ALSA: wss_lib: use CS4231P instead of AD1848P (kill the AD1848P)
ALSA: wss_lib: use wss mixer code instead of ad1848 one
ALSA: wss_lib: use wss pcm code instead of ad1848 one
ALSA: wss_lib: use wss detection code instead of ad1848 one

[edit] AD1889 driver

ALSA: Kill snd_assert() in sound/pci/*

[edit] AK4531 codec

ALSA: Kill snd_assert() in sound/pci/*

[edit] ALSA Minor Numbers

ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
sound: Revert "ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE"
ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE

[edit] ALSA Version

ALSA: release v1.0.18rc1

[edit] ALSA<-OSS emulation

ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
sound: Revert "ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE"

[edit] ALSA<-OSS sequencer

sound: ensure device number is valid in snd_seq_oss_synth_make_info

[edit] ARM PXA2XX driver

[ARM] Remove asm/hardware.h, use asm/arch/hardware.h instead
[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach

[edit] ATIIXP driver

ALSA: Kill snd_assert() in sound/pci/*

[edit] ATIIXP-modem driver

ALSA: Kill snd_assert() in sound/pci/*

[edit] AZT2320 driver

ALSA: wss_lib: rename cs4231.h into wss.h
ALSA: wss_lib: rename cs4321_foo to wss_foo

[edit] AZT3328 driver

ALSA: sound/pci/azt3328.h: no variables for enums

[edit] Au12x0/Au1550 PSC ASoC

ALSA: Au1xpsc: psc not disabled when TX is idle

[edit] CMI8330 driver

ALSA: wss_lib: use struct snd_wss instead of snd_ad1848
ALSA: wss_lib: use wss constants instead of ad1848 ones
ALSA: wss_lib: replace ad1848 mixer element macros with wss ones
ALSA: wss_lib: use wss pcm code instead of ad1848 one
ALSA: wss_lib: use wss detection code instead of ad1848 one

[edit] CMI8788 (Oxygen) driver

ALSA: virtuoso: add Xonar D1 support

[edit] CS4231 driver

Add build stub for new wss_lib
ALSA: wss_lib: move cs4231_lib into wss_lib
ALSA: wss_lib: rename cs4231.h into wss.h
ALSA: wss_lib: rename cs4321_foo to wss_foo

[edit] CS4236+ driver

ALSA: cs4232: fix crash during chip PNP detection
ALSA: wss_lib: rename cs4321_foo to wss_foo
ALSA: snd-cs4236: add Techmakers MF-4236PW PnP card ID
ALSA: Kill snd_assert() in sound/isa/*

[edit] CS423x drivers

Add build stub for new wss_lib
ALSA: wss_lib: move cs4231_lib into wss_lib

[edit] Conexant Riptide driver

riptide: treat firmware data as const

[edit] Digigram PCXHR driver

pcxhr: treat firmware data as const
Fix a const pointer usage warning in the Digigram pcxhr soundcard driver

[edit] Digigram VX core

vx: treat firmware data as const
ALSA: Kill snd_assert() in other places

[edit] Digigram VX222 driver

vx222: treat firmware data as const

[edit] Documentation

ALSA: virtuoso: add Xonar D1 support
remove mention of CONFIG_KMOD from documentation
Documentation cleanup: trivial misspelling, punctuation, and grammar corrections.
ALSA: Allow to force model to intel-mac-v3 in snd_hda_intel (sigmatel).
ALSA: Introduce snd_BUG_ON() macro
ALSA: Kill snd_assert() definition
ALSA: ALSA-Configuration.txt: supported cards update
ALSA: Add missing description of usb-audio parameters
ALSA: usb-audio - Add ignore_ctl_error parameter

[edit] Dreamcast AICA sound (pcm) driver

sh: migrate to arch/sh/include/

[edit] ENS1370/1+ driver

ALSA: ens1370: SRC stands for Sample Rate Converter
ALSA: ALSA: ens1370: communicate PCI device to AC97

[edit] ES1688 driver

ALSA: Kill snd_assert() in sound/isa/*

[edit] GUS Library

ALSA: Kill snd_assert() in sound/isa/*

[edit] GUS MAX driver

ALSA: wss_lib: rename cs4321_foo to wss_foo

[edit] Generic drivers

ALSA: Kill snd_assert() in other places
sound: Fix esoteric double free in the dummy sound driver.
ALSA: dummy driver - do not use assignment in if condition

[edit] HDA Codec driver

ALSA: hda - Added support for Asus V1Sn
ALSA: hda - Add support of ASUS Eeepc P90*
ALSA: hda: digital pc-beep support hd-audio codecs
ALSA: HDA - Add automatic model setting for the Acer Aspire 5920G laptop
ALSA: Allow to force model to intel-mac-v3 in snd_hda_intel (sigmatel).
ALSA: hda: added 92HD81/83 support
ALSA: hda - Fix sound on NEC Versa S9100
ALSA: hda: Add support for ECS/PC Chips boards with Sigmatel codecs
ALSA: hda - Don't reset SPDIF in each status change
ALSA: hda - initialize node 0x21 properly on AD1988 codecs
ALSA: hda - put all HDA codec IDs to components for precise hw detection
ALSA: hda: dynamically create capture mux controls
ALSA: hda: 92HD75xx fixes

[edit] HDA Intel driver

ALSA: hda - Align BDL position adjustment parameter
ALSA: hda_intel: ALSA HD Audio patch for Intel Ibex Peak DeviceIDs
ALSA: hda - support new AMD HDMI Audio (1002:970f)

[edit] HDA generic driver

hda: digital pc-beep support hd-audio codecs
fix compilation issues caused by the latest linux-2.6 tree merge (firmware & hda_beep)
Fix build of hda-beep stuff with older 2.6 kernels
alsa-info.sh - upload to www.alsa-project.org, alsactl init changes in boot scripts
ALSA: hda: digital pc-beep support hd-audio codecs
ALSA: hda - use input_free_device()

[edit] ICE1712 driver

ALSA: ice1724 - Support for Terrasoniq/MUSONIK TS22 PCI card
ALSA: sound/pci: supported cards update

[edit] ICE1724 driver

ALSA: ice1724/revo: simple clean up

[edit] IOCTL32 emulation

Kill snd_assert()

[edit] ISA

firmware: convert sb16_csp driver to use firmware loader exclusively
ALSA: wss_lib: move cs4231_lib into wss_lib
ALSA: wss_lib: use wss pcm code instead of ad1848 one
ALSA: wss_lib: use wss detection code instead of ad1848 one

[edit] Intel8x0 driver

ALSA: sound/pci: supported cards update

[edit] KORG1212 driver

Regenerated patches for request_firmware updates in kernel
fix compilation issues caused by the latest linux-2.6 tree merge (firmware & hda_beep)
firmware: convert korg1212 driver to use firmware loader exclusively

[edit] MIXART driver

Fix a const pointer usage warning in the Digigram miXart soundcard driver

[edit] Maestro3 driver

Regenerated patches for request_firmware updates in kernel
fix compilation issues caused by the latest linux-2.6 tree merge (firmware & hda_beep)
maestro3: treat firmware data as const
firmware: convert maestro3 driver to use firmware loader exclusively

[edit] Memalloc module

Fix compile warnings with older kernels
ALSA: Kill snd_assert() in sound/core/*

[edit] OPL3

ALSA: Kill snd_assert() in other places

[edit] OPL4

ALSA: Kill snd_assert() in other places

[edit] OSS device core

sound: cdev lock_kernel() pushdown
device create: sound: convert device_create to device_create_drvdata

[edit] Opti9xx drivers

ALSA: opti93x - Fix NULL dereference
ALSA: opti9xx: no isapnp param for !CONFIG_PNP
ALSA: wss_lib: use struct snd_wss instead of snd_ad1848
ALSA: wss_lib: use wss constants instead of ad1848 ones
ALSA: wss_lib: use wss mixer code instead of ad1848 one
ALSA: wss_lib: use wss pcm code instead of ad1848 one
ALSA: wss_lib: use wss detection code instead of ad1848 one
ALSA: wss_lib: opti92x-ad1848 WSS_HW_DETECT fix
ALSA: Kill snd_assert() in sound/isa/*

[edit] PCI drivers

Fixed dependency of pci/ens1371.c
firmware: convert korg1212 driver to use firmware loader exclusively
firmware: convert ymfpci driver to use firmware loader exclusively
firmware: convert maestro3 driver to use firmware loader exclusively
ALSA: hda: digital pc-beep support hd-audio codecs
ALSA: virtuoso: add Xonar D1 support
ALSA: sound/pci/Kconfig: update for ice1712/24

[edit] RTC timer driver

Remove duplicated definition of is_power_of_2() from rtctimer.c

[edit] SA11xx UDA1341 driver

[ARM] Remove asm/hardware.h, use asm/arch/hardware.h instead
[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
ALSA: Kill snd_assert() in other places

[edit] SB16/AWE driver

Regenerated patches for request_firmware updates in kernel
fix compilation issues caused by the latest linux-2.6 tree merge (firmware & hda_beep)
firmware: convert sb16_csp driver to use firmware loader exclusively

[edit] Serial BUS drivers

Regenerated i2c/other/tea575x-tuner.patch

[edit] SoC Audio for the Atmel AT32 System-on-Chip

Add missing soc/* build stubs

[edit] SoC Audio for the Atmel AT91 System-on-Chip

[ARM] 5130/4: Support for the at91sam9g20

[edit] SoC Audio for the Samsung S3C24XX chips

[ARM] Eliminate useless includes of asm/mach-types.h

[edit] SoC Codec AD1980

Add missing soc/* build stubs
ALSA: ASoC: AD1980 audio codec driver

[edit] SoC Codec CS4270

ALSA: make the CS4270 driver a new-style I2C driver

[edit] SoC Codec TLV320AIC26

ALSA: ASoC: Add Texas Instruments TLV320AIC26 codec driver
ALSA: ASoC: Export DAI and codec for TLV320AIC26
ALSA: ASoC: Staticise keyclick dev_attr in tlv320aic26

[edit] SoC Codec WM8580

ALSA: ASoC: Add WM8580 CODEC driver

[edit] SoC Codec WM8750

ALSA: wm8750: it's MONO1, not MONO
ALSA: wm8750: add missing VREF output

[edit] SoC Codec WM8900

ALSA: ASoC: Add WM8900 CODEC driver

[edit] SoC Codec WM9712

ALSA: soc - wm9712 mono mixer

[edit] SoC DaVinci

[ARM] Eliminate useless includes of asm/mach-types.h

[edit] SoC Dynamic Audio Power Management

ALSA: ASoC: Refactor DAPM event handler
ALSA: ASoC: Factor PGA DAPM handling into main
ALSA: ASoC: Export dapm_reg_event() fully
ALSA: ASoC: Convert bitfields in ASoC into full int width
ALSA: ASoC: Rename mask to max to reflect usage
ALSA: ASoC: convert use of uint to unsigned int

[edit] SoC Freescale

ALSA: asoc: restrict sample rate and size in Freescale MPC8610 sound drivers
ALSA: ASoC: Add OpenFirmware helper for matching bus and codec drivers
ALSA: ASoC: Add mpc5200-psc I2S driver
ALSA: ASoC: fix SNDCTL_DSP_SYNC support in Freescale 8610 sound drivers
ALSA: ASoC - fix DMA channel selection in Freescale MPC8610 sound drivers

[edit] SoC Layer

ALSA: ASoC: Allow codecs to override register display
ALSA: ASoC: Convert bitfields in ASoC into full int width
ALSA: ASoC: Rename mask to max to reflect usage
ALSA: ASoC: Add OpenFirmware helper for matching bus and codec drivers
ALSA: ASoC: Make OpenFirmware helper include file conditional
ALSA: ASoC: Add Texas Instruments TLV320AIC26 codec driver
ALSA: ASoC: AD1980 audio codec driver
ALSA: ASoC: Add all CODECs Kconfig option
ALSA: ASoC: convert use of uint to unsigned int
ALSA: ASoC: Add WM8900 CODEC driver
ALSA: ASoC: Add WM8580 CODEC driver

[edit] SoC PXA2xx Poodle

ALSA: ASoC: Update Poodle to current ASoC API

[edit] SoC PXA2xx Spitz

ALSA: spitz: MONO -> MONO1

[edit] SoC PXA2xx Tosa

[ARM] 5098/1: fix sound/soc/pxa/tosa.c to new gpio api
ALSA: sound/soc/pxa/tosa.c: removed duplicated include

[edit] Sound Galaxy driver

ALSA: wss_lib: replace ad1848 mixer element macros with wss ones

[edit] TEA575x tuner

V4L/DVB (8484): videodev: missed two more usages of the removed 'owner' field.
V4L/DVB (8523): v4l2-dev: remove unused type and type2 field from video_device

[edit] USB

ALSA: Add USB US122L driver

[edit] USB USX2Y

build stub for us122l
ALSA: Add USB US122L driver

[edit] USB generic driver

ALSA: usb-audio: add BOSS GT-10 support
ALSA: Add USB US122L driver
ALSA: snd_usb_audio: fix SB Extigy IR Remote regression
ALSA: usb-audio - Add ignore_ctl_error parameter

[edit] Utils

alsa-info.sh - upload to www.alsa-project.org, alsactl init changes in boot scripts
recent alsactl cleanups for /etc/init.d boot scripts (use -r and restore only)

[edit] WSS library

Add build stub for new wss_lib
ALSA: wss_lib: move cs4231_lib into wss_lib
ALSA: wss_lib: rename cs4231.h into wss.h
ALSA: wss_lib: rename cs4321_foo to wss_foo
ALSA: wss_lib: use struct snd_wss instead of snd_ad1848
ALSA: wss_lib: use wss constants instead of ad1848 ones
ALSA: wss_lib: use wss mixer code instead of ad1848 one
ALSA: wss_lib: use wss pcm code instead of ad1848 one
ALSA: wss_lib: fix opti93x capture formats limitations
ALSA: wss_lib: remove second mutexes initialization
ALSA: wss_lib: fix AZT2320 probe.
ALSA: wss_lib: rework snd_ad1848_probe()
ALSA: wss_lib: missing closing brace in (ifdeffed out) debug function.

[edit] Wavefront drivers

ALSA: wss_lib: rename cs4231.h into wss.h

[edit] YMFPCI driver

ymfpci: treat firmware data as const
firmware: convert ymfpci driver to use firmware loader exclusively

[edit] au88x0 driver

ALSA: au88x0: clipping ceiling loop wrong in comment

[edit] alsa-utils

[edit] Core

alsactl - install initialization files
Release v1.0.18rc1

[edit] ALSA Control (alsactl)

Initial 'alsactl init' implementation
alsactl init: added support for Lenovo T61
alsactl init: Changed support for Acer Travelmate 8100 (use subvendor and subdevice for matching)
alsactl init - Fix Lenovo T61 configuraton
alsactl - install initialization files
alsactl init configuration syntax changes
alsactl init - allow enum specification by name strings
alsactl init - add dB and percentual CTL{value} parsing for integer values
alsactl init - restore calls also init on failure
alsactl init - modified configuration for Acer Travelmate 8100
alsactl init - fixed enumeration string setting, update Lenovo T61 config (dB)

[edit] Speaker Test

alsactl - install initialization files

[edit] amixer

amixer - fixed TLV dBscale and added dBrange parsing

[edit] iecset

iecset update for new consumer status channel bits

[edit] alsa-plugins

[edit] Core

Add usb_stream PCM plugin
Release v1.0.18rc1

[edit] /Makefile.am

Add usb_stream PCM plugin

[edit] PulseAudio -> ALSA plugin

pulse - Returns errors instead of assert()
send both an uncork and a trigger in _start()

[edit] USB stream plugin

Add usb_stream PCM plugin

[edit] Detailed changelog between 1.0.17 and 1.0.18rc1 releases

[edit] alsa-driver

[edit] Sound Core

- Fix build of hda-beep stuff with older 2.6 kernels
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- build stub for us122l
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Release v1.0.18rc1
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] ALSA Core

- Add a wrapper for strict_strtoul() for older kernels
It's a pretty lazy imlementation, maybe we need a better one.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix device_create_drvdata() in snd_card_register()
Use the obsoleted device_create() for older kernels.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add missing pr_xxx() for older kernels
pr_err() and co are newly defined.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Regenerate patch for replacement with device_create_drvdata()
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add device_create_drvdata() check
From: Eliot Blennerhassett <linux@audioscience.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Fix build with recent linux-next tree
device_create_drvdata() is removed again, and device_create() is changed
again. sigh.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Revert "Add device_create_drvdata() check"
This reverts commit ad33f3a5598faaf568d935f835e62bcd2007d95b.
Commit 79fe3963cf1193f89880f4969f702e9efd98edc9 obsoletes it.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Kill snd_assert()
Replace snd_assert() with snd_BUG_ON() and co.
Patches are re-generated.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add WARN() and WARN_ON() wrappers for older kernels
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add dev_printk() and co macros for 2.2/2.4 kernels
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Force to re-define WARN_ON() for older 2.6 kernels
Force to re-define WARN_ON() for older 2.6 kernels.
The old WARN_ON() doesn't return the value, and this breaks some drivers
that check the return value from WARN_ON().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: cdev lock_kernel() pushdown
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
- device create: sound: convert device_create to device_create_drvdata
device_create() is race-prone, so use the race-free
device_create_drvdata() instead as device_create() is going away.
Cc: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
- PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures
On 32-bit architectures PAGE_ALIGN() truncates 64-bit values to the 32-bit
boundary. For example:
u64 val = PAGE_ALIGN(size);
always returns a value < 4GB even if size is greater than 4GB.
The problem resides in PAGE_MASK definition (from include/asm-x86/page.h for
example):
#define PAGE_SHIFT 12
#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
#define PAGE_MASK (~(PAGE_SIZE-1))
...
#define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK)
The "~" is performed on a 32-bit value, so everything in "and" with
PAGE_MASK greater than 4GB will be truncated to the 32-bit boundary.
Using the ALIGN() macro seems to be the right way, because it uses
typeof(addr) for the mask.
Also move the PAGE_ALIGN() definitions out of include/asm-*/page.h in
include/linux/mm.h.
See also lkml discussion: http://lkml.org/lkml/2008/6/11/237
[akpm@linux-foundation.org: fix drivers/media/video/uvc/uvc_queue.c]
[akpm@linux-foundation.org: fix v850]
[akpm@linux-foundation.org: fix powerpc]
[akpm@linux-foundation.org: fix arm]
[akpm@linux-foundation.org: fix mips]
[akpm@linux-foundation.org: fix drivers/media/video/pvrusb2/pvrusb2-dvb.c]
[akpm@linux-foundation.org: fix drivers/mtd/maps/uclinux.c]
[akpm@linux-foundation.org: fix powerpc]
Signed-off-by: Andrea Righi <righi.andrea@gmail.com>
Cc: <linux-arch@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- ALSA: Add jack reporting API
Currently very few systems provide information about jack status to user
space, even though many have hardware facilities to do detection. Those
systems that do use an input device with the existing SW_HEADPHONE_INSERT
switch type to do so, often independently of ALSA.
This patch introduces a standard method for representing jacks to user
space into ALSA. It allows drivers to register jacks for a sound card with
the input subsystem, binding the input device to the card to help user
space associate the input devices with their sound cards. The created
input devices are named in the form "card longname jack" where jack is
provided by the driver when allocating a jack. By default the parent for
the input device is the sound card but this can be overridden by the
card driver.
The existing user space API with SW_HEADPHONE_INSERT is preserved.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Build jack detection
Since jack detection requires the input subsystem which may not be
desired on small systems it is not built unless required by a driver
that is being built. Drivers using jack detection should use a pattern
like this:
config SND_FOO
tristate "..."
...
select SND_JACK if INPUT=y || INPUT=SND
to ensure that the jack detection API is enabled if the input subsystem
is. If the input subsystem is not enabled then a stub version of the
API is provided.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
When compiled with CONFIG_SND_DYNAMIC_MINORS the ALSA core is fine
to have more than 8 PCM devices per card, except one place - the
SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE ioctl, which will not enumerate
devices > 7. This patch fixes the issue, changing the devices list
organisation.
Instead of adding new device to the tail, the list is now kept always
ordered (by card number, then device number). Thus, during enumeration,
it is easy to discover the fact that there is no more given card's
devices. The same limit was present in OSS emulation code. It has
been fixed as well.
Additionally the device field of struct snd_pcm is now int, instead of
unsigned int, as there is no obvious reason for keeping it unsigned.
This caused a lot of problems with comparing this value with other
(almost always signed) variables. There is just one more place where
device number is unsigned - in struct snd_pcm_info, which should be
also sorted out in future.
Signed-off-by: Pawel MOLL <pawel.moll@st.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: IEC958 definition for consumer status channel update
Updated IEC958 consumer status channel definitions according
to the third edition of IEC60958-3 spec.
Signed-off-by: Pawel Moll <pawel.moll@st.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: Revert "ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE"
This reverts commit fb3d6f2b77bdec75d45aa9d4464287ed87927866.
New, updated patch with same subject replaces this commit.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add USB US122L driver
Added a new US122L usb-audio driver. This driver works together with a
dedicated alsa-lib plugin.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
When compiled with CONFIG_SND_DYNAMIC_MINORS the ALSA core is fine
to have more than 8 PCM devices per card, except one place - the
SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE ioctl, which will not enumerate
devices > 7. This patch fixes the issue, changing the devices list
organisation.
Instead of adding new device to the tail, the list is now kept always
ordered (by card number, then device number). Thus, during enumeration,
it is easy to discover the fact that there is no more given card's
devices.
Additionally the device field of struct snd_pcm had to be changed to int,
as its "unsignednity" caused a lot of problems when comparing it to
potentially negative signed values. (-1 is 0xffffffff or even more then ;-)
Signed-off-by: Pawel Moll <pawel.moll@st.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Introduce snd_BUG_ON() macro
Introduced snd_BUG_ON() macro as a replacement of snd_assert() macro.
snd_assert() is pretty ugly as it has the control flow in its argument.
OTOH, snd_BUG_ON() behaves like a normal conditional, thus it's much
easier to read the flow.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Kill snd_assert() in sound/core/*
Kill snd_assert() in sound/core/*, either removed or replaced with
if () with snd_BUG_ON().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Kill snd_assert() definition
Remove snd_assert() completely now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Clean up snd_BUG()
Use the standard WARN() macro for snd_BUG().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] SoC PXA2xx Core

- [ARM] 5063/1: pxa: add clk support for pxa2xx I2S
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ARM] 5098/1: fix sound/soc/pxa/tosa.c to new gpio api
The sound/soc/pxa/tosa.c contains dependencies on parts that never
ever hit mainline. Replace them with current support for tc6393xb.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- ALSA: ASoC: Permit simultaneous compilation of both PXA AC97 drivers
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] Control Midlevel

- Kill snd_assert()
Replace snd_assert() with snd_BUG_ON() and co.
Patches are re-generated.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Kill snd_assert() in sound/core/*
Kill snd_assert() in sound/core/*, either removed or replaced with
if () with snd_BUG_ON().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] HWDEP Midlevel

- Kill snd_assert()
Replace snd_assert() with snd_BUG_ON() and co.
Patches are re-generated.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Kill snd_assert() in sound/core/*
Kill snd_assert() in sound/core/*, either removed or replaced with
if () with snd_BUG_ON().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] Jack Input Event Midlevel

- ALSA: Add jack reporting API
Currently very few systems provide information about jack status to user
space, even though many have hardware facilities to do detection. Those
systems that do use an input device with the existing SW_HEADPHONE_INSERT
switch type to do so, often independently of ALSA.
This patch introduces a standard method for representing jacks to user
space into ALSA. It allows drivers to register jacks for a sound card with
the input subsystem, binding the input device to the card to help user
space associate the input devices with their sound cards. The created
input devices are named in the form "card longname jack" where jack is
provided by the driver when allocating a jack. By default the parent for
the input device is the sound card but this can be overridden by the
card driver.
The existing user space API with SW_HEADPHONE_INSERT is preserved.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] PCM Midlevel

- snd/PCM: fasync BKL pushdown
Chances are this is unneeded, but the code is twisty enough that it is hard
to tell.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
- ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
When compiled with CONFIG_SND_DYNAMIC_MINORS the ALSA core is fine
to have more than 8 PCM devices per card, except one place - the
SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE ioctl, which will not enumerate
devices > 7. This patch fixes the issue, changing the devices list
organisation.
Instead of adding new device to the tail, the list is now kept always
ordered (by card number, then device number). Thus, during enumeration,
it is easy to discover the fact that there is no more given card's
devices. The same limit was present in OSS emulation code. It has
been fixed as well.
Additionally the device field of struct snd_pcm is now int, instead of
unsigned int, as there is no obvious reason for keeping it unsigned.
This caused a lot of problems with comparing this value with other
(almost always signed) variables. There is just one more place where
device number is unsigned - in struct snd_pcm_info, which should be
also sorted out in future.
Signed-off-by: Pawel MOLL <pawel.moll@st.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: Revert "ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE"
This reverts commit fb3d6f2b77bdec75d45aa9d4464287ed87927866.
New, updated patch with same subject replaces this commit.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
When compiled with CONFIG_SND_DYNAMIC_MINORS the ALSA core is fine
to have more than 8 PCM devices per card, except one place - the
SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE ioctl, which will not enumerate
devices > 7. This patch fixes the issue, changing the devices list
organisation.
Instead of adding new device to the tail, the list is now kept always
ordered (by card number, then device number). Thus, during enumeration,
it is easy to discover the fact that there is no more given card's
devices.
Additionally the device field of struct snd_pcm had to be changed to int,
as its "unsignednity" caused a lot of problems when comparing it to
potentially negative signed values. (-1 is 0xffffffff or even more then ;-)
Signed-off-by: Pawel Moll <pawel.moll@st.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- pcm_native.c: remove unused label
This fixes the warning
sound/core/pcm_native.c: In function 'snd_pcm_fasync':
sound/core/pcm_native.c:3262: warning: label 'out' defined but not used
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- Revert "pcm_native.c: remove unused label"
This reverts commit 680db0136e0778a0d7e025af7572c6a8d82279e2. The label
is actually used, but hidden behind CONFIG_SND_DEBUG and the horrible
snd_assert() macro.
That macro could probably be improved to be along the lines of
#define snd_assert(expr, args...) do { if ((void)(expr),0) { args; } } while (0)
or similar to make sure that we always both evaluate 'expr' and parse
'args', but while gcc should optimize it all away, I'm too lazy to
really verify that. So I'll just admit defeat and will continue to live
with the annoying warning.
Noted-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Linus "Grr.." Torvalds

[edit] Timer Midlevel

- ALSA: fix a typo during snd_assert() removal
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] /isa/Makefile

- ALSA: wss_lib: move cs4231_lib into wss_lib
Move the file sound/isa/cs423x/cs4231_lib.c
into sound/isa/cs423x/wss_lib.c
This is the first step toward merging all libraries
for Windows Sound System compatible chips
into a single library.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] /soc/codecs/Makefile

- ALSA: ASoC: Add Texas Instruments TLV320AIC26 codec driver
ASoC Codec driver for the TLV320AIC26 device. As it stands, this driver
doesn't support all the modes and clocking options of the AIC16, but it
is a start.
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC: AD1980 audio codec driver
[Mechanical updates from code review applied -- broonie]
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC: Add WM8900 CODEC driver
The WM8900 is designed for portable multimedia applications requiring
low power consumption, high performance audio and a compact form factor
providing:
- 24 bit stereo ADC and DAC
- Microphone and line inputs
- Line outputs
- Class G headphone amplifier
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC: Add WM8580 CODEC driver
The WM8580 is an audio CODEC designed for DVD and surround sound
applications, offering three stereo DACs and a stereo ADC.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] AC97 Codec

- ALSA: add TriTech 28023 AC97 codec ID and Wolfson 9701 name.
Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: re-order AC97 codec ID table.
Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: make snd_ac97_add_vmaster() static
This patch makes the needlessly global snd_ac97_add_vmaster() static.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: ac97 - Enable mono-out on ALC203 codec as default
Use pin 37 for mono-out as default on ALC203.
Reported-by: george pee <georgepee@gmail.com>
Tested-by: george pee <georgepee@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Kill snd_assert() in sound/pci/*
Kill snd_assert() in sound/pci/*, either removed or replaced with
if () with snd_BUG_ON().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] AD1816A driver

- ALSA: Kill snd_assert() in sound/isa/*
Kill snd_assert() in sound/isa/*, either removed or replaced with
if () with snd_BUG_ON().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] AD1848 driver

- ALSA: wss_lib: use struct snd_wss instead of snd_ad1848
The snd_wss is superset of the snd_ad1848 so kill
the latter and replace it with the snd_wss.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: wss_lib: use wss constants instead of ad1848 ones
Use wss constants for mode.
Move ad1848 hardware constants to the wss.h.
Move mixer tlv macros into the ad1848_lib.c from the ad1848.h.
Drop the MODE_RUNNING spurious IRQ guard on AD1848 as it doesn not seem
to be needed.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: wss_lib: replace ad1848 mixer element macros with wss ones
Use the wss macros instead of ad1848 ones.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: wss_lib: use CS4231P instead of AD1848P (kill the AD1848P)
Use CS4231P instead of AD1848P (kill the AD1848P).
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: wss_lib: use wss mixer code instead of ad1848 one
Use the wss mixer code and kill the ad1848 mixer code.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: wss_lib: use wss pcm code instead of ad1848 one
Use the wss pcm code and kill the ad1848 pcm code.
The AD1848 chip is much slower than CS4231 chips
so the waiting loop was increased 100x (10x is not
enough).
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: wss_lib: use wss detection code instead of ad1848 one
Use the wss detection code and kill the ad1848 library.
The library is fully assimilated into the new wss library.
This required reworking of the AD1848 family code
so the code is changed to correctly detect chips from
the AD1848 and CS4231 families.
I have tested it on following cards:
Gallant SC-6600 (codec: AD1848, driver: snd-sc6600)
SoundScape VIVO/90 (codec: AD1845, driver: snd-sscape)
SG Waverider (codec: CS4231A, driver: Rene Herman's snd-galaxy)
Opti930 (codec: built-in - CS4231 compatible, driver: snd-opti93x)
Opti931 (codec: built-in - CS4231 compatible, driver: snd-opti93x)
Gallant SC-70P (chip/codec: CS4237B, driver: snd-cs4236)
Audio Plus 3D (chip/codec: CMI8330A, driver: snd-cmi8330)
Dell Latitude CP (chip/codec: cs4236, driver snd-cs4232)
Sound playback and recording works on all these cards.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] AD1889 driver

- ALSA: Kill snd_assert() in sound/pci/*
Kill snd_assert() in sound/pci/*, either removed or replaced with
if () with snd_BUG_ON().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] AK4531 codec

- ALSA: Kill snd_assert() in sound/pci/*
Kill snd_assert() in sound/pci/*, either removed or replaced with
if () with snd_BUG_ON().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] ALSA Minor Numbers

- ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
When compiled with CONFIG_SND_DYNAMIC_MINORS the ALSA core is fine
to have more than 8 PCM devices per card, except one place - the
SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE ioctl, which will not enumerate
devices > 7. This patch fixes the issue, changing the devices list
organisation.
Instead of adding new device to the tail, the list is now kept always
ordered (by card number, then device number). Thus, during enumeration,
it is easy to discover the fact that there is no more given card's
devices. The same limit was present in OSS emulation code. It has
been fixed as well.
Additionally the device field of struct snd_pcm is now int, instead of
unsigned int, as there is no obvious reason for keeping it unsigned.
This caused a lot of problems with comparing this value with other
(almost always signed) variables. There is just one more place where
device number is unsigned - in struct snd_pcm_info, which should be
also sorted out in future.
Signed-off-by: Pawel MOLL <pawel.moll@st.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: Revert "ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE"
This reverts commit fb3d6f2b77bdec75d45aa9d4464287ed87927866.
New, updated patch with same subject replaces this commit.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
When compiled with CONFIG_SND_DYNAMIC_MINORS the ALSA core is fine
to have more than 8 PCM devices per card, except one place - the
SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE ioctl, which will not enumerate
devices > 7. This patch fixes the issue, changing the devices list
organisation.
Instead of adding new device to the tail, the list is now kept always
ordered (by card number, then device number). Thus, during enumeration,
it is easy to discover the fact that there is no more given card's
devices.
Additionally the device field of struct snd_pcm had to be changed to int,
as its "unsignednity" caused a lot of problems when comparing it to
potentially negative signed values. (-1 is 0xffffffff or even more then ;-)
Signed-off-by: Pawel Moll <pawel.moll@st.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] ALSA Version

- ALSA: release v1.0.18rc1
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] ALSA<-OSS emulation

- ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
When compiled with CONFIG_SND_DYNAMIC_MINORS the ALSA core is fine
to have more than 8 PCM devices per card, except one place - the
SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE ioctl, which will not enumerate
devices > 7. This patch fixes the issue, changing the devices list
organisation.
Instead of adding new device to the tail, the list is now kept always
ordered (by card number, then device number). Thus, during enumeration,
it is easy to discover the fact that there is no more given card's
devices. The same limit was present in OSS emulation code. It has
been fixed as well.
Additionally the device field of struct snd_pcm is now int, instead of
unsigned int, as there is no obvious reason for keeping it unsigned.
This caused a lot of problems with comparing this value with other
(almost always signed) variables. There is just one more place where
device number is unsigned - in struct snd_pcm_info, which should be
also sorted out in future.
Signed-off-by: Pawel MOLL <pawel.moll@st.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: Revert "ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE"
This reverts commit fb3d6f2b77bdec75d45aa9d4464287ed87927866.
New, updated patch with same subject replaces this commit.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] ALSA<-OSS sequencer

- sound: ensure device number is valid in snd_seq_oss_synth_make_info
snd_seq_oss_synth_make_info() incorrectly reports information
to userspace without first checking for the validity of the
device number, leading to possible information leak (CVE-2008-3272).
Reported-By: Tobias Klein <tk@trapkit.de>
Acked-and-tested-by: Takashi Iwai <tiwai@suse.de>
Cc: stable@kernel.org
Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

[edit] ARM PXA2XX driver

- [ARM] Remove asm/hardware.h, use asm/arch/hardware.h instead
Remove includes of asm/hardware.h in addition to asm/arch/hardware.h.
Then, since asm/hardware.h only exists to include asm/arch/hardware.h,
update everything to directly include asm/arch/hardware.h and remove
asm/hardware.h.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
This just leaves include/asm-arm/plat-* to deal with.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

[edit] ATIIXP driver

- ALSA: Kill snd_assert() in sound/pci/*
Kill snd_assert() in sound/pci/*, either removed or replaced with
if () with snd_BUG_ON().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] ATIIXP-modem driver

- ALSA: Kill snd_assert() in sound/pci/*
Kill snd_assert() in sound/pci/*, either removed or replaced with
if () with snd_BUG_ON().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] AZT2320 driver

- ALSA: wss_lib: rename cs4231.h into wss.h
Rename file include/sound/cs4231.h
into include/sound/wss.h
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: wss_lib: rename cs4321_foo to wss_foo
Rename functions and structures from the former
cs4321_lib to names more corresponding with the
new name: wss_lib.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] AZT3328 driver

- ALSA: sound/pci/azt3328.h: no variables for enums
AZF_FREQUENCIES and AZF_GAME_CONFIGS were variables, and this doesn't
seem to have been intended.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] Au12x0/Au1550 PSC ASoC

- ALSA: Au1xpsc: psc not disabled when TX is idle
TX idleness isn't tested, but RX twice. PSC is not disabled when TX is idle
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] CMI8330 driver

- ALSA: wss_lib: use struct snd_wss instead of snd_ad1848
The snd_wss is superset of the snd_ad1848 so kill
the latter and replace it with the snd_wss.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: wss_lib: use wss constants instead of ad1848 ones
Use wss constants for mode.
Move ad1848 hardware constants to the wss.h.
Move mixer tlv macros into the ad1848_lib.c from the ad1848.h.
Drop the MODE_RUNNING spurious IRQ guard on AD1848 as it doesn not seem
to be needed.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: wss_lib: replace ad1848 mixer element macros with wss ones
Use the wss macros instead of ad1848 ones.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: wss_lib: use wss pcm code instead of ad1848 one
Use the wss pcm code and kill the ad1848 pcm code.
The AD1848 chip is much slower than CS4231 chips
so the waiting loop was increased 100x (10x is not
enough).
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: wss_lib: use wss detection code instead of ad1848 one
Use the wss detection code and kill the ad1848 library.
The library is fully assimilated into the new wss library.
This required reworking of the AD1848 family code
so the code is changed to correctly detect chips from
the AD1848 and CS4231 families.
I have tested it on following cards:
Gallant SC-6600 (codec: AD1848, driver: snd-sc6600)
SoundScape VIVO/90 (codec: AD1845, driver: snd-sscape)
SG Waverider (codec: CS4231A, driver: Rene Herman's snd-galaxy)
Opti930 (codec: built-in - CS4231 compatible, driver: snd-opti93x)
Opti931 (codec: built-in - CS4231 compatible, driver: snd-opti93x)
Gallant SC-70P (chip/codec: CS4237B, driver: snd-cs4236)
Audio Plus 3D (chip/codec: CMI8330A, driver: snd-cmi8330)
Dell Latitude CP (chip/codec: cs4236, driver snd-cs4232)
Sound playback and recording works on all these cards.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] CMI8788 (Oxygen) driver

- ALSA: virtuoso: add Xonar D1 support
Add support for the Asus Xonar D1. It is the same as the DX, but
without the external power detection.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>

[edit] CS4231 driver

- Add build stub for new wss_lib
Also remove obsolete files.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: wss_lib: move cs4231_lib into wss_lib
Move the file sound/isa/cs423x/cs4231_lib.c
into sound/isa/cs423x/wss_lib.c
This is the first step toward merging all libraries
for Windows Sound System compatible chips
into a single library.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: wss_lib: rename cs4231.h into wss.h
Rename file include/sound/cs4231.h
into include/sound/wss.h
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: wss_lib: rename cs4321_foo to wss_foo
Rename functions and structures from the former
cs4321_lib to names more corresponding with the
new name: wss_lib.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] CS4236+ driver

- ALSA: cs4232: f