Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
 1#ifndef __DRM_OF_H__
 2#define __DRM_OF_H__
 3
 4#include <linux/of_graph.h>
 5
 6struct component_master_ops;
 7struct device;
 8struct drm_device;
 9struct drm_encoder;
10struct device_node;
11
12#ifdef CONFIG_OF
13extern uint32_t drm_of_find_possible_crtcs(struct drm_device *dev,
14					   struct device_node *port);
15extern int drm_of_component_probe(struct device *dev,
16				  int (*compare_of)(struct device *, void *),
17				  const struct component_master_ops *m_ops);
18extern int drm_of_encoder_active_endpoint(struct device_node *node,
19					  struct drm_encoder *encoder,
20					  struct of_endpoint *endpoint);
21#else
22static inline uint32_t drm_of_find_possible_crtcs(struct drm_device *dev,
23						  struct device_node *port)
24{
25	return 0;
26}
27
28static inline int
29drm_of_component_probe(struct device *dev,
30		       int (*compare_of)(struct device *, void *),
31		       const struct component_master_ops *m_ops)
32{
33	return -EINVAL;
34}
35
36static inline int drm_of_encoder_active_endpoint(struct device_node *node,
37						 struct drm_encoder *encoder,
38						 struct of_endpoint *endpoint)
39{
40	return -EINVAL;
41}
42#endif
43
44static inline int drm_of_encoder_active_endpoint_id(struct device_node *node,
45						    struct drm_encoder *encoder)
46{
47	struct of_endpoint endpoint;
48	int ret = drm_of_encoder_active_endpoint(node, encoder,
49						 &endpoint);
50
51	return ret ?: endpoint.id;
52}
53
54static inline int drm_of_encoder_active_port_id(struct device_node *node,
55						struct drm_encoder *encoder)
56{
57	struct of_endpoint endpoint;
58	int ret = drm_of_encoder_active_endpoint(node, encoder,
59						 &endpoint);
60
61	return ret ?: endpoint.port;
62}
63
64#endif /* __DRM_OF_H__ */