[PATCH v8 44/71] drm: consolidated *_bo_release() functions

"Enrico Weigelt, metux IT consult" <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
Signed-off-by: Enrico Weigelt, metux IT consult <[email protected]>
---
 src/drm/cairo-drm-intel.c   | 17 +----------------
 src/drm/cairo-drm-private.h |  3 +++
 src/drm/cairo-drm-radeon.c  | 12 +-----------
 src/drm/cairo-drm.c         |  8 ++++++++
 4 files changed, 13 insertions(+), 27 deletions(-)

diff --git a/src/drm/cairo-drm-intel.c b/src/drm/cairo-drm-intel.c
index 515eec9..1bf522b 100644
--- a/src/drm/cairo-drm-intel.c
+++ b/src/drm/cairo-drm-intel.c
@@ -485,21 +485,6 @@ FAIL:
     return NULL;
 }
 
-static void
-intel_bo_release (cairo_drm_device_t *_dev, cairo_drm_bo_t *_bo)
-{
-    intel_device_t *device = _cairo_drm_device_cast_intel(_dev);
-    intel_bo_t *bo = _cairo_drm_bo_cast_intel(_bo);
-
-    _cairo_drm_bo_unmap (_bo);
-
-    assert (bo->exec == NULL);
-    assert (cairo_list_is_empty (&bo->cache_list));
-
-    _cairo_drm_bo_close (_dev, _bo);
-    _cairo_freepool_free (&device->base.bo_pool, bo);
-}
-
 void
 intel_bo_set_tiling (const intel_device_t *device,
 	             intel_bo_t *bo)
@@ -720,7 +705,7 @@ intel_device_init (intel_device_t *device, int fd)
 
     device->gradient_cache.size = 0;
 
-    device->base.bo.release = intel_bo_release;
+    device->base.bo.release = _cairo_drm_bo_release;
     device->base.bo.map     = _cairo_drm_intel_bo_map;
 
     return CAIRO_STATUS_SUCCESS;
diff --git a/src/drm/cairo-drm-private.h b/src/drm/cairo-drm-private.h
index ca295d9..d62b953 100644
--- a/src/drm/cairo-drm-private.h
+++ b/src/drm/cairo-drm-private.h
@@ -193,6 +193,9 @@ _cairo_device_cast_drm_const(const cairo_device_t *device)
 cairo_private void
 _cairo_drm_bo_unmap (cairo_drm_bo_t *bo);
 
+cairo_private void
+_cairo_drm_bo_release (cairo_drm_device_t *device, cairo_drm_bo_t *bo);
+
 static inline cairo_drm_bo_t *
 cairo_drm_bo_reference (cairo_drm_bo_t *bo)
 {
diff --git a/src/drm/cairo-drm-radeon.c b/src/drm/cairo-drm-radeon.c
index 72cc0b0..c8905ce 100644
--- a/src/drm/cairo-drm-radeon.c
+++ b/src/drm/cairo-drm-radeon.c
@@ -242,16 +242,6 @@ radeon_bo_create_for_name (radeon_device_t *device,
     return &bo->base;
 }
 
-static void
-radeon_bo_release (cairo_drm_device_t *_dev, cairo_drm_bo_t *_bo)
-{
-    radeon_device_t *device = _cairo_drm_device_cast_radeon(_dev);
-    radeon_bo_t *bo = _cairo_drm_bo_cast_radeon(_bo);
-
-    _cairo_drm_bo_close (&device->base, &bo->base);
-    _cairo_freepool_free (&device->base.bo_pool, bo);
-}
-
 cairo_surface_t *
 _cairo_drm_radeon_bo_get_image (const cairo_drm_device_t *drm_dev,
 	             cairo_drm_bo_t *drm_bo,
@@ -299,7 +289,7 @@ radeon_device_init (radeon_device_t *device, int fd)
 {
     _cairo_freepool_init (&device->base.bo_pool, sizeof (radeon_bo_t));
 
-    device->base.bo.release   = radeon_bo_release;
+    device->base.bo.release   = _cairo_drm_bo_release;
     device->base.bo.map       = _cairo_drm_radeon_bo_map;
     device->base.bo.get_image = _cairo_drm_radeon_bo_get_image;
 
diff --git a/src/drm/cairo-drm.c b/src/drm/cairo-drm.c
index d4c1079..42bb041 100644
--- a/src/drm/cairo-drm.c
+++ b/src/drm/cairo-drm.c
@@ -388,3 +388,11 @@ cairo_drm_device_throttle (cairo_device_t *abstract_device)
     if (unlikely (status))
 	_cairo_status_set_error (&device->base.status, status);
 }
+
+void
+_cairo_drm_bo_release (cairo_drm_device_t *device, cairo_drm_bo_t *bo)
+{
+    _cairo_drm_bo_unmap (bo);
+    _cairo_drm_bo_close (device, bo);
+    _cairo_freepool_free (&device->bo_pool, bo);
+}
-- 
2.6.4.442.g545299f

-- 
cairo mailing list
[email protected]
https://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.