2005-10-13 17:54:41 +01: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 12:53:49 +02:00
# ifdef CONFIG_SYS_HYPERVISOR
extern int hypervisor_init ( void ) ;
# else
static inline int hypervisor_init ( void ) { return 0 ; }
# endif
2005-10-13 17:54:41 +01: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-16 15:20:36 -07:00
extern int bus_add_device ( struct device * dev ) ;
2006-04-04 20:42:26 +02:00
extern void bus_attach_device ( struct device * dev ) ;
2005-04-16 15:20:36 -07:00
extern void bus_remove_device ( struct device * dev ) ;
2006-05-02 16:59:59 +02:00
extern struct bus_type * get_bus ( struct bus_type * bus ) ;
extern void put_bus ( struct bus_type * bus ) ;
2005-04-16 15:20:36 -07:00
extern int bus_add_driver ( struct device_driver * ) ;
extern void bus_remove_driver ( struct device_driver * ) ;
2005-03-21 10:52:54 -08:00
extern void driver_detach ( struct device_driver * drv ) ;
2005-06-22 16:09:05 -07:00
extern int driver_probe_device ( struct device_driver * , struct device * ) ;
2005-03-21 10:52:54 -08:00
2006-01-19 17:30:17 +01:00
extern void sysdev_shutdown ( void ) ;
extern int sysdev_suspend ( pm_message_t state ) ;
extern int sysdev_resume ( void ) ;
2005-04-16 15:20:36 -07: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 ) ;
}
2006-06-20 13:59:20 -07:00
extern char * make_class_name ( const char * name , struct kobject * kobj ) ;
2005-04-16 15:20:36 -07:00