Commit graph

322 commits

Author SHA1 Message Date
Julia Lawall
fcb2954b96 ALSA: sound/isa: convert nested spin_lock_irqsave to spin_lock
If spin_lock_irqsave is called twice in a row with the same second
argument, the interrupt state at the point of the second call overwrites
the value saved by the first call.  Indeed, the second call does not need
to save the interrupt state, so it is changed to a simple spin_lock.

The semantic match that finds this problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
expression lock1,lock2;
expression flags;
@@

*spin_lock_irqsave(lock1,flags)
... when != flags
*spin_lock_irqsave(lock2,flags)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-19 14:02:29 +02:00
Ondrej Zary
c2a30d7118 ALSA: cmi8330: fix MPU-401 PnP init copy&paste bug
Fix copy&paste bug in PnP MPU-401 initialization.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-29 08:06:10 +02:00
Takashi Iwai
4ef279205a Merge branch 'topic/seq-kconfig-cleanup' into for-linus
* topic/seq-kconfig-cleanup:
  ALSA: clean up the logic for building sequencer modules
2009-06-10 07:26:48 +02:00
Takashi Iwai
1282c824cc Merge branch 'topic/section-fix' into for-linus
* topic/section-fix:
  ALSA: Add missing __devexit_p() markers
  ALSA: powermac - Replace the rest of __init*
  ALSA: sound/ppc: update annotations of serveral functions
2009-06-10 07:26:46 +02:00
Takashi Iwai
45d60e3648 Merge branch 'topic/sc6000' into for-linus
* topic/sc6000:
  ALSA: sc6000: enable joystick port
  ALSA: sc6000: fix older card initialization
  ALSA: sc6000: add support for SC-6600 and SC-7000
2009-06-10 07:26:45 +02:00
Jean Delvare
82ced6fd28 ALSA: Add missing __devexit_p() markers
3 ISA sound drivers lack their __devexit_p() markers, which would
cause build failures when the kernel is built without hotplug support.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-04 10:52:16 +02:00
Michal Marek
0528c7494e ALSA: clean up the logic for building sequencer modules
Instead of mangling the CONFIG_* variables in the makefiles over and
over, set a few helper variables in Kconfig.

Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-29 11:49:42 +02:00
Krzysztof Helt
b0ec3a30bc ALSA: sc6000: enable joystick port
Add module parameter to enable or disable
joystick port (gameport) on the SC6600 and
later cards.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-04 09:08:22 +02:00
Takashi Iwai
2008f137e9 ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some drivers
Added SNDRV_PCM_INFO_BATCH flag to PCM info field of some drivers that
really don't give the precise pointer value.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-28 15:06:44 +02:00
Krzysztof Helt
0cfcdedadd ALSA: sc6000: fix older card initialization
The last patch to handle newer cards like SC7000
broke initialization of the SC6000. Fix this.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-24 08:12:06 +02:00
Takashi Iwai
f4723b224d Merge branch 'topic/memdup_user' into for-linus
* topic/memdup_user:
  ALSA: sound/pci: use memdup_user()
  ALSA: sound/usb: use memdup_user()
  ALSA: sound/isa: use memdup_user()
  ALSA: sound/core: use memdup_user()
2009-04-15 11:24:27 +02:00
Krzysztof Helt
c282866101 ALSA: sc6000: add support for SC-6600 and SC-7000
Add support for later cards based on CompuMedia ASC-9408 chipsets.
These cards were produced by Gallant.

This patch make the OSS aedsp16 driver redundant.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-14 13:27:31 +02:00
Li Zefan
68425adcc4 ALSA: sound/isa: use memdup_user()
Remove open-coded memdup_user().

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-14 12:39:23 +02:00
Linus Torvalds
1e17d774db Merge git://git.infradead.org/~dwmw2/firmware-2.6
* git://git.infradead.org/~dwmw2/firmware-2.6:
  qla1280: Fix off-by-some error in firmware loading.
  Add README.AddingFirmware file. Basically telling people not to.
  firmware: Remove newly-added slicoss and sxg firmware images
  firmware/WHENCE: Add missing origin information for Ambassador atmsar11.fw
  ALSA: wavefront - Always use request_firmware()
  Remove fdump tool for av7110 firmware
  firmware: convert av7110 driver to request_firmware()
  Partially revert "V4L/DVB (9533): cx88: Add support for TurboSight TBS8910 DVB-S PCI card"
  Revert "fix modules_install via NFS"

