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 } 43