linux/sound/core
Takashi Iwai 68ab61084d ALSA: seq: bind seq driver automatically
Currently the sequencer module binding is performed independently from
the card module itself.  The reason behind it is to keep the sequencer
stuff optional and allow the system running without it (e.g. for using
PCM or rawmidi only).  This works in most cases, but a remaining
problem is that the binding isn't done automatically when a new driver
module is probed.  Typically this becomes visible when a hotplug
driver like usb audio is used.

This patch tries to address this and other potential issues.  First,
the seq-binder (seq_device.c) tries to load a missing driver module at
creating a new device object.  This is done asynchronously in a workq
for avoiding the deadlock (modprobe call in module init path).

This action, however, should be enabled only when the sequencer stuff
was already initialized, i.e. snd-seq module was already loaded.  For
that, a new function, snd_seq_autoload_init() is introduced here; this
clears the blocking of autoloading, and also tries to load all pending
driver modules.

Reported-by: Adam Goode <agoode@chromium.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-10-18 20:25:12 +02:00
..
oss ALSA: oss: Use standard printk helpers 2014-02-14 08:14:17 +01:00
seq ALSA: seq: bind seq driver automatically 2014-10-18 20:25:12 +02:00
compress_offload.c ALSA: compress: fix an integer overflow check 2014-07-16 15:27:03 +02:00
control_compat.c ALSA: control: Use standard printk helpers 2014-02-14 08:14:14 +01:00
control.c ALSA: control: Define SNDRV_CTL_TLV_OP_* constants 2014-07-15 16:31:01 +02:00
ctljack.c ALSA: hda - Add missing inclusion of linux/export.h 2011-11-16 14:28:33 +01:00
device.c ALSA: Clean up snd_device_*() codes 2014-02-25 12:12:52 +01:00
hrtimer.c ALSA: timer: Use standard printk helpers 2014-02-14 08:14:17 +01:00
hwdep_compat.c
hwdep.c ALSA: Move EXPORT_SYMBOL() in appropriate places 2014-02-27 16:00:51 +01:00
info_oss.c ALSA: remove the main version information 2012-09-04 11:38:32 +02:00
info.c ALSA: core: fix buffer overflow in snd_info_get_line() 2014-08-22 07:21:05 +02:00
init.c ALSA: control: Protect user controls against concurrent access 2014-06-18 15:12:33 +02:00
isadma.c ALSA: core: Use standard printk helpers 2014-02-14 08:14:15 +01:00
jack.c ALSA: jack: Unregister input device at disconnection 2013-11-14 17:22:45 +01:00
Kconfig ALSA: core: allow SND_DMAENGINE_PCM use from modules 2013-08-15 18:28:42 +01:00
Makefile ALSA: Merge memalloc code into snd-pcm module 2014-01-09 08:12:57 +01:00
memalloc.c ALSA: core: Use standard printk helpers 2014-02-14 08:14:15 +01:00
memory.c ALSA: add/change some comments describing function return values 2013-03-12 08:32:53 +01:00
misc.c sound: use printk_get_level and printk_skip_level 2012-07-30 17:25:14 -07:00
pcm_compat.c ALSA: pcm: Add tstamp_type and proto to sw_params compat layer 2014-07-21 09:08:18 +02:00
pcm_dmaengine.c ALSA: pcm_dmaengine: Correct support for 24bits physical sample widths 2014-07-04 18:55:25 +01:00
pcm_lib.c ALSA: pcm: fix fifo_size frame calculation 2014-09-22 08:51:35 +02:00
pcm_memory.c ALSA: PCM: Warn when buffer preallocation fails 2014-01-11 11:04:23 +01:00
pcm_misc.c ALSA: pcm: Fix the silence data for DSD formats 2014-08-22 11:24:58 +02:00
pcm_native.c ALSA: pcm: Introduce protocol version field to sw_params 2014-07-21 09:07:46 +02:00
pcm_timer.c ALSA: pcm: Use standard printk helpers 2014-02-14 08:14:15 +01:00
pcm.c ALSA: Create sysfs attribute files via groups 2014-02-25 12:12:49 +01:00
rawmidi_compat.c
rawmidi.c ALSA: Move EXPORT_SYMBOL() in appropriate places 2014-02-27 16:00:51 +01:00
rtctimer.c ALSA: timer: Use standard printk helpers 2014-02-14 08:14:17 +01:00
sgbuf.c ALSA: Make snd_sgbuf_get_{ptr|addr}() available for non-SG cases 2012-09-23 11:24:42 +02:00
sound_oss.c ALSA: Use standard device refcount for card accounting 2014-02-14 08:14:13 +01:00
sound.c ALSA: Create sysfs attribute files via groups 2014-02-25 12:12:49 +01:00
timer_compat.c ALSA: Kill snd_assert() in sound/core/* 2008-08-13 11:46:35 +02:00
timer.c ALSA: core: Use ktime_get_ts() 2014-06-12 12:58:16 +02:00
vmaster.c ALSA: core: Use standard printk helpers 2014-02-14 08:14:15 +01:00