Add-add conflicts in firmware/WHENCE fixed manually
2009-04-10 12:01:22 -07:00
Takashi Iwai
7c7cae17e0 ALSA: wavefront - Always use request_firmware()
Always use request_firmware() for loading yss225_registers image.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-04-06 14:38:43 -07:00
Krzysztof Helt
1661c61555 ALSA: opl3sa2: add ZV port control
Add ZV port control switch.

This patch is done after solution
given in the ALSA bug #2872 report.
The patch resolves the issue.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-06 03:46:17 +02:00
Takashi Iwai
d080732334 Merge branch 'topic/sscape-fix' into for-linus 2009-03-24 00:36:21 +01:00
Takashi Iwai
4c5ecb7e59 Merge branch 'topic/msnd' into for-linus 2009-03-24 00:36:15 +01:00
Takashi Iwai
fa15fdeffa Merge branch 'topic/isa-misc' into for-linus 2009-03-24 00:36:13 +01:00
Takashi Iwai
a3c6048dcf Merge branch 'topic/cs423x-merge' into for-linus 2009-03-24 00:35:59 +01:00
Takashi Iwai
dec14f8c0e Merge branch 'topic/snd_card_new-err' into for-linus 2009-03-24 00:35:35 +01:00
Takashi Iwai
37ba1b6283 Merge branch 'fix/opl3sa2-suspend' into topic/isa-misc 2009-03-17 09:28:13 +01:00
Krzysztof Helt
dde332b660 ALSA: opl3sa2 - Fix NULL dereference when suspending snd_opl3sa2
Fix the OOPS during a opl3sa2 card suspend
and resume if the driver is loaded but the card
is not found.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-17 09:27:47 +01:00
Krzysztof Helt
1713c0d508 ALSA: opl3sa2 fix irq releasing and short name of card
Two simple fixes:

1. Use the same pointer for the free_irq() and
   the request_irq() calls.

2. A short name of card is appended with '2' or '3'
   character depending on a detected chip. Remove
   the '2' character from the short name.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 12:21:01 +01:00
Andreas Mohr
ce71bfd1aa ALSA: ALS4000, slight mixer improvements
- add 8kHz / 20 kHz low-pass filter switch control
- add ALS4000 Mono capture route control
- add annotations to specs pages
- improve ALS4000 PM saved regs selection (remove SB dummy register,
  add missing ones)
- add some missing ALS4000 register defines
- constify two variables

Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 07:47:52 +01:00
Takashi Iwai
cda9043d56 ALSA: cs4236 - Merge snd-cs4236-lib module into snd-cs4236
Since cs4232 and cs4236 drivers are merged, there is no reason to keep
snd-cs4236-lib module separately.  Let's merge it into the main driver
as well.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-17 08:10:54 +01:00
Krzysztof Helt
c2b73d1458 ALSA: cs4236: cs4232 and cs4236 driver merge to solve PnP BIOS detection
cs4232 and cs4236 driver merge to solve PnP BIOS detection.

Also, the patch adds recognition if the chip is cs4236b+
or earlier part. This unifies drivers for both cs4232
and cs4236+ chips. It allows to use the PnP BIOS
detection for the cs4236+ chips. Previously, only
the snd-cs4232 could be detected by the PnP BIOS.

The cs4232+ cards reports two separate PnP BIOS ids.

