1 /* 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 13 extern int devices_init(void); 14 extern int buses_init(void); 15 extern int classes_init(void); 16 extern int firmware_init(void); 17 extern int platform_bus_init(void); 18 extern int system_bus_init(void); 19 extern int cpu_dev_init(void); 20 extern 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 28 void __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 } 44