[PATCH 2/2] drm/etnaviv: Remove deprecated fence_ops->release()

From: Philipp Stanner

Date: Wed Oct 28 2026 - 06:32:07 EST


The dma_fence->ops->release() callback is deprecated because it prevents
drivers from unloading. All etnaviv does in its implementation is invoke
a kfree_rcu() on the fence.

The fence backend by now also frees fences with kfree_rcu() if
ops->release() is not implemented.

Remove the deprecated callback.

Signed-off-by: Philipp Stanner <phasta@xxxxxxxxxx>
---
Just compile-tested.
---
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 8 --------
1 file changed, 8 deletions(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
index e51a310c8d70..e75dab5e407d 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
@@ -1176,18 +1176,10 @@ static bool etnaviv_fence_signaled(struct dma_fence *fence)
return (s32)(f->gpu->completed_fence - f->base.seqno) >= 0;
}

-static void etnaviv_fence_release(struct dma_fence *fence)
-{
- struct etnaviv_fence *f = to_etnaviv_fence(fence);
-
- kfree_rcu(f, base.rcu);
-}
-
static const struct dma_fence_ops etnaviv_fence_ops = {
.get_driver_name = etnaviv_fence_get_driver_name,
.get_timeline_name = etnaviv_fence_get_timeline_name,
.signaled = etnaviv_fence_signaled,
- .release = etnaviv_fence_release,
};

static struct dma_fence *etnaviv_gpu_fence_alloc(struct etnaviv_gpu *gpu)
--
2.56.0