Commit Graph

243 Commits

Author SHA1 Message Date
Takashi Iwai
c2b1239a9f [ALSA] wavefront - Use standard firmware loader
Use the standard firmware loader for loading ICS2115 OS firmware file.
This is the last old bad guy that is still using sys_open() and sys_read()
calls, and now all should be gone.
The patch also adds the missing description of module options related
with wavefront_synth.c.
Due to this rewrite, user will have to copy or make symlink the firmware
file appropriately to the standard firmware path such as /lib/firmware.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:22 +02:00
Clemens Ladisch
b83f346bc4 [ALSA] remove incorrect usage of SNDRV_PCM_INFO_SYNC_START and snd_pcm_set_sync()
Set the SNDRV_PCM_INFO_SYNC_START flag and the substream's sync ID
(only) if the substream actually can be linked to another one.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:58:52 +02:00
Krzysztof Helt
ab9914f840 [ALSA] isa libs Makefiles cleanup
This patch uses the Kconfig parameters SND_AD1848_LIB and
SND_CS4231_LIB instead of mentioning each driver that requires
the ad1848-lib or cs4231-lib separately in the Makefiles.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:58:38 +02:00
Rene Herman
4848ffe520 [ALSA] add the ESS1879 pnpbios ID to the es18xx driver
As reported by Troy Heidner, the 'Gateway Solo 5150' laptop (for one) has an
onboard ESS1879 that identifies itself through PNPBIOS as just that. He also
confirmed that other than not knowing about it, snd-es18xx drives the chip
fine, so this adds the ID to the driver.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:58:21 +02:00
Paul Vojta
e2340465ec [ALSA] Fix bugs in mode change/recalibration for opl3sa2 driver
The mode change / recalibration doesn't work always with opl3sa2 devices,
e.g. the first time it's played back.  The patch fixes the problem.

