diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index 67f64bd..1e38dfc 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -247,21 +247,11 @@
 }
 EXPORT_SYMBOL(drm_atomic_crtc_set_property);
 
-/**
- * drm_atomic_crtc_get_property - get property on CRTC
- * @crtc: the drm CRTC to get a property on
- * @state: the state object with the property value to read
- * @property: the property to get
- * @val: the property value (returned by reference)
- *
- * Use this instead of calling crtc->atomic_get_property directly.
+/*
  * This function handles generic/core properties and calls out to
  * driver's ->atomic_get_property() for driver properties.  To ensure
  * consistent behavior you must call this function rather than the
  * driver hook directly.
- *
- * RETURNS:
- * Zero on success, error code on failure
  */
 int drm_atomic_crtc_get_property(struct drm_crtc *crtc,
 		const struct drm_crtc_state *state,
@@ -271,7 +261,6 @@
 		return crtc->funcs->atomic_get_property(crtc, state, property, val);
 	return -EINVAL;
 }
-EXPORT_SYMBOL(drm_atomic_crtc_get_property);
 
 /**
  * drm_atomic_crtc_check - check crtc state
@@ -409,23 +398,14 @@
 }
 EXPORT_SYMBOL(drm_atomic_plane_set_property);
 
-/**
- * drm_atomic_plane_get_property - get property on plane
- * @plane: the drm plane to get a property on
- * @state: the state object with the property value to read
- * @property: the property to get
- * @val: the property value (returned by reference)
- *
- * Use this instead of calling plane->atomic_get_property directly.
+/*
  * This function handles generic/core properties and calls out to
  * driver's ->atomic_get_property() for driver properties.  To ensure
  * consistent behavior you must call this function rather than the
  * driver hook directly.
- *
- * RETURNS:
- * Zero on success, error code on failure
  */
-int drm_atomic_plane_get_property(struct drm_plane *plane,
+static int
+drm_atomic_plane_get_property(struct drm_plane *plane,
 		const struct drm_plane_state *state,
 		struct drm_property *property, uint64_t *val)
 {
@@ -460,7 +440,6 @@
 
 	return 0;
 }
-EXPORT_SYMBOL(drm_atomic_plane_get_property);
 
 /**
  * drm_atomic_plane_check - check plane state
@@ -650,23 +629,14 @@
 }
 EXPORT_SYMBOL(drm_atomic_connector_set_property);
 
-/**
- * drm_atomic_connector_get_property - get property on connector
- * @connector: the drm connector to get a property on
- * @state: the state object with the property value to read
- * @property: the property to get
- * @val: the property value (returned by reference)
- *
- * Use this instead of calling connector->atomic_get_property directly.
+/*
  * This function handles generic/core properties and calls out to
  * driver's ->atomic_get_property() for driver properties.  To ensure
  * consistent behavior you must call this function rather than the
  * driver hook directly.
- *
- * RETURNS:
- * Zero on success, error code on failure
  */
-int drm_atomic_connector_get_property(struct drm_connector *connector,
+static int
+drm_atomic_connector_get_property(struct drm_connector *connector,
 		const struct drm_connector_state *state,
 		struct drm_property *property, uint64_t *val)
 {
@@ -686,17 +656,7 @@
 
 	return 0;
 }
-EXPORT_SYMBOL(drm_atomic_connector_get_property);
 
-/**
- * drm_atomic_get_property - helper to read atomic property
- * @obj: drm mode object whose property to read
- * @property: the property to read
- * @val: the read value, returned by reference
- *
- * RETURNS:
- * Zero on success, error code on failure
- */
 int drm_atomic_get_property(struct drm_mode_object *obj,
 		struct drm_property *property, uint64_t *val)
 {
diff --git a/drivers/gpu/drm/drm_crtc_internal.h b/drivers/gpu/drm/drm_crtc_internal.h
index a2945ee..247dc8b 100644
--- a/drivers/gpu/drm/drm_crtc_internal.h
+++ b/drivers/gpu/drm/drm_crtc_internal.h
@@ -36,3 +36,9 @@
 void drm_mode_object_put(struct drm_device *dev,
 			 struct drm_mode_object *object);
 
+/* drm_atomic.c */
+int drm_atomic_get_property(struct drm_mode_object *obj,
+			   struct drm_property *property, uint64_t *val);
+int drm_mode_atomic_ioctl(struct drm_device *dev,
+			  void *data, struct drm_file *file_priv);
+
diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
index a28c0ab..5cb4058 100644
--- a/drivers/gpu/drm/drm_ioctl.c
+++ b/drivers/gpu/drm/drm_ioctl.c
@@ -32,6 +32,7 @@
 #include <drm/drm_core.h>
 #include "drm_legacy.h"
 #include "drm_internal.h"
+#include "drm_crtc_internal.h"
 
 #include <linux/pci.h>
 #include <linux/export.h>
