ALSA initialization still seems to be too late?

From: Adrian Bunk
Date: Fri Mar 23 2007 - 16:36:42 EST


The commit below from 2005 (sic) seems to be an example that workarounds
often have quite a long lifetime.

Can we get this sorted out properly for 2.6.22?

TIA
Adrian


commit c7ac6b42ffba28c350cbcd48268f46689f6eb1cc
Author: Linus Torvalds <torvalds@xxxxxxxxxxx>
Date: Wed Dec 21 14:52:32 2005 -0800

Initialize drivers/media/video/saa7134 late

When compiled-in, make sure the sound system has initialized
before these drivers do.

Reported by Adrian Bunk <bunk@xxxxxxxxx>

(The right fix would be to make the sound core use "subsys_initcall()"
and thus initialize before all normal drivers, but this is the quick
and limited safe fix for 2.6.15).

Signed-off-by: Linus Torvalds <torvalds@xxxxxxxx>

diff --git a/drivers/media/video/saa7134/saa7134-alsa.c b/drivers/media/video/saa7134/saa7134-alsa.c
index 953d5fe..6752dd1 100644
--- a/drivers/media/video/saa7134/saa7134-alsa.c
+++ b/drivers/media/video/saa7134/saa7134-alsa.c
@@ -1028,7 +1028,8 @@ static void saa7134_alsa_exit(void)
return;
}

-module_init(saa7134_alsa_init);
+/* We initialize this late, to make sure the sound system is up and running */
+late_initcall(saa7134_alsa_init);
module_exit(saa7134_alsa_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Ricardo Cerqueira");
diff --git a/drivers/media/video/saa7134/saa7134-oss.c b/drivers/media/video/saa7134/saa7134-oss.c
index 513a699..c450d57 100644
--- a/drivers/media/video/saa7134/saa7134-oss.c
+++ b/drivers/media/video/saa7134/saa7134-oss.c
@@ -1002,7 +1002,8 @@ static void saa7134_oss_exit(void)
return;
}

-module_init(saa7134_oss_init);
+/* We initialize this late, to make sure the sound system is up and running */
+late_initcall(saa7134_oss_init);
module_exit(saa7134_oss_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Gerd Knorr <kraxel@xxxxxxxxxxx> [SuSE Labs]");
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/