diff mbox

[2/2] drm: Add kernel-doc for drm_crtc_commit_get/put

Message ID 20161221102331.31033-2-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter Dec. 21, 2016, 10:23 a.m. UTC
I was lazy, rectify that! Also align with drm_atomic_state_get/put for
ocd.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/drm_atomic.c |  9 ++-------
 include/drm/drm_atomic.h     | 21 ++++++++++++++++++++-
 2 files changed, 22 insertions(+), 8 deletions(-)

Comments

kernel test robot Dec. 22, 2016, 3:11 a.m. UTC | #1
Hi Daniel,

[auto build test ERROR on drm/drm-next]
[also build test ERROR on v4.9 next-20161221]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Daniel-Vetter/drm-refernce-count-event-completion/20161222-101700
base:   git://people.freedesktop.org/~airlied/linux.git drm-next
config: i386-randconfig-r0-201651 (attached as .config)
compiler: gcc-5 (Debian 5.4.1-2) 5.4.1 20160904
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/gpu/drm/virtio/virtgpu_kms.o: In function `drm_crtc_commit_put':
>> virtgpu_kms.c:(.text+0x80): multiple definition of `drm_crtc_commit_put'
   drivers/gpu/drm/virtio/virtgpu_drv.o:virtgpu_drv.c:(.text+0x80): first defined here
   drivers/gpu/drm/virtio/virtgpu_drm_bus.o: In function `drm_crtc_commit_put':
   virtgpu_drm_bus.c:(.text+0x0): multiple definition of `drm_crtc_commit_put'
   drivers/gpu/drm/virtio/virtgpu_drv.o:virtgpu_drv.c:(.text+0x80): first defined here
   drivers/gpu/drm/virtio/virtgpu_gem.o: In function `drm_crtc_commit_put':
   virtgpu_gem.c:(.text+0x0): multiple definition of `drm_crtc_commit_put'
   drivers/gpu/drm/virtio/virtgpu_drv.o:virtgpu_drv.c:(.text+0x80): first defined here
   drivers/gpu/drm/virtio/virtgpu_fb.o: In function `drm_crtc_commit_put':
   virtgpu_fb.c:(.text+0x620): multiple definition of `drm_crtc_commit_put'
   drivers/gpu/drm/virtio/virtgpu_drv.o:virtgpu_drv.c:(.text+0x80): first defined here
   drivers/gpu/drm/virtio/virtgpu_display.o: In function `drm_crtc_commit_put':
   virtgpu_display.c:(.text+0x320): multiple definition of `drm_crtc_commit_put'
   drivers/gpu/drm/virtio/virtgpu_drv.o:virtgpu_drv.c:(.text+0x80): first defined here
   drivers/gpu/drm/virtio/virtgpu_vq.o: In function `drm_crtc_commit_put':
   virtgpu_vq.c:(.text+0x660): multiple definition of `drm_crtc_commit_put'
   drivers/gpu/drm/virtio/virtgpu_drv.o:virtgpu_drv.c:(.text+0x80): first defined here
   drivers/gpu/drm/virtio/virtgpu_ttm.o: In function `drm_crtc_commit_put':
   virtgpu_ttm.c:(.text+0x400): multiple definition of `drm_crtc_commit_put'
   drivers/gpu/drm/virtio/virtgpu_drv.o:virtgpu_drv.c:(.text+0x80): first defined here
   drivers/gpu/drm/virtio/virtgpu_fence.o: In function `drm_crtc_commit_put':
   virtgpu_fence.c:(.text+0xc0): multiple definition of `drm_crtc_commit_put'
   drivers/gpu/drm/virtio/virtgpu_drv.o:virtgpu_drv.c:(.text+0x80): first defined here
   drivers/gpu/drm/virtio/virtgpu_object.o: In function `drm_crtc_commit_put':
   virtgpu_object.c:(.text+0x60): multiple definition of `drm_crtc_commit_put'
   drivers/gpu/drm/virtio/virtgpu_drv.o:virtgpu_drv.c:(.text+0x80): first defined here
   drivers/gpu/drm/virtio/virtgpu_debugfs.o: In function `drm_crtc_commit_put':
   virtgpu_debugfs.c:(.text+0x50): multiple definition of `drm_crtc_commit_put'
   drivers/gpu/drm/virtio/virtgpu_drv.o:virtgpu_drv.c:(.text+0x80): first defined here
   drivers/gpu/drm/virtio/virtgpu_plane.o: In function `drm_crtc_commit_put':
   virtgpu_plane.c:(.text+0x4c0): multiple definition of `drm_crtc_commit_put'
   drivers/gpu/drm/virtio/virtgpu_drv.o:virtgpu_drv.c:(.text+0x80): first defined here
   drivers/gpu/drm/virtio/virtgpu_ioctl.o: In function `drm_crtc_commit_put':
   virtgpu_ioctl.c:(.text+0xed0): multiple definition of `drm_crtc_commit_put'
   drivers/gpu/drm/virtio/virtgpu_drv.o:virtgpu_drv.c:(.text+0x80): first defined here
   drivers/gpu/drm/virtio/virtgpu_prime.o: In function `drm_crtc_commit_put':
   virtgpu_prime.c:(.text+0x0): multiple definition of `drm_crtc_commit_put'
   drivers/gpu/drm/virtio/virtgpu_drv.o:virtgpu_drv.c:(.text+0x80): first defined here

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
diff mbox

Patch

diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index b1b54011a92c..26a4cfdf7777 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -35,19 +35,14 @@ 
 
 #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 -
diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h
index 91b18bd7cb50..e8ed6f707497 100644
--- a/include/drm/drm_atomic.h
+++ b/include/drm/drm_atomic.h
@@ -199,12 +199,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.
+ */
+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);