blob: a76ae5a221f3e5cbb8a5475de4f5e03c6797c31a [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>
12
13extern int devices_init(void);
14extern int buses_init(void);
15extern int classes_init(void);
16extern int firmware_init(void);
17extern int platform_bus_init(void);
18extern int system_bus_init(void);
19extern int cpu_dev_init(void);
20extern 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
28void __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}