Signed-off-by: Paul Vojta <vojta@math.berkeley.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:58:08 +02:00
Takashi Iwai
a5ce88909d [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks
Clean up codes using the new common snd_ctl_boolean_*_info() callbacks.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:57:45 +02:00
Adrian Bunk
706568967c [ALSA] fix SND_CS5530=y, ISA=n compilation
This patch fixes the following compile error with
CONFIG_SND_CS5530=y, CONFIG_ISA=n:
<--  snip  -->
...
  LD      .tmp_vmlinux1
sound/built-in.o: In function 'snd_sb16_capture_trigger':
sb16_main.c:(.text+0x212ad): undefined reference to 'snd_sbdsp_command'
sb16_main.c:(.text+0x212cc): undefined reference to 'snd_sbdsp_command'
sb16_main.c:(.text+0x212f7): undefined reference to 'snd_sbdsp_command'
sound/built-in.o: In function 'snd_sb16_playback_trigger':
sb16_main.c:(.text+0x2136d): undefined reference to 'snd_sbdsp_command'
sb16_main.c:(.text+0x2138c): undefined reference to 'snd_sbdsp_command'
...
<--  snip  -->

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:49 +02:00
Paul Vojta
4700418cfc [ALSA] opl3sa2 - Add Neomagic MagicWave 3D ISA PnP ID
Add Neomagic MagicWave 3D to list of supported devices for opl3sa2
driver.

Signed-off-by: Paul Vojta <vojta@math.berkeley.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:41 +02:00
Takashi Iwai
e65365de5b [ALSA] Fix invalid schedule_timeout_interruptible()
Fixed the invalid use of schedule_timeout_interruptible() without
checking pending signals.  Simply replaced with schedule_timeout().
Suggestions thanks to Jeff Garzik.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:36 +02:00
Takashi Iwai
dda369cf20 [ALSA] Fix SB-module dependency with PCI drivers
A few PCI drivers like ALS4000 and CS5530 require the SB16-codes.
This patch fixes / improves the dependency between SB modules and
PCI drivers.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:21 +02:00
Takashi Iwai
621887aee9 [ALSA] Add support for Cyrix/NatSemi Geode CS5530 (VSA1)
Add support for Cyrix/NatSemi Geode SC5530 (VSA1).
The driver is snd-cs5530.
Signed-off-by Ash Willis <ashwillis@programmer.net>

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:19 +02:00
Takashi Iwai
101f6f4ba7 [ALSA] Fix unfreed pnp driver in opti9xx ISA driver
- Added the missing pnp_unregister_card_driver() in the case ISA PnP
  isn't found, which caused an error at kobject_add with -EEXIST
   Jun 11 09:07:31 rain kernel: kobject_add failed for opti9xx with -EEXIST, don't try to register things with the same name in the same directory.
   Jun 11 09:07:31 rain kernel:  [<c01c18fa>] kobject_shadow_add+0x12a/0x1c0
   Jun 11 09:07:31 rain kernel:  [<c01c1a81>] kobject_register+0x21/0x50
   Jun 11 09:07:31 rain kernel:  [<c01f09a2>] bus_add_driver+0x72/0x1b0
   Jun 11 09:07:31 rain kernel:  [<c01d3dff>] pnp_register_card_driver+0x4f/0xc0
   Jun 11 09:07:31 rain kernel:  [<c89bc00a>] alsa_card_opti9xx_init+0xa/0x25 [snd_opti92x_ad1848]
   Jun 11 09:07:31 rain kernel:  [<c0136947>] sys_init_module+0x157/0x1610
   Jun 11 09:07:31 rain kernel:  [<c01029b4>] syscall_call+0x7/0xb
- Fixed the probe behavior when no PnP is set up.  Now it behaves
  like the former version.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:13 +02:00
Randy Dunlap
ea7fc3336b ALSA: use __devexit_p
Change __devexit to __devexit_p:
sound/isa/opl3sa2.c:956: error: expected expression before '__attribute__'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-28 11:34:54 -07:00
Rene Herman
609d769415 [ALSA] Fix probe of non-PnP ISA devices
isa_register_driver() returns an error if no device is found
and it's no fatal error for the drivers with pnp support.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-16 12:22:44 +02:00
David Rientjes
2393144dea [ALSA] wavefront: only declare isapnp on CONFIG_PNP
From: David Rientjes <rientjes@google.com>
isapnp[] is only used for CONFIG_PNP.  If this configuration option is
not set, do not declare the array.
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Takashi Iwai <tiwai@suse.de>

Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:15 +02:00
Clemens Ladisch
7e0af29d6f [ALSA] add MODULE_FIRMWARE entries
Add MODULE_FIRMWARE() entries, where appropriate.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:14 +02:00
Clemens Ladisch
1327e2b859 [ALSA] do not depend on FW_LOADER when internal firmware images are used
Since request_firmware() is no longer used when the internal firmware
images are used, it is no longer necessary to depend on FW_LOADER in
this case.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:14 +02:00
Takashi Iwai
b7dd2b349a [ALSA] Don't use request_firmware if internal firmwares are defined
Don't use request_firmware() if the internal firmwares are defined
via Kconfig.  Otherwise it results in a significant delay at loading
time (minutes).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:11 +02:00
Rene Herman
83c51c0ab0 [ALSA] isa_bus device/driver naming
isa_bus: delete snd_ prefix from the (sysfs visible) device/driver names.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:50 +02:00
Rask Ingemann Lambertsen
2944275b14 [ALSA] ad1816a: Fix modprobe snd_mpu401 && modprobe snd_ad1816a
The ad1816a driver fails if the mpu401 driver has been loaded first. This
patch against linux 2.6.20 fixes it by just ignoring the MPU-401 device in
that case, so that the rest of the sound card can be used. The ad1816a
driver already handles the MPU-401 device being unavailable due to lack of
resources in the same way.

Signed-off-by: Rask Ingemann Lambertsen <rask@sygehus.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:49 +02:00
Clemens Ladisch
d65b790adb [ALSA] Kconfig: clarify help text for external firmware entries
The external firmware files are not in the alsa-plugins but in the
alsa-firmware package.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:46 +02:00
Clemens Ladisch
badec46ddf [ALSA] Kconfig: fix FW_LOADER dependencies
Move the FW_LOADER dependencies out of the *_FIRMWARE_IN_KERNEL entries
because these drivers use the firmware loader regardless of whether
there is an in-kernel firmware image.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:46 +02:00
Takashi Iwai
8ad2da1937 [ALSA] Enable Kconfig options for external firmwares
Some drivers are already ifdefs for enabling external firmwares
but not defined in Kconfig.  Now they appear as the kernel configs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:43 +02:00
Takashi Iwai
ef991b95aa [ALSA] Add snd_pcm_group_for_each_entry() for code cleanup
Added a new macro snd_pcm_group_for_each_entry() just for code cleanup.
Old macros, snd_pcm_group_for_each() and snd_pcm_group_substream_entry(),
are removed.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:42 +02:00
Takashi Iwai
5e24c1c1c4 [ALSA] Port the rest of ALSA ISA drivers to isa_driver
Port the rest of ALSA ISA drivers to use isa_driver framework
instead of platform_driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:40 +02:00
Rene Herman
442f4f36be [ALSA] gusextreme: set codec_flag
The gusextreme driver neglects to set the gus->codec_flag meaning
snd_gf1_pcm_new() allocates a second 'PCM Playback Volume' control,
which makes the driver fail to load.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:40 +02:00
Rene Herman
b44dfe1a4a [ALSA] isa_bus: gusextreeme
gusextreme: port to isa_bus infrastructure

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:40 +02:00
Rene Herman
93f02c6e7e [ALSA] isa_bus: gusclassic
gusclassic: port to isa_bus infrastructure

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:39 +02:00
Rene Herman
019608b637 [ALSA] es1688 - code clean-up
Seperate out the legacy probing into its own function, improving
readability.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:39 +02:00
Rene Herman
ae5961869c [ALSA] isa_bus: es1688
es1688: port to isa_bus infrastructure. very slight reorganization of
the auto-probe code to be a bit easier on the eye (if not the senses).

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:38 +02:00
Rene Herman
d63898c9d4 [ALSA] isa_bus: cs4231
cs4231: port to isa_bus infrastructure.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:38 +02:00
Rene Herman
ab7942b202 [ALSA] isa_bus: adlib
adlib: port to isa_bus infrastructure.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:38 +02:00
Rene Herman
e2759e3366 [ALSA] isa_bus: ad1848
ad1848: port to isa_bus infrastructure

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:38 +02:00
Linus Torvalds
724339d76d Merge branch 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa
* 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa:
  [ALSA] version 1.0.14rc2
  [ALSA] Fix a typo in __dev* changes in portman2x4.c
  [ALSA] Change AT91 PDC register defines for 2.6.20 kernel
  [ALSA] SoC codecs - fix Kconfig - depends -> depends on
  [ALSA] Fix __devinit and __devexit issues with sound drivers
  [ALSA] hda-codec - Patch for enabling LFE on more Dell laptops
  [ALSA] hda-codec - More fixes for Conexant HD Audio support
  [ALSA] usb-audio: add PCR-A PCM support
  [ALSA] emu10k1: fix typo
  [ALSA] usbaudio - remove urb->bandwidth reference
  [ALSA] ac97 - Fix silent output problem with Cx20551 codec
  [ALSA] hda-codec - Fix Oops with probing sigmatel codec chips
2007-02-14 09:51:20 -08:00
Tim Schmielau
cd354f1ae7 [PATCH] remove many unneeded #includes of sched.h
After Al Viro (finally) succeeded in removing the sched.h #include in module.h
recently, it makes sense again to remove other superfluous sched.h includes.
There are quite a lot of files which include it but don't actually need
anything defined in there.  Presumably these includes were once needed for
macros that used to live in sched.h, but moved to other header files in the
course of cleaning it up.

To ease the pain, this time I did not fiddle with any header files and only
removed #includes from .c-files, which tend to cause less trouble.

Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
configs in arch/arm/configs on arm.  I also checked that no new warnings were
introduced by the patch (actually, some warnings are removed that were emitted
by unnecessarily included header files).

Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-14 08:09:54 -08:00
Prarit Bhargava
788c604333 [ALSA] Fix __devinit and __devexit issues with sound drivers
Fix __devinit and __devexit issues with sound drivers.
Resolves MODPOST warnings similar to:
WARNING: sound/drivers/snd-dummy.o - Section mismatch: reference to .init.text:snd_dummy_probe from .data.rel.local between 'snd_dummy_driver' (at offset 0x0) and 'snd_dummy_controls'
WARNING: sound/drivers/snd-mtpav.o - Section mismatch: reference to .init.text:snd_mtpav_probe from .data.rel.local between 'snd_mtpav_driver' (at offset 0x0) and 'snd_mtpav_input'
WARNING: sound/drivers/snd-virmidi.o - Section mismatch: reference to .init.text:snd_virmidi_probe from .data.rel.local after 'snd_virmidi_driver' (at offset 0x0)

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-14 08:38:28 +01:00
Takashi Iwai
0cb29ea0d4 [ALSA] Add even more 'const' to everything related to TLV
Mark TLV data as 'const'
Signed-of-by: Philipp Matthias Hahn <pmhahn@pmhahn.de>

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:03:19 +01:00
Peter Eriksen
377a4f7ea3 [ALSA] sound/isa/gus/gus_main.c: Use abs() instead of x < 0 ? -x : x.
Signed-off-by: Peter Eriksen <s022018@student.dtu.dk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:03:13 +01:00
Clemens Ladisch
226968c7af [ALSA] wavefront: add request_firmware()
Load the YSS225 register initialization data using request_firmware(),
if possible, instead of using the built-in data blob.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:16 +01:00
Clemens Ladisch
59540fe859 [ALSA] wavefront: simplify YSS225 register initialization
Instead of using a somewhat algorithmic approach of initializing the
YSS225's registers, just use a simple series of port/value pairs.
This makes it easier to later replace or entirely remove the register
data blob.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:15 +01:00
Clemens Ladisch
de66d53e46 [ALSA] sb16: add request_firmware()
Load the CSP programs using request_firmware(), if possible, instead of
using the built-in firmware blobs.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:14 +01:00
Takashi Iwai
437a5a4606 [ALSA] Remove IRQF_DISABLED for shared PCI irqs
Fix IRQ flags for PCI devices.
The shared IRQs for PCI devices shouldn't be allocated with
IRQF_DISABLED.  Also, when MSI is enabled, IRQF_SHARED shouldn't
be used.
The patch removes unnecessary cast in request_irq and free_irq,
too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-12-20 08:55:57 +01:00
Clemens Ladisch
7ab399262e [ALSA] use the ALIGN macro
Use the ALIGN macro instead of manual calculations.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-12-20 08:55:36 +01:00
Takashi Iwai
c9949452f2 [ALSA] Fix dependency of snd-adlib driver in Kconfig
Added the missing dependency on CONFIG_SND for snd-adlib driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-10-22 10:51:10 +02:00
Amit Choudhary
5019f75ea1 [ALSA] sound/isa/opti9xx/opti92x-ad1848.c: check kmalloc() return value
Check the return value of kmalloc() in function snd_card_opti9xx_pnp(),
in file sound/isa/opti9xx/opti92x-ad1848.c.

Signed-off-by: Amit Choudhary <amit2030@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-10-22 10:51:07 +02:00
Amit Choudhary
b1e8a791c7 [ALSA] sound/isa/ad1816a/ad1816a.c: check kmalloc() return value
Check the return value of kmalloc() in function snd_card_ad1816a_pnp(),
in file sound/isa/ad1816a/ad1816a.c.

Signed-off-by: Amit Choudhary <amit2030@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-10-22 10:51:06 +02:00
Amit Choudhary
fbdbb2205a [ALSA] sound/isa/cmi8330.c: check kmalloc() return value
Check the return value of kmalloc() in function snd_cmi8330_pnp(),
in file sound/isa/cmi8330.c.

Signed-off-by: Amit Choudhary <amit2030@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-10-22 10:51:05 +02:00
Amit Choudhary
4a81a21b60 [ALSA] sound/isa/gus/interwave.c: check kmalloc() return value
Check the return value of kmalloc() in function snd_interwave_pnp(),
in file sound/isa/gus/interwave.c.

Signed-off-by: Amit Choudhary <amit2030@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-10-22 10:51:02 +02:00
Jeff Garzik
5d347c8aba Merge branch 'submit1' of viper:/spare/repo/irq-remove-2.6 into irqcleanups 2006-10-06 15:27:31 -04:00
Jeff Garzik
c7bec5aba5 Various drivers' irq handlers: kill dead code, needless casts
- Eliminate casts to/from void*

- Eliminate checks for conditions that never occur.  These typically
  fall into two classes:

	1) Checking for 'dev_id == NULL', then it is never called with
	NULL as an argument.

	2) Checking for invalid irq number, when the only caller (the
	system) guarantees the irq handler is called with the proper
	'irq' number argument.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-10-06 15:00:58 -04:00
