Merge tag 'nolibc.2022.07.27a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulm...
[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 #include <linux/backing-dev.h>
12
13 #include "base.h"
14
15 /**
16  * driver_init - initialize driver model.
17  *
18  * Call the driver model init functions to initialize their
19  * subsystems. Called early from init/main.c.
20  */
21 void __init driver_init(void)
22 {
23         /* These are the core pieces */
24         bdi_init(&noop_backing_dev_info);
25         devtmpfs_init();
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         of_core_init();
36         platform_bus_init();
37         auxiliary_bus_init();
38         cpu_dev_init();
39         memory_dev_init();
40         node_dev_init();
41         container_dev_init();
42 }