]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
vme: Convert VME core to register as a subsystem
authorAaron Sierra <asierra@xes-inc.com>
Mon, 9 Dec 2013 15:54:42 +0000 (09:54 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Dec 2013 01:06:19 +0000 (17:06 -0800)
Previously, VME bridge support was treated as any other driver (using
module_init() macro), but if VME bridge and vme_user (staging) drivers
were compiled into the kernel, then vme_user would attempt to register
itself before the VME core support had been loaded. This would result
in a kernel panic.

The load order of these built-in drivers is based on the order in which
drivers/staging/vme and driver/vme are compiled.

This patch changes the VME core driver to use the subsys_initcall()
macro which ensures that it is loaded before all other VME drivers
regardless of the order in which they are compiled.

Tested-by: Aaron Sierra <asierra@xes-inc.com>
Signed-off-by: Martyn Welch <martyn.welch@ge.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/vme/Kconfig
drivers/vme/vme.c

index c5c22465a80518e2905b2939a002f124f25f5500..a6a6f955911970a89b14568afbc7bef9a660508c 100644 (file)
@@ -3,7 +3,7 @@
 #
 
 menuconfig VME_BUS
-       tristate "VME bridge support"
+       bool "VME bridge support"
        depends on PCI
        ---help---
          If you say Y here you get support for the VME bridge Framework.
index 96562c9a8b1b8ee220a3e39d7d5bd5758b548eb6..7516030037a16e18082908b41af76a7308c85cb9 100644 (file)
@@ -1525,9 +1525,5 @@ static void __exit vme_exit(void)
        bus_unregister(&vme_bus_type);
 }
 
-MODULE_DESCRIPTION("VME bridge driver framework");
-MODULE_AUTHOR("Martyn Welch <martyn.welch@ge.com");
-MODULE_LICENSE("GPL");
-
-module_init(vme_init);
+subsys_initcall(vme_init);
 module_exit(vme_exit);