Linux-2.6.12-rc2
[cascardo/linux.git] / drivers / base / init.c
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 }