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 */
21void __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	memory_dev_init();
39	node_dev_init();
40	cpu_dev_init();
41	container_dev_init();
42}
43