Eric Sesterhenn
92b93d3171 [ALSA] Fix memory leak in sound/isa/es18xx.c
Fixed a memory leak in the error patch.

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-10-06 20:22:58 +02:00
David Howells
7d12e780e0 IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
of passing regs around manually through all ~1800 interrupt handlers in the
Linux kernel.

The regs pointer is used in few places, but it potentially costs both stack
space and code to pass it around.  On the FRV arch, removing the regs parameter
from all the genirq function results in a 20% speed up of the IRQ exit path
(ie: from leaving timer_interrupt() to leaving do_IRQ()).

Where appropriate, an arch may override the generic storage facility and do
something different with the variable.  On FRV, for instance, the address is
maintained in GR28 at all times inside the kernel as part of general exception
handling.

Having looked over the code, it appears that the parameter may be handed down
through up to twenty or so layers of functions.  Consider a USB character
device attached to a USB hub, attached to a USB controller that posts its
interrupts through a cascaded auxiliary interrupt controller.  A character
device driver may want to pass regs to the sysrq handler through the input
layer which adds another few layers of parameter passing.

I've build this code with allyesconfig for x86_64 and i386.  I've runtested the
main part of the code on FRV and i386, though I can't test most of the drivers.
I've also done partial conversion for powerpc and MIPS - these at least compile
with minimal configurations.

