Commit graph

217 commits

Author SHA1 Message Date
Robert P. J. Day
3a4fa0a25d Fix misspellings of "system", "controller", "interrupt" and "necessary".
Fix the various misspellings of "system", controller", "interrupt" and
"[un]necessary".

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
2007-10-19 23:10:43 +02:00
Takashi Iwai
b875d65052 [ALSA] Fix thinko in cs4231 mce down check
The last patches to replace with schedule_timeout() don't work as expected.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:52:12 +02:00
Krzysztof Helt
f81b953d43 [ALSA] This patch adds support for a wavetable chip on
the BTC 1817DW board.
The QS1000 is connected through the digital input
to the Opti931 chip.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16 16:51:28 +02:00
Krzysztof Helt
ca2df45a07 [ALSA] This patch removes open_mutex from the ad1848-lib as
open and close operations are called only from pcm layer
and mutexed there with pcm->open_mutex.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16 16:51:26 +02:00
Ingo Molnar
c2cbdbb158 [ALSA] fix bootup crash in snd_gus_interrupt()
when simulating a storm of fake GUS interrupts (without actually owning
this venerable piece of ISA hardware) the driver falls over (crashes) in
two ways:
1) spinlocks being initialized too late:
INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
 [<401058ca>] show_trace_log_lvl+0x1a/0x30
 [<401064b2>] show_trace+0x12/0x20
 [<401064d6>] dump_stack+0x16/0x20
 [<4014a72b>] __lock_acquire+0xcfb/0x1030
 [<4014aac0>] lock_acquire+0x60/0x80
 [<40721a68>] _spin_lock_irqsave+0x38/0x50
 [<4058fc12>] snd_gf1_i_look8+0x22/0x60
 [<405906fe>] snd_gus_interrupt+0x13e/0x270
 [<401548e8>] handle_IRQ_event+0x28/0x60
 [<40155cc1>] handle_fasteoi_irq+0x71/0xe0
 [<40107238>] do_IRQ+0x48/0xa0
 [<401051fe>] common_interrupt+0x2e/0x40
 [<40156822>] register_handler_proc+0x92/0xf0
 [<401550c2>] setup_irq+0xe2/0x190
 [<40155224>] request_irq+0xb4/0xd0
 [<4058f524>] snd_gus_create+0x124/0x3c0
 [<40aa4087>] snd_gusclassic_probe+0x2a7/0x4b0
 [<403f5eff>] isa_bus_probe+0x1f/0x30
 [<403f1944>] driver_probe_device+0x84/0x190
 [<403f1a58>] __device_attach+0x8/0x10
 [<403f0e63>] bus_for_each_drv+0x53/0x80
 [<403f1b1b>] device_attach+0x8b/0x90
 [<403f0dd8>] bus_attach_device+0x48/0x80
 [<403efdbd>] device_add+0x45d/0x5a0
 [<403eff12>] device_register+0x12/0x20
 [<403f60c3>] isa_register_driver+0xb3/0x140
 [<40aa3dd2>] alsa_card_gusclassic_init+0x12/0x20
 [<40a665c3>] kernel_init+0x133/0x310
 [<401054a7>] kernel_thread_helper+0x7/0x10
 =======================
2) callback functions not being filled in yet:
BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000
 printing eip:
00000000
*pde = 00000000
Oops: 0000 [#1]
SMP DEBUG_PAGEALLOC
CPU:    0
EIP:    0060:[<00000000>]    Not tainted VLI
EFLAGS: 00010002   (2.6.23 #37)
EIP is at 0x0
eax: 7fe94000   ebx: 7fe94000   ecx: 00000000   edx: 00000226
esi: 00000000   edi: 00000005   ebp: 7ff87c28   esp: 7ff87bf4
ds: 007b   es: 007b   fs: 00d8  gs: 0000  ss: 0068
Process swapper (pid: 1, ti=7ff86000 task=7ff84000 task.ti=7ff86000)
Stack: 40590683 408424a9 408db87c 00000029 40787406 00000064 00000046 ff000000
       000000ff 00000001 7faefaf0 00000000 00000005 7ff87c40 401548e8 00000000
       40a52000 7faefaf0 00000005 7ff87c58 40155cc1 40a52030 00000005 00000000
Call Trace:
 [<401058ca>] show_trace_log_lvl+0x1a/0x30
 [<4010598b>] show_stack_log_lvl+0xab/0xd0
 [<40105b7c>] show_registers+0x1cc/0x2d0
 [<40105d96>] die+0x116/0x240
 [<4011d7bb>] do_page_fault+0x18b/0x670
 [<40721d22>] error_code+0x72/0x80
 [<401548e8>] handle_IRQ_event+0x28/0x60
 [<40155cc1>] handle_fasteoi_irq+0x71/0xe0
 [<40107238>] do_IRQ+0x48/0xa0
 [<401051fe>] common_interrupt+0x2e/0x40
 [<401a344e>] proc_create+0x3e/0x120
 [<401a3733>] proc_mkdir_mode+0x23/0x50
 [<401a376f>] proc_mkdir+0xf/0x20
 [<40156864>] register_handler_proc+0xd4/0xf0
 [<401550c2>] setup_irq+0xe2/0x190
 [<40155224>] request_irq+0xb4/0xd0
 [<4058f524>] snd_gus_create+0x124/0x3c0
 [<40aa4087>] snd_gusclassic_probe+0x2a7/0x4b0
 [<403f5eff>] isa_bus_probe+0x1f/0x30
 [<403f1944>] driver_probe_device+0x84/0x190
 [<403f1a58>] __device_attach+0x8/0x10
 [<403f0e63>] bus_for_each_drv+0x53/0x80
 [<403f1b1b>] device_attach+0x8b/0x90
 [<403f0dd8>] bus_attach_device+0x48/0x80
 [<403efdbd>] device_add+0x45d/0x5a0
 [<403eff12>] device_register+0x12/0x20
 [<403f60c3>] isa_register_driver+0xb3/0x140
 [<40aa3dd2>] alsa_card_gusclassic_init+0x12/0x20
 [<40a665c3>] kernel_init+0x133/0x310
 [<401054a7>] kernel_thread_helper+0x7/0x10
 =======================
Code:  Bad EIP value.
EIP: [<00000000>] 0x0 SS:ESP 0068:7ff87bf4
Kernel panic - not syncing: Fatal exception in interrupt
with these things fixed, i get the expected 'no such hardware' result
from the driver initialization:
 Calling initcall 0x40aa3dc0: alsa_card_gusclassic_init+0x0/0x20()
 ALSA sound/isa/gus/gusclassic.c:136: [0x220] check 1 failed - 0xff
 initcall 0x40aa3dc0: alsa_card_gusclassic_init+0x0/0x20() returned 0.
 initcall 0x40aa3dc0 ran for 133 msecs:
 alsa_card_gusclassic_init+0x0/0x20()

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16 16:51:26 +02:00
Jaroslav Kysela
c1017a4cdb [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16 16:51:18 +02:00
Trent Piepho
fe1b5e874d [ALSA] ad1848: simplify MCE down code
The polling loop to check for ACI to go down was more convoluted than it
needed to be.  New loop should be more efficient and it is a lot simpler.  The
old loop checked for a timeout before checking for ACI down, which could
result in an erroneous timeout.  It's only a failure if the timeout expires
_and_ ACI is still high.  There is nothing wrong with the timeout expiring
while the task is sleeping if ACI went low.
A polling loop to check for the device to leaving INIT mode is removed.  The
device must have already left init for the previous ACI loop to have finished.
Acked-by: Rene Herman <rene.herman@gmail.com>

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:59 +02:00
Trent Piepho
b438f817b1 [ALSA] ad1848: Fix msleep while atomic
Simplest fix.
Acked-by: Rene Herman <rene.herman@gmail.com>

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:58 +02:00
Rene Herman
d86d01935a [ALSA] alsa-kernel: schedule_timeout() fixes
Fix schedule_timeout() use in alsa-kernel. Mostly just
	schedule_timeout(1) --> schedule_timeout_uninterruptible(1)
The wavefront_synth one fixes the surrounding loop as well. In ymfpci_main,
delete a superfluous set_current_state() and in soc/soc-dapm.c replace an
_interruptible with _uninterruptible in some debug code; it's not waiting
for signals.

Signed-off-by: Rene Herman <rene.herman>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:54 +02:00
Krzysztof Helt
ec1e794932 [ALSA] sscape: support for audio part of VIVO cards
This patch adds support for audio part of the Ensoniq
SoundScape VIVO cards. The MIDI part is not supported.

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 16:50:51 +02:00
Takashi Iwai
1ea73412b2 [ALSA] opti9xx: adjust OPL3 FM resource value
The OPTi ISA-PnP chips advertise their OPL4 base at 0x380 (to 0x3f0) through
pnp and put their on-chip OPL3 at +8. The driver assumes the provided
value is the ALBase (OPL3 address) though and checks for an OPL4 at -8,
which means that simply adding 8 to the pnp provides value works to fix
detection of both OPL3 and OPL4.
Problem spotted on 931 and 933 by Krzysztof Helt and confirmed on 924 and
925 (together all OPTi ISA-PnP chips) by me.
Signed-off-by; Rene Herman <rene.herman@gmail.com>
Acked-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 16:50:49 +02:00
Krzysztof Helt
4996bca985 [ALSA] sscape: driver extension to 2nd DMA and WSS port
This patch adds second DMA channel and WSS port settings
to the sscape driver. Also, it adds internal card type setting.
The Ensoniq SoundScape VIVO PnP id is added but not handled
yet.

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 16:50:47 +02:00
Krzysztof Helt
1cf0bc7e73 [ALSA] sc6000: 2 minor fixes
This patch zeroes buffer for the card name and
fixes incorrect jump in the probe function.

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 16:50:45 +02:00
Krzysztof Helt
f79415207e [ALSA] ad1848_lib: waiting loops done after cs4231_lib
This patch fixes ad1848_lib waiting loops to be the same as in the cs4231_lib.
Acked-by: Rene Herman <rene.herman@gmail.com>

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 16:50:40 +02:00
Andrew Morton
3a5bdee5fa [ALSA] sc6000 build fix
sound/isa/sc6000.c: In function 'sc6000_dsp_reset':
sound/isa/sc6000.c:270: error: implicit declaration of function 'udelay'        sound/isa/sc6000.c: In function 'sc6000_init_mss':
sound/isa/sc6000.c:327: error: implicit declaration of function 'msleep'
{standard input}: Assembler messages:

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:39 +02:00
Jaroslav Kysela
5683bc6e9e [ALSA] SC6000 driver - add HAS_IOPORT dependency
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:24 +02:00
Krzysztof Helt
e307258d5b [ALSA] Gallant SC-6000 driver
This is port of the Gallant SC-6000 driver from the OSS aedsp16 driver.
This card was also sold as AudioExcel DSP 16 and Zoltrix AV302 (Audio
Plus True 16).

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 16:50:21 +02:00
Krzysztof Helt
23d4635ed3 [ALSA] cs4231-lib: improved waiting after mce_down
This patch replaces long msleeps in waiting loops
with schedule_timeout() calls.

Signed-off-by: Krzysztof Helt <krzysztof.h1 at wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:29 +02:00
Rene Herman
d44df2d0f2 [ALSA] ad1848/cs4231: replace commented out debug code with snd-printd{,d}
While I'm at it another 'while I'm there' -- replace commented out debug
code with snd-printd{,d}.

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 16:49:26 +02:00
Rene Herman
bc962efa6c [ALSA] ad1848: replace HZ calculus with msecs_to_jiffies()
If I'm not mistaken, any (new) use of HZ these days is considered a bug so
while I'm there...

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 16:49:25 +02:00
Rene Herman
90cf9b8532 [ALSA] ad1838/cs4231 - fix MCE timeout upon initial load
When the ad1848/cs2431 is first being initialized, auto-calibration may not
be set causing a timeout waiting for it in snd_ad1848/cs4231_mce_down().
This has no dire consequences other than an alarming printk, but since what
we need to wait for is for the calibration to _finish_, let's just check for
that instead.
The early chips need a slight delay (as commented -- 5 sample periods) to be
sure that _if_ calibration is going to happen, it has started when we check
While the CS4231A datasheet implies it'll happen immediately on downing MCE,
some testing is showing that there's a window there as well, so just do the
delay everywhere.
Thanks to Krysztof Helt for pinpointing this problem.

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 16:49:24 +02:00
Krzysztof Helt
6c041b5eae [ALSA] cs4231-lib: replace common delay loop by function
This patch replaces a common delay loop by a function.
It also uses ARRAY_SIZE macro for the rates table.
Acked-by: Rene Herman <rene.herman@gmail.com>

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 16:49:10 +02:00
Krzysztof Helt
8e6a2c2ec9 [ALSA] ad1848_lib: replace common delay loop by function
This patch replaces a common delay loop by a function.
It also uses ARRAY_SIZE macro for the rates table.
Acked-by: Rene Herman <rene.herman@gmail.com>

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 16:49:09 +02:00
Takashi Iwai
2d4a485b3d [ALSA] Allow shared IRQ for CS5530 device
CS5530 is a PCI device and often shares the IRQ although the SB common
routine tries to allocate it exclusively.  This patch allows shared IRQ
for CS5530.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:32 +02:00
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