drm: Add kernel-doc for drm_crtc_commit_get/put
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 21 Dec 2016 13:03:35 +0000 (14:03 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 5 Jan 2017 07:55:02 +0000 (08:55 +0100)
I was lazy, rectify that! Also align with drm_atomic_state_get/put for
ocd.

v2: Git add helps.

Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161221130335.5321-1-daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_atomic.c
include/drm/drm_atomic.h

index 672f1de..6414bcf 100644 (file)
 
 #include "drm_crtc_internal.h"
 
-static void crtc_commit_free(struct kref *kref)
+void __drm_crtc_commit_free(struct kref *kref)
 {
        struct drm_crtc_commit *commit =
                container_of(kref, struct drm_crtc_commit, ref);
 
        kfree(commit);
 }
-
-void drm_crtc_commit_put(struct drm_crtc_commit *commit)
-{
-       kref_put(&commit->ref, crtc_commit_free);
-}
-EXPORT_SYMBOL(drm_crtc_commit_put);
+EXPORT_SYMBOL(__drm_crtc_commit_free);
 
 /**
  * drm_atomic_state_default_release -
index fd2d971..f96220e 100644 (file)
@@ -189,12 +189,31 @@ struct drm_atomic_state {
        struct work_struct commit_work;
 };
 
-void drm_crtc_commit_put(struct drm_crtc_commit *commit);
+void __drm_crtc_commit_free(struct kref *kref);
+
+/**
+ * drm_crtc_commit_get - acquire a reference to the CRTC commit
+ * @commit: CRTC commit
+ *
+ * Increases the reference of @commit.
+ */
 static inline void drm_crtc_commit_get(struct drm_crtc_commit *commit)
 {
        kref_get(&commit->ref);
 }
 
+/**
+ * drm_crtc_commit_put - release a reference to the CRTC commmit
+ * @commit: CRTC commit
+ *
+ * This releases a reference to @commit which is freed after removing the
+ * final reference. No locking required and callable from any context.
+ */
+static inline void drm_crtc_commit_put(struct drm_crtc_commit *commit)
+{
+       kref_put(&commit->ref, __drm_crtc_commit_free);
+}
+
 struct drm_atomic_state * __must_check
 drm_atomic_state_alloc(struct drm_device *dev);
 void drm_atomic_state_clear(struct drm_atomic_state *state);