This will affect all archs.  Mostly the changes should be relatively easy.
Take do_IRQ(), store the regs pointer at the beginning, saving the old one:

	struct pt_regs *old_regs = set_irq_regs(regs);

And put the old one back at the end:

	set_irq_regs(old_regs);

Don't pass regs through to generic_handle_irq() or __do_IRQ().

In timer_interrupt(), this sort of change will be necessary:

	-	update_process_times(user_mode(regs));
	-	profile_tick(CPU_PROFILING, regs);
	+	update_process_times(user_mode(get_irq_regs()));
	+	profile_tick(CPU_PROFILING);

I'd like to move update_process_times()'s use of get_irq_regs() into itself,
except that i386, alone of the archs, uses something other than user_mode().

Some notes on the interrupt handling in the drivers:

 (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in
     the input_dev struct.

 (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does
     something different depending on whether it's been supplied with a regs
     pointer or not.

 (*) Various IRQ handler function pointers have been moved to type
     irq_handler_t.

Signed-Off-By: David Howells <dhowells@redhat.com>
(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
2006-10-05 15:10:12 +01:00
Josef 'Jeff' Sipek
d158da81ee [ALSA] gus: Use SEEK_{SET,CUR,END} instead of hardcoded values
gus: Use SEEK_{SET,CUR,END} instead of hardcoded values

Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:47:52 +02:00
Takashi Iwai
a1c7a7d890 [ALSA] Add dB scale information to opl3sa2 driver
Added the dB scale information to opl3sa2 driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:43:33 +02:00
Takashi Iwai
eac06a10d2 [ALSA] Add dB scale information to ad1848 driver
Added the dB scale information to ad1848 driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:43:28 +02:00
Takashi Iwai
0e7febf158 [ALSA] Add dB scale information to ad1816a driver
Added the dB scale information to ad1816a driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:43:23 +02:00
Ondrej Zary
1c39855804 [ALSA] es18xx - Add PnP BIOS support
This patch adds PnP BIOS support to es18xx driver. It allows ESS ES18xx sound 
chips integrated in some notebooks (such as DTK FortisPro TOP-5A) that don't 
appear as ISA cards (they aren't recognized by ISA PnP, only by PnP BIOS) 
to 'just work' automatically.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:39:46 +02:00
Randy Dunlap
d2a5b9d45f [ALSA] Fix undefined (missing) references in ISA MIRO sound driver
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko
needs unknown symbol snd_cs4231_create
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko
needs unknown symbol snd_cs4231_pcm
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko
needs unknown symbol snd_cs4231_timer
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko
needs unknown symbol snd_cs4231_mixer
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/fs/reiser4/reiser4.ko needs
unknown symbol generic_file_read

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-07-12 20:08:15 +02:00
Adrian Bunk
d35367e1cb [ALSA] make sound/isa/gus/gusextreme.c:devices static
'devices' is not a good name for a global variable.
Thankfully, it can become static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-07-12 20:08:12 +02:00
Clemens Ladisch
40e1a9c0d4 [ALSA] wavefront: fix __init/__devinit confusion
The wavefront driver used __init in some places referenced by __devinit
functions.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-07-12 20:07:48 +02:00
Thomas Gleixner
65ca68b300 [PATCH] irq-flags: sound: Use the new IRQF_ constants
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Jaroslav Kysela <perex@suse.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-02 13:58:54 -07:00
Greg Kroah-Hartman
aa0a2ddc54 [PATCH] 64bit resource: fix up printks for resources in sound drivers
This is needed if we wish to change the size of the resource structures.

Based on an original patch from Vivek Goyal <vgoyal@in.ibm.com>

Cc: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-27 09:23:58 -07:00
Jesper Juhl
63eb1e4bd2 [ALSA] fix potential NULL pointer deref in snd_sb8dsp_midi_interrupt()
First testing if a pointer is NULL and if it is (or might be), proceeding
with code that dereferences that same pointer is clearly a mistake.
This happens in sound/isa/sb/sb8_midi.c::snd_sb8dsp_midi_interrupt()
The patch below reworks the code so this unfortunate case doesn't happen.
Also remove some blank comments.
Found by the Coverity checker as bug #367
Patch is compile testted only due to lack of hardware.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:34:22 +02:00
Takashi Iwai
2e74eba3e2 [ALSA] Fix invalid __init in ALSA ISA drivers
Replaced invalid __init with __devinit in snd-sbawe and snd-opl3sa2
drivers.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:34:17 +02:00
Takashi Iwai
302e4c2f9e [ALSA] Change an arugment of snd_mpu401_uart_new() to bit flags
Change the 5th argument of snd_mpu401_uart_new() to bit flags
instead of a boolean.  The argument takes bits that consist of
MPU401_INFO_XXX flags.
The callers that used the value 1 there are replaced with
MPU401_INFO_INTEGRATED.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:33:56 +02:00
Takashi Iwai
6581f4e74d [ALSA] Remove zero-initialization of static variables
Removed zero-initializations of static variables.
A tiny optimization.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:33:45 +02:00
Clemens Ladisch
450047a78f [ALSA] add more sequencer port type information bits
Add four new information flags SNDRV_SEQ_PORT_TYPE_HARDWARE, _SOFTWARE,
_SYNTHESIZER, _PORT for sequencer ports.  This makes it easier for apps
like Rosegarden to make policy decisions based on the port type.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-06-22 21:33:18 +02:00
Takashi Iwai
bf850204a7 [ALSA] Remove unneeded read/write_size fields in proc text ops
Remove unneeded read/write_size fields in proc text ops.
snd_info_set_text_ops() is fixed, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:33:09 +02:00
Andrew Morton
1caef6aa97 [PATCH] es18xx build fix
sound/isa/es18xx.c: In function `snd_es18xx_identify':
sound/isa/es18xx.c:1606: warning: implicit declaration of function `udelay'

Cc: Jaroslav Kysela <perex@suse.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-05-21 12:59:22 -07:00
Takashi Iwai
c128b82cf4 [ALSA] Fix double free in error path of miro driver
Fixed the double free in error path of miro driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-27 21:10:17 +02:00
Rene Herman
dcccdd938e [ALSA] unregister platform device again if probe was unsuccessful
Unregister the platform device again if the probe was unsuccessful.

This restores the behaviour of not loading the driver on probe() failure.

Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-12 11:55:32 +02:00
Rene Herman
d0ac642d76 [ALSA] continue on IS_ERR from platform device registration
Continue with the next one on error from device registration.

This would seem the correct thing to do, even if it's not the probe()
error that we're getting.

Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-12 11:55:30 +02:00
Rene Herman
cf40a310a7 [ALSA] AdLib FM card driver
Attached you'll find an ALSA driver for AdLib FM cards. An AdLib card is
just an OPL2, which was already supported by sound/drivers/opl3, so only
very minimal bus-glue is needed. The patch applies cleanly to both
2.6.16 and 2.6.16-mm1.

The driver has been tested with an actual ancient 8-bit ISA AdLib card
and works fine. It also works fine for an OPL3 {,emulation} as still
found on many ISA soundcards but given that AdLib cards don't have their
own mixer, upping the volume from 0 might be a problem without the card
driver already loaded and driving the OPL3.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31 17:58:59 +02:00
Rene Herman
82756b2785 [ALSA] ISA drivers bailing on first !enable[i]
Fix the wrong check of enable option in cmi8330 driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31 17:58:58 +02:00
Takashi Iwai
10d150e186 [ALSA] Remove obsolete kfree_nocheck call
Fixed the compilation, removing obsolete kfree_nocheck() call
for memory debugging.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31 17:58:58 +02:00
Martin Langer
1841f613fd [ALSA] Add snd-miro driver
Added snd-miro driver for miroSOUND PCM by Martin Langer.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31 17:58:56 +02:00
Bjorn Helgaas
c94ded6e60 [PATCH] PNP: adjust pnp_register_card_driver() signature: wavefront
Remove the assumption that pnp_register_card_driver() returns the
number of devices claimed.  And fix some __init/__devinit issues.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:55 -08:00
Bjorn Helgaas
3812595644 [PATCH] PNP: adjust pnp_register_card_driver() signature: sscape
Remove the assumption that pnp_register_card_driver() returns the
number of devices claimed.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:54 -08:00
Bjorn Helgaas
312fef308c [PATCH] PNP: adjust pnp_register_card_driver() signature: sb16
Remove the assumption that pnp_register_card_driver() returns the
number of devices claimed.  And fix some __init/__devinit issues.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:54 -08:00
Bjorn Helgaas
ebdb71ea7b [PATCH] PNP: adjust pnp_register_card_driver() signature: interwave
Remove the assumption that pnp_register_card_driver() returns the
number of devices claimed.  And fix some __init/__devinit issues.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:54 -08:00
Bjorn Helgaas
6a3a3a0260 [PATCH] PNP: adjust pnp_register_card_driver() signature: es968
Remove the assumption that pnp_register_card_driver() returns the
number of devices claimed.  And fix some __init/__devinit issues.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:54 -08:00
Bjorn Helgaas
fea9739f2a [PATCH] PNP: adjust pnp_register_card_driver() signature: es18xx
Remove the assumption that pnp_register_card_driver() returns the
number of devices claimed.  And fix some __init/__devinit issues.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:54 -08:00
Bjorn Helgaas
6736a6587b [PATCH] PNP: adjust pnp_register_card_driver() signature: dt019x
Remove the assumption that pnp_register_card_driver() returns the
number of devices claimed.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:54 -08:00
Bjorn Helgaas
07d58ad06b [PATCH] PNP: adjust pnp_register_card_driver() signature: cmi8330
Remove the assumption that pnp_register_card_driver() returns the
number of devices claimed.  And fix some __init/__devinit issues.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:54 -08:00
Bjorn Helgaas
db2735eb90 [PATCH] PNP: adjust pnp_register_card_driver() signature: azt2320
Remove the assumption that pnp_register_card_driver() returns the
number of devices claimed.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:53 -08:00
Bjorn Helgaas
51427ec0f2 [PATCH] PNP: adjust pnp_register_card_driver() signature: als100
Remove the assumption that pnp_register_card_driver() returns the
number of devices claimed.  And fix a __init/__devinit issue.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:53 -08:00
Bjorn Helgaas
5f53f4e210 [PATCH] PNP: adjust pnp_register_card_driver() signature: ad1816a
Remove the assumption that pnp_register_card_driver() returns the
number of devices claimed.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:53 -08:00
Bjorn Helgaas
8c59c4a221 [PATCH] pnp: opl3sa2: adjust pnp_register_driver signature
Remove the assumption that pnp_register_driver() returns the number of devices
claimed.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:53 -08:00
Bjorn Helgaas
ed7cb19131 [PATCH] pnp: cs4236: adjust pnp_register_driver signature
Remove the assumption that pnp_register_driver() returns the number of devices
claimed.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:53 -08:00
Eugene Teo
d61975fc6b [ALSA] Fix gus_pcm dereference before NULL
Modules: GUS Library

The NULL check of substream is simply superfluous. It is
guaranteed to receive non-NULL substream. Thanks Takashi.

Coverity bug #861

Signed-off-by: Eugene Teo <eugene.teo@eugeneteo.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:39:25 +01:00
Adrian Bunk
202728d783 [ALSA] fix some memory leaks
Modules: Generic drivers,ES18xx driver,CS46xx driver

This patch fixes two memory leaks spotted by the Coverity checker.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:38:23 +01:00
Dave Jones
3de4414e79 [ALSA] ad1848 double free
Modules: AD1848 driver

Same again, snd_ctl_add() already kfree's on error.

Coverity #956

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:36:08 +01:00
Dave Jones
bcc54f9a56 [ALSA] sound/isa/sb/sb_mixer.c double kfree
Modules: SB drivers

snd_ctl_add() already does the free on error.

Coverity bug #957

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:35:57 +01:00
Takashi Iwai
0bbbc4ca7e [ALSA] opti9x - Fix compile without CONFIG_PNP
Modules: Opti9xx drivers

Fix compile errors without CONFIG_PNP.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:31:40 +01:00
Takashi Iwai
a5a6bbd9b2 [ALSA] cs4236 - Fix a typo
Modules: CS4236+ driver

Fixed a typo in snd_cs4236_put_master_digital(), resulting in silence
right channel.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:31:37 +01:00
Takashi Iwai
8278ca8feb [ALSA] Fix check of enable module option
Fix the check of enable module option in probe of platform_device drivers.
It shouldn't break the loop but just ignore if enable[i] is false.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:30:43 +01:00
Ken Arromdee
d08a23e250 [ALSA] ad1816a - Fix PCM trigger direction
Modules: AD1816A driver

Fixed the bug of capture with Shark Predator ISA resulting in:
	arecord: pcm_read:1196: read error: Input/output error

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:28:58 +01:00
Ingo Molnar
8b7547f95c [ALSA] semaphore -> mutex (ISA part)
Semaphore to mutex conversion.

The conversion was generated via scripts, and the result was validated
automatically via a script as well.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:25:03 +01:00
Mark Salazar
95b712965f [ALSA] #4/4 for Zoom Video - add Zoom Video support
Modules: ES18xx driver

Forth of 4 es18xx.c patches culminating in Zoom Video support.

This patch adds Zoom Video support for those chipsets that support it.

Testing:
This work was initially done on the source from the Debian Sarge ALSA
package, then tested
on an ES1879. I could not test the Zoom Video function for an ES1878 or
ES1869.
Patches were created against the Sarge code and then edited to apply
correctly to the
ALSA cvs code. Lastly the patched ALSA cvs code was test for successful
compilation.
No additional testing was done on the ALSA cvs version.

One quirk (noted in my comments below) is that apparently the datasheet
is wrong
for one of the ES1879 Zoom Video 'enable' bits, because
 1) if you set this bit it messes up PCM playback (speaker_test play a
lower frequency)
 2) even if you don't set this bit Zoom Video still works.
I added a control to toggle the bit on just in case there might be a
version of the
ES1879 that requires it, but I expect noone will need it.

Signed-off-by: Mark Salazar <markTheCoder@justmyself.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:24:17 +01:00
Mark Salazar
14086771c0 [ALSA] #3/4 for Zoom Video - change Hardware Volume interrupt handling
Modules: ES18xx driver

Third of 4 es18xx.c patches culminating in Zoom Video support.

This patch changes the Hardware Volume support to reflect the fact that
not all of the
supported chipsets have seperate registers dedicated to the Hardware
Volume inputs. Although
all the chipsets can generate an HWV interrupt whenever a Hardware
Volume input is received
only those with seperate HWV registers can split the HWV registers from
the Master volume
registers.

Testing:
This work was initially done on the source from the Debian Sarge ALSA
package, then tested
on an ES1879 and an ES1878 machine. Patches were created against the
Sarge code and then edited
to apply correctly to the ALSA cvs code. Lastly the patched ALSA cvs
code was test for
successful compilation. No additional testing was done on the ALSA cvs
version.

Signed-off-by: Mark Salazar <markTheCoder@justmyself.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:24:08 +01:00