xref: /linux/drivers/base/init.c (revision 2a2c74b2efcb1a0ca3fdcb5fbb96ad8de6a29177)
1 /*
2  * Copyright (c) 2002-3 Patrick Mochel
3  * Copyright (c) 2002-3 Open Source Development Labs
4  *
5  * This file is released under the GPLv2
6  */
7 
8 #include <linux/device.h>
9 #include <linux/init.h>
10 #include <linux/memory.h>
11 
12 #include "base.h"
13 
14 /**
15  * driver_init - initialize driver model.
16  *
17  * Call the driver model init functions to initialize their
18  * subsystems. Called early from init/main.c.
19  */
20 void __init driver_init(void)
21 {
22 	/* These are the core pieces */
23 	devtmpfs_init();
24 	devices_init();
25 	buses_init();
26 	classes_init();
27 	firmware_init();
28 	hypervisor_init();
29 
30 	/* These are also core pieces, but must come after the
31 	 * core core pieces.
32 	 */
33 	platform_bus_init();
34 	cpu_dev_init();
35 	memory_dev_init();
36 	container_dev_init();
37 }
38