drm: Extract drm_mode_object.[hc]

Just for the struct drm_mode_object base class. The header file was
already partially extracted to help untangle the include loops.

v2:
- Also move the generic get/set property ioctls. At first this seemed
  like a bad idea since it requires making drm_mode_crtc_set_obj_prop
  non-static. But eventually that will get split away too (like
  the connector version already is) for both crtc and planes. Hence I
  reconsidered.

- drm_mode_object.[hc] instead of drm_modeset.[hc], which requires
  renaming the drm_modeset.h header I already started building up.
  This is more consistent (matches the name of the main structure),
  and I want to be able to use drm_modeset.[hc] for the basic modeset
  init/cleanup functionality like drm_mode_config_init.

Reviewed-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20160829082757.17913-3-daniel.vetter@ffwll.ch
This commit is contained in:
Daniel Vetter
2016-08-29 10:27:51 +02:00
parent e03e6de03e
commit 949619f32e
11 changed files with 492 additions and 449 deletions

View File

@@ -25,7 +25,7 @@
#include <linux/list.h>
#include <linux/ctype.h>
#include <drm/drm_modeset.h>
#include <drm/drm_mode_object.h>
struct drm_connector_helper_funcs;
struct drm_device;

View File

@@ -36,7 +36,7 @@
#include <uapi/drm/drm_fourcc.h>
#include <drm/drm_modeset_lock.h>
#include <drm/drm_rect.h>
#include <drm/drm_modeset.h>
#include <drm/drm_mode_object.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_modes.h>
#include <drm/drm_connector.h>
@@ -2116,16 +2116,6 @@ static inline bool drm_property_type_is(struct drm_property *property,
return property->flags & type;
}
extern int drm_object_property_set_value(struct drm_mode_object *obj,
struct drm_property *property,
uint64_t val);
extern int drm_object_property_get_value(struct drm_mode_object *obj,
struct drm_property *property,
uint64_t *value);
extern void drm_object_attach_property(struct drm_mode_object *obj,
struct drm_property *property,
uint64_t init_val);
extern struct drm_property *drm_property_create(struct drm_device *dev, int flags,
const char *name, int num_values);
extern struct drm_property *drm_property_create_enum(struct drm_device *dev, int flags,

View File

@@ -25,7 +25,7 @@
#include <linux/list.h>
#include <linux/ctype.h>
#include <drm/drm_modeset.h>
#include <drm/drm_mode_object.h>
/**
* struct drm_encoder_funcs - encoder controls

View File

@@ -25,7 +25,7 @@
#include <linux/list.h>
#include <linux/ctype.h>
#include <drm/drm_modeset.h>
#include <drm/drm_mode_object.h>
struct drm_framebuffer;
struct drm_file;

View File

@@ -67,4 +67,14 @@ struct drm_mode_object *drm_mode_object_find(struct drm_device *dev,
void drm_mode_object_reference(struct drm_mode_object *obj);
void drm_mode_object_unreference(struct drm_mode_object *obj);
int drm_object_property_set_value(struct drm_mode_object *obj,
struct drm_property *property,
uint64_t val);
int drm_object_property_get_value(struct drm_mode_object *obj,
struct drm_property *property,
uint64_t *value);
void drm_object_attach_property(struct drm_mode_object *obj,
struct drm_property *property,
uint64_t init_val);
#endif

View File

@@ -27,7 +27,7 @@
#ifndef __DRM_MODES_H__
#define __DRM_MODES_H__
#include <drm/drm_modeset.h>
#include <drm/drm_mode_object.h>
#include <drm/drm_connector.h>
/*