123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #ifndef COMPONENT_H
- #define COMPONENT_H
- #include <linux/stddef.h>
- struct device;
- struct component_ops {
- int (*bind)(struct device *comp, struct device *master,
- void *master_data);
- void (*unbind)(struct device *comp, struct device *master,
- void *master_data);
- };
- int component_add(struct device *, const struct component_ops *);
- void component_del(struct device *, const struct component_ops *);
- int component_bind_all(struct device *master, void *master_data);
- void component_unbind_all(struct device *master, void *master_data);
- struct master;
- struct component_master_ops {
- int (*bind)(struct device *master);
- void (*unbind)(struct device *master);
- };
- void component_master_del(struct device *,
- const struct component_master_ops *);
- struct component_match;
- int component_master_add_with_match(struct device *,
- const struct component_master_ops *, struct component_match *);
- void component_match_add_release(struct device *master,
- struct component_match **matchptr,
- void (*release)(struct device *, void *),
- int (*compare)(struct device *, void *), void *compare_data);
- static inline void component_match_add(struct device *master,
- struct component_match **matchptr,
- int (*compare)(struct device *, void *), void *compare_data)
- {
- component_match_add_release(master, matchptr, NULL, compare,
- compare_data);
- }
- #endif
|