init.c 934 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. #include <linux/device.h>
  10. #include <linux/init.h>
  11. extern int devices_init(void);
  12. extern int buses_init(void);
  13. extern int classes_init(void);
  14. extern int firmware_init(void);
  15. extern int platform_bus_init(void);
  16. extern int system_bus_init(void);
  17. extern int cpu_dev_init(void);
  18. extern int attribute_container_init(void);
  19. /**
  20. * driver_init - initialize driver model.
  21. *
  22. * Call the driver model init functions to initialize their
  23. * subsystems. Called early from init/main.c.
  24. */
  25. void __init driver_init(void)
  26. {
  27. /* These are the core pieces */
  28. devices_init();
  29. buses_init();
  30. classes_init();
  31. firmware_init();
  32. /* These are also core pieces, but must come after the
  33. * core core pieces.
  34. */
  35. platform_bus_init();
  36. system_bus_init();
  37. cpu_dev_init();
  38. attribute_container_init();
  39. }