From 0a848680a82e47854347cdfecbe9adf8842719e6 Mon Sep 17 00:00:00 2001 From: Tejun Heo Date: Thu, 6 Aug 2009 18:13:58 +0900 Subject: [PATCH] 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: Tejun Heo Cc: Alan Cox Signed-off-by: Takashi Iwai --- sound/sound_core.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sound/sound_core.c b/sound/sound_core.c index a41f8b127f49..786067c49b01 100644 --- a/sound/sound_core.c +++ b/sound/sound_core.c @@ -541,6 +541,7 @@ static int soundcore_open(struct inode *inode, struct file *file) new_fops = fops_get(s->unit_fops); if (!new_fops) { spin_unlock(&sound_loader_lock); + /* * Please, don't change this order or code. * For ALSA slot means soundcard and OSS emulation code @@ -550,6 +551,17 @@ static int soundcore_open(struct inode *inode, struct file *file) */ request_module("sound-slot-%i", unit>>4); 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); s = __look_for_unit(chain, unit); if (s)