Commit 0a848680 authored by Tejun Heo's avatar Tejun Heo Committed by Takashi Iwai

sound: request char-major-* module aliases for missing OSS devices

Till now missing OSS devices emitted sound-slot/service-* module
alises instead of the standard char-major-* if a missing device number
is opened if soundcore is loaded.  The custom module aliases don't
have any inherent benefit than backward compatibility.

sound-slot/service-* module aliases is scheduled to be removed and to
help the transition this patch makes soundcore emit the standard
module alises along with the custom ones.
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 1905b1bf
...@@ -541,6 +541,7 @@ static int soundcore_open(struct inode *inode, struct file *file) ...@@ -541,6 +541,7 @@ static int soundcore_open(struct inode *inode, struct file *file)
new_fops = fops_get(s->unit_fops); new_fops = fops_get(s->unit_fops);
if (!new_fops) { if (!new_fops) {
spin_unlock(&sound_loader_lock); spin_unlock(&sound_loader_lock);
/* /*
* Please, don't change this order or code. * Please, don't change this order or code.
* For ALSA slot means soundcard and OSS emulation code * For ALSA slot means soundcard and OSS emulation code
...@@ -550,6 +551,17 @@ static int soundcore_open(struct inode *inode, struct file *file) ...@@ -550,6 +551,17 @@ static int soundcore_open(struct inode *inode, struct file *file)
*/ */
request_module("sound-slot-%i", unit>>4); request_module("sound-slot-%i", unit>>4);
request_module("sound-service-%i-%i", unit>>4, chain); request_module("sound-service-%i-%i", unit>>4, chain);
/*
* sound-slot/service-* module aliases are scheduled
* for removal in favor of the standard char-major-*
* module aliases. For the time being, generate both
* the legacy and standard module aliases to ease
* transition.
*/
if (request_module("char-major-%d-%d", SOUND_MAJOR, unit) > 0)
request_module("char-major-%d", SOUND_MAJOR);
spin_lock(&sound_loader_lock); spin_lock(&sound_loader_lock);
s = __look_for_unit(chain, unit); s = __look_for_unit(chain, unit);
if (s) if (s)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment