Linux 6.9-rc1
[linux-2.6-microblaze.git] / drivers / base / init.c
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright (c) 2002-3 Patrick Mochel
4  * Copyright (c) 2002-3 Open Source Development Labs
5  */
6
7 #include <linux/device.h>
8 #include <linux/init.h>
9 #include <linux/memory.h>
10 #include <linux/of.h>
11
12 #include "base.h"
13
14 /**
15  * driver_init - initialize driver model.
16  *
17  * Call the driver model init functions to initialize their
18  * subsystems. Called early from init/main.c.
19  */
20 void __init driver_init(void)
21 {
22         /* These are the core pieces */
23         devtmpfs_init();
24         devices_init();
25         buses_init();
26         classes_init();
27         firmware_init();
28         hypervisor_init();
29
30         /* These are also core pieces, but must come after the
31          * core core pieces.
32          */
33         of_core_init();
34         platform_bus_init();
35         auxiliary_bus_init();
36         cpu_dev_init();
37         memory_dev_init();
38         container_dev_init();
39 }