From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755386AbdDLTNR (ORCPT ); Wed, 12 Apr 2017 15:13:17 -0400 Received: from anholt.net ([50.246.234.109]:57806 "EHLO anholt.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753771AbdDLTMI (ORCPT ); Wed, 12 Apr 2017 15:12:08 -0400 From: Eric Anholt To: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org, Eric Anholt , Lucas Stach , Russell King , Christian Gmeiner , etnaviv@lists.freedesktop.org Subject: [PATCH v2 4/5] drm/etnaviv: Reuse dma_fence_release. Date: Wed, 12 Apr 2017 12:12:01 -0700 Message-Id: <20170412191202.22740-5-eric@anholt.net> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170412191202.22740-1-eric@anholt.net> References: <20170412191202.22740-1-eric@anholt.net> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If we follow the typical pattern of the base class being the first member, we can use the default dma_fence_free function. Signed-off-by: Eric Anholt Cc: Lucas Stach Cc: Russell King Cc: Christian Gmeiner Cc: etnaviv@lists.freedesktop.org --- drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c index da48819ff2e6..0d26ca56e94b 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c @@ -998,8 +998,8 @@ static void hangcheck_disable(struct etnaviv_gpu *gpu) /* fence object management */ struct etnaviv_fence { - struct etnaviv_gpu *gpu; struct dma_fence base; + struct etnaviv_gpu *gpu; }; static inline struct etnaviv_fence *to_etnaviv_fence(struct dma_fence *fence) @@ -1031,20 +1031,13 @@ static bool etnaviv_fence_signaled(struct dma_fence *fence) return fence_completed(f->gpu, f->base.seqno); } -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, .enable_signaling = etnaviv_fence_enable_signaling, .signaled = etnaviv_fence_signaled, .wait = dma_fence_default_wait, - .release = etnaviv_fence_release, + .release = dma_fence_free, }; static struct dma_fence *etnaviv_gpu_fence_alloc(struct etnaviv_gpu *gpu) -- 2.11.0