xref: /openbsd-src/sys/dev/pci/drm/include/linux/component.h (revision f005ef32267c16bdb134f0e9fa4477dbe07c263a)
1c349dbc7Sjsg /* Public domain. */
2c349dbc7Sjsg 
3c349dbc7Sjsg #ifndef _LINUX_COMPONENT_H
4c349dbc7Sjsg #define _LINUX_COMPONENT_H
5c349dbc7Sjsg 
6667382c7Skettenis #include <sys/_null.h>
7667382c7Skettenis 
8667382c7Skettenis struct component_match;
9667382c7Skettenis struct device;
10667382c7Skettenis 
11667382c7Skettenis struct component_ops {
12667382c7Skettenis 	int (*bind)(struct device *, struct device *, void *);
13667382c7Skettenis 	void (*unbind)(struct device *, struct device *, void *);
14667382c7Skettenis };
15667382c7Skettenis 
16667382c7Skettenis struct component_master_ops {
17667382c7Skettenis 	int (*bind)(struct device *);
18667382c7Skettenis 	void (*unbind)(struct device *);
19667382c7Skettenis };
20667382c7Skettenis 
21cefff6e5Skettenis int	component_add(struct device *, const struct component_ops *);
22*f005ef32Sjsg int	component_add_typed(struct device *, const struct component_ops *, int);
23c349dbc7Sjsg #define component_del(a, b)
24667382c7Skettenis 
25cefff6e5Skettenis int	component_bind_all(struct device *, void *);
26667382c7Skettenis #define component_unbind_all(a, b)
27667382c7Skettenis 
28667382c7Skettenis int	component_compare_of(struct device *, void *);
29667382c7Skettenis int	component_master_add_with_match(struct device *,
30667382c7Skettenis 	    const struct component_master_ops *, struct component_match *);
31c349dbc7Sjsg 
32c349dbc7Sjsg #endif
33