2005-10-13 20:54:41 +04:00
/* initialisation functions */
extern int devices_init ( void ) ;
extern int buses_init ( void ) ;
extern int classes_init ( void ) ;
extern int firmware_init ( void ) ;
2006-05-09 14:53:49 +04:00
# ifdef CONFIG_SYS_HYPERVISOR
extern int hypervisor_init ( void ) ;
# else
static inline int hypervisor_init ( void ) { return 0 ; }
# endif
2005-10-13 20:54:41 +04:00
extern int platform_bus_init ( void ) ;
extern int system_bus_init ( void ) ;
extern int cpu_dev_init ( void ) ;
extern int attribute_container_init ( void ) ;
2005-04-17 02:20:36 +04:00
extern int bus_add_device ( struct device * dev ) ;
2006-04-04 22:42:26 +04:00
extern void bus_attach_device ( struct device * dev ) ;
2005-04-17 02:20:36 +04:00
extern void bus_remove_device ( struct device * dev ) ;
2006-05-02 18:59:59 +04:00
extern struct bus_type * get_bus ( struct bus_type * bus ) ;
extern void put_bus ( struct bus_type * bus ) ;
2005-04-17 02:20:36 +04:00
extern int bus_add_driver ( struct device_driver * ) ;
extern void bus_remove_driver ( struct device_driver * ) ;
2005-03-21 21:52:54 +03:00
extern void driver_detach ( struct device_driver * drv ) ;
2005-06-23 03:09:05 +04:00
extern int driver_probe_device ( struct device_driver * , struct device * ) ;
2005-03-21 21:52:54 +03:00
2006-01-19 19:30:17 +03:00
extern void sysdev_shutdown ( void ) ;
extern int sysdev_suspend ( pm_message_t state ) ;
extern int sysdev_resume ( void ) ;
2005-04-17 02:20:36 +04:00
static inline struct class_device * to_class_dev ( struct kobject * obj )
{
return container_of ( obj , struct class_device , kobj ) ;
}
static inline
struct class_device_attribute * to_class_dev_attr ( struct attribute * _attr )
{
return container_of ( _attr , struct class_device_attribute , attr ) ;
}