1 /* Public domain. */ 2 3 #ifndef _LINUX_COMPONENT_H 4 #define _LINUX_COMPONENT_H 5 6 #include <sys/_null.h> 7 8 struct component_match; 9 struct device; 10 11 struct component_ops { 12 int (*bind)(struct device *, struct device *, void *); 13 void (*unbind)(struct device *, struct device *, void *); 14 }; 15 16 struct component_master_ops { 17 int (*bind)(struct device *); 18 void (*unbind)(struct device *); 19 }; 20 21 int component_add(struct device *, const struct component_ops *); 22 #define component_del(a, b) 23 24 int component_bind_all(struct device *, void *); 25 #define component_unbind_all(a, b) 26 27 int component_compare_of(struct device *, void *); 28 int component_master_add_with_match(struct device *, 29 const struct component_master_ops *, struct component_match *); 30 31 #endif 32