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) += fabrics/
+obj-$(CONFIG_SND_AOA) += codecs/
 
        .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)
 {
        static int devcount;
 }
 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);