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