xref: /openbsd-src/sys/dev/pci/drm/include/linux/component.h (revision f005ef32267c16bdb134f0e9fa4477dbe07c263a)
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 int	component_add_typed(struct device *, const struct component_ops *, int);
23 #define component_del(a, b)
24 
25 int	component_bind_all(struct device *, void *);
26 #define component_unbind_all(a, b)
27 
28 int	component_compare_of(struct device *, void *);
29 int	component_master_add_with_match(struct device *,
30 	    const struct component_master_ops *, struct component_match *);
31 
32 #endif
33