The patch adds search for the second id to find out
resources assigned to a control port.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-16 23:05:25 +01:00
Takashi Iwai
96cf45cf55 Merge branch 'topic/snd_card_new-err' into topic/cs423x-merge 2009-02-16 23:03:57 +01:00
Takashi Iwai
4c9f1d3ed7 ALSA: isa/*: Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-05 15:48:34 +01:00
Takashi Iwai
91f050604c ALSA: gus - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-05 15:46:48 +01:00
Takashi Iwai
76d498e43f ALSA: wss - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-05 15:45:05 +01:00
Takashi Iwai
5e7476243a ALSA: msnd - Fix build error with CONFIG_PNP=n
sound/isa/msnd/msnd_pinnacle.c:891: error: 'isapnp' undeclared (first use in this function)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-04 18:28:42 +01:00
Krzysztof Helt
453e37b375 ALSA: sscape: drop redundant fields from soundscape struct
The wss_base is disuised parameter for one function.
It is converted to function parameter.

The code_type is only set but never read.
It is removed.

The midi_vol is set only to 0 so it does not work
as detection of change in midi volume. It is fixed.

The xport variable is alias to the port[dev]. Use
the port[dev] directly to increase readability.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-04 17:55:36 +01:00
Krzysztof Helt
5aa13a9409 ALSA: msnd: add module description and license for the snd-msnd-lib
The missing module license generates warning
during module loading.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-02 08:24:36 +01:00
Krzysztof Helt
880abd42d0 ALSA: ess1688: fix OPL3 port setting
The ess1688 driver uses the same port
for PCM audio (SB compatible) and OPL3
synthesis. It is not always right so allow to
choose a different port for OPL3 synthesis.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-30 19:55:37 +01:00
Krzysztof Helt
c97dff84e0 ALSA: cmi8330: add MPU-401 support
Add MPU-401 port support for the chip.
Also, update some error messages and description.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-29 11:47:02 +01:00
Krzysztof Helt
0a898e6e50 ALSA: gus: update debug messages
Convert some of them to snd_printdd() and
update arguments to make them compilable.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-29 11:46:56 +01:00
Krzysztof Helt
56305757f0 ALSA: sscape: update Kconfig description about SoundScape cards
The SoundScape driver handles more cards then described.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-29 11:46:25 +01:00
Takashi Iwai
a5f7c47391 ALSA: enable build of snd-msnd-* drivers
Added the missing msnd directory to Makefile.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-28 09:02:52 +01:00
Krzysztof Helt
f6c6383502 ALSA: Turtle Beach Multisound Classic/Pinnacle driver
This is driver for Turtle Beach Multisound cards:
Classic, Fiji and Pinnacle.

Tested pcm playback and recording and MIDI playback
on Multisound Pinnacle.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-28 07:47:36 +01:00
Krzysztof Helt
a17ac45a5d ALSA: ad1816a: enable hardware timer
Enable hardware timer with 10 usec resolution.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-21 15:12:40 +01:00
Krzysztof Helt
aa9c293ae4 ALSA: do not create OPL3 timers if there is no OPL3 irq wired
Most cards have OPL3 FM synthetiser but
they do not have OPL3 interrupt wired to
a sound chip or CPU.

Do not create OPL3 timers for such cards
as the timers are useless witthout interrupt.

This patch removes OPL3 timers for following
alsa drivers: snd-ad1816a, snd-opti93x,
snd-opti92x, snd-sc6000, snd-cmi8330.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-21 15:11:02 +01:00
Krzysztof Helt
c9864fd30a ALSA: sscape: use common MPU401 macros
Remove local macros which redefines the
common ones.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-21 08:37:04 +01:00
Krzysztof Helt
48972cc510 ALSA: cmi8330: add OPL3 support
Add OPL3 handling to the driver
and volume control for FM synthesis.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-21 08:36:39 +01:00
Krzysztof Helt
9ef344f89a ALSA: wss-lib: remove "pops" before each played sound
A WSS codec is autocalibrated each time before
playing sound. Do only one calibration during
codec initialization.

Complete snd_wss_calibrate_mute to mute loopback
volume as well.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-17 12:02:21 +01:00
Takashi Iwai
b1a0aac05f ALSA: opti9xx - Fix build breakage by snd_card_create() conversion
Add a missing variable declaration.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-14 09:34:06 +01:00
Krzysztof Helt
554b91edec ALSA: sscape: fix incorrect timeout after microcode upload
A comment states that one should wait up to 5 secs
while a waiting loop waits only 5 system ticks.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-13 07:52:24 +01:00
Takashi Iwai
3e7fb9f7ec ALSA: Return proper error code at probe in sound/isa/*
Some drivers in sound/isa/* don't handle the error code properly
from snd_card_create().  This patch fixes these places.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-12 15:21:54 +01:00
Takashi Iwai
c95eadd2f1 ALSA: Convert to snd_card_create() in sound/isa/*
Convert from snd_card_new() to the new snd_card_create() function.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-12 15:20:26 +01:00
Krzysztof Helt
199f797873 ALSA: wss-lib: move AD1845 frequency setting into wss-lib
This is required to allow the sscape driver
to autodetect installed codec.

Also, do not create a timer if detected codec
has no hardware timer (e.g. AD1848).

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Rene Herman
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-11 13:09:05 +01:00