mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-21 03:33:59 +08:00
6955b58254
Add support for generating a set of component matches at master probe time, and submitting them to the component layer. This allows the component layer to perform the matches internally without needing to call into the master driver, and allows for further restructuring of the component helper. Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
#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
|