| #ifndef COMPONENT_H |
| #define COMPONENT_H |
| |
| struct device; |
| |
| struct component_ops { |
| int (*bind)(struct device *, struct device *, void *); |
| void (*unbind)(struct device *, struct device *, void *); |
| }; |
| |
| int component_add(struct device *, const struct component_ops *); |
| void component_del(struct device *, const struct component_ops *); |
| |
| int component_bind_all(struct device *, void *); |
| void component_unbind_all(struct device *, void *); |
| |
| struct master; |
| |
| struct component_master_ops { |
| int (*add_components)(struct device *, struct master *); |
| int (*bind)(struct device *); |
| void (*unbind)(struct device *); |
| }; |
| |
| int component_master_add(struct device *, const struct component_master_ops *); |
| void component_master_del(struct device *, |
| const struct component_master_ops *); |
| |
| int component_master_add_child(struct master *master, |
| int (*compare)(struct device *, void *), void *compare_data); |
| |
| struct component_match; |
| |
| int component_master_add_with_match(struct device *, |
| const struct component_master_ops *, struct component_match *); |
| void component_match_add(struct device *, struct component_match **, |
| int (*compare)(struct device *, void *), void *compare_data); |
| |
| #endif |