Commit 1a9458ae authored by Emil Velikov's avatar Emil Velikov Committed by Emil Velikov
Browse files

drm: remove drm_driver::gem_free_object

parent 00c47f56
Loading
Loading
Loading
Loading
+3 −19
Original line number Diff line number Diff line
@@ -975,15 +975,10 @@ drm_gem_object_free(struct kref *kref)
		container_of(kref, struct drm_gem_object, refcount);
	struct drm_device *dev = obj->dev;

	if (obj->funcs) {
	if (obj->funcs)
		obj->funcs->free(obj);
	} else if (dev->driver->gem_free_object_unlocked) {
	else if (dev->driver->gem_free_object_unlocked)
		dev->driver->gem_free_object_unlocked(obj);
	} else if (dev->driver->gem_free_object) {
		WARN_ON(!mutex_is_locked(&dev->struct_mutex));

		dev->driver->gem_free_object(obj);
	}
}
EXPORT_SYMBOL(drm_gem_object_free);

@@ -999,22 +994,11 @@ EXPORT_SYMBOL(drm_gem_object_free);
void
drm_gem_object_put_unlocked(struct drm_gem_object *obj)
{
	struct drm_device *dev;

	if (!obj)
		return;

	dev = obj->dev;

	if (dev->driver->gem_free_object) {
		might_lock(&dev->struct_mutex);
		if (kref_put_mutex(&obj->refcount, drm_gem_object_free,
				&dev->struct_mutex))
			mutex_unlock(&dev->struct_mutex);
	} else {
	kref_put(&obj->refcount, drm_gem_object_free);
}
}
EXPORT_SYMBOL(drm_gem_object_put_unlocked);

/**
+0 −8
Original line number Diff line number Diff line
@@ -327,14 +327,6 @@ struct drm_driver {
	 */
	void (*debugfs_init)(struct drm_minor *minor);

	/**
	 * @gem_free_object: deconstructor for drm_gem_objects
	 *
	 * This is deprecated and should not be used by new drivers. Use
	 * &drm_gem_object_funcs.free instead.
	 */
	void (*gem_free_object) (struct drm_gem_object *obj);

	/**
	 * @gem_free_object_unlocked: deconstructor for drm_gem_objects
	 *
+3 −2
Original line number Diff line number Diff line
@@ -272,8 +272,9 @@ struct drm_gem_object {
	 * attachment point for the device. This is invariant over the lifetime
	 * of a gem object.
	 *
	 * The &drm_driver.gem_free_object callback is responsible for cleaning
	 * up the dma_buf attachment and references acquired at import time.
	 * The &drm_driver.gem_free_object_unlocked callback is responsible for
	 * cleaning up the dma_buf attachment and references acquired at import
	 * time.
	 *
	 * Note that the drm gem/prime core does not depend upon drivers setting
	 * this field any more. So for drivers where this doesn't make sense