Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c326cc02 authored by Aaron Sierra's avatar Aaron Sierra Committed by Greg Kroah-Hartman
Browse files

vme: Convert VME core to register as a subsystem



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: default avatarAaron Sierra <asierra@xes-inc.com>
Signed-off-by: default avatarMartyn Welch <martyn.welch@ge.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e56b1401
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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.
+1 −5
Original line number Diff line number Diff line
@@ -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);