1 2/* initialisation functions */ 3 4extern int devices_init(void); 5extern int buses_init(void); 6extern int classes_init(void); 7extern int firmware_init(void); 8#ifdef CONFIG_SYS_HYPERVISOR 9extern int hypervisor_init(void); 10#else 11static inline int hypervisor_init(void) { return 0; } 12#endif 13extern int platform_bus_init(void); 14extern int system_bus_init(void); 15extern int cpu_dev_init(void); 16extern int attribute_container_init(void); 17 18extern int bus_add_device(struct device * dev); 19extern void bus_attach_device(struct device * dev); 20extern void bus_remove_device(struct device * dev); 21extern struct bus_type *get_bus(struct bus_type * bus); 22extern void put_bus(struct bus_type * bus); 23 24extern int bus_add_driver(struct device_driver *); 25extern void bus_remove_driver(struct device_driver *); 26 27extern void driver_detach(struct device_driver * drv); 28extern int driver_probe_device(struct device_driver *, struct device *); 29 30extern void sysdev_shutdown(void); 31extern int sysdev_suspend(pm_message_t state); 32extern int sysdev_resume(void); 33 34static inline struct class_device *to_class_dev(struct kobject *obj) 35{ 36 return container_of(obj, struct class_device, kobj); 37} 38 39static inline 40struct class_device_attribute *to_class_dev_attr(struct attribute *_attr) 41{ 42 return container_of(_attr, struct class_device_attribute, attr); 43} 44 45extern char *make_class_name(const char *name, struct kobject *kobj); 46 47extern void devres_release_all(struct device *dev); 48 49extern struct kset devices_subsys; 50