blob: c648914b9cde8b37be242c46f3c85429941fdc8f [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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>
Dave Hansen3947be12005-10-29 18:16:54 -070012#include <linux/memory.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070013
Ben Dooksa1bdc7a2005-10-13 17:54:41 +010014#include "base.h"
15
Linus Torvalds1da177e2005-04-16 15:20:36 -070016/**
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
23void __init driver_init(void)
24{
25 /* These are the core pieces */
26 devices_init();
27 buses_init();
28 classes_init();
29 firmware_init();
30
31 /* These are also core pieces, but must come after the
32 * core core pieces.
33 */
34 platform_bus_init();
35 system_bus_init();
36 cpu_dev_init();
Dave Hansen3947be12005-10-29 18:16:54 -070037 memory_dev_init();
Linus Torvalds1da177e2005-04-16 15:20:36 -070038 attribute_container_init();
39}