浏览代码

[PATCH] aoa: fix when all is built into the kernel

This patch fixes initialisation issues when all of aoa is built into the
kernel by re-ordering the link order in the Makefile and making the soundbus
use subsys_initcall so it is initialised earlier.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Benjamin Herrenschmidt 19 年之前
父节点
当前提交
a08bc4cb09
共有 2 个文件被更改,包括 13 次插入13 次删除
  1. 2 2
      sound/aoa/Makefile
  2. 11 11
      sound/aoa/soundbus/core.c

+ 2 - 2
sound/aoa/Makefile

@@ -1,4 +1,4 @@
 obj-$(CONFIG_SND_AOA) += core/
 obj-$(CONFIG_SND_AOA) += core/
-obj-$(CONFIG_SND_AOA) += codecs/
-obj-$(CONFIG_SND_AOA) += fabrics/
 obj-$(CONFIG_SND_AOA_SOUNDBUS) += soundbus/
 obj-$(CONFIG_SND_AOA_SOUNDBUS) += soundbus/
+obj-$(CONFIG_SND_AOA) += fabrics/
+obj-$(CONFIG_SND_AOA) += codecs/

+ 11 - 11
sound/aoa/soundbus/core.c

@@ -194,16 +194,6 @@ static struct bus_type soundbus_bus_type = {
 	.dev_attrs	= soundbus_dev_attrs,
 	.dev_attrs	= soundbus_dev_attrs,
 };
 };
 
 
-static int __init soundbus_init(void)
-{
-	return bus_register(&soundbus_bus_type);
-}
-
-static void __exit soundbus_exit(void)
-{
-	bus_unregister(&soundbus_bus_type);
-}
-
 int soundbus_add_one(struct soundbus_dev *dev)
 int soundbus_add_one(struct soundbus_dev *dev)
 {
 {
 	static int devcount;
 	static int devcount;
@@ -246,5 +236,15 @@ void soundbus_unregister_driver(struct soundbus_driver *drv)
 }
 }
 EXPORT_SYMBOL_GPL(soundbus_unregister_driver);
 EXPORT_SYMBOL_GPL(soundbus_unregister_driver);
 
 
-module_init(soundbus_init);
+static int __init soundbus_init(void)
+{
+	return bus_register(&soundbus_bus_type);
+}
+
+static void __exit soundbus_exit(void)
+{
+	bus_unregister(&soundbus_bus_type);
+}
+
+subsys_initcall(soundbus_init);
 module_exit(soundbus_exit);
 module_exit(soundbus_exit);