linux/include/drm/drm_of.h
<<
>>
Prefs
   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__ */
  65