Merge master.kernel.org:/home/rmk/linux-2.6-serial
[linux-2.6] / 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 #include <linux/memory.h>
13
14 #include "base.h"
15
16 /**
17  *      driver_init - initialize driver model.
18  *
19  *      Call the driver model init functions to initialize their
20  *      subsystems. Called early from init/main.c.
21  */
22
23 void __init driver_init(void)
24 {
25         /* These are the core pieces */
26         devices_init();
27         buses_init();
28         classes_init();
29         firmware_init();
30         hypervisor_init();
31
32         /* These are also core pieces, but must come after the
33          * core core pieces.
34          */
35         platform_bus_init();
36         system_bus_init();
37         cpu_dev_init();
38         memory_dev_init();
39         attribute_container_init();
40 }