On Wed, Apr 12, 2017 at 3:12 PM, Eric Anholt <eric@xxxxxxxxxx> wrote: > 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 <eric@xxxxxxxxxx> > Cc: Rob Clark <robdclark@xxxxxxxxx> > Cc: linux-arm-msm@xxxxxxxxxxxxxxx > Cc: freedreno@xxxxxxxxxxxxxxxxxxxxx Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> (go ahead and push via drm-misc with the rest of the series, if you haven't already) > --- > drivers/gpu/drm/msm/msm_fence.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/msm/msm_fence.c b/drivers/gpu/drm/msm/msm_fence.c > index 3f299c537b77..a2f89bac9c16 100644 > --- a/drivers/gpu/drm/msm/msm_fence.c > +++ b/drivers/gpu/drm/msm/msm_fence.c > @@ -99,8 +99,8 @@ void msm_update_fence(struct msm_fence_context *fctx, uint32_t fence) > } > > struct msm_fence { > - struct msm_fence_context *fctx; > struct dma_fence base; > + struct msm_fence_context *fctx; > }; > > static inline struct msm_fence *to_msm_fence(struct dma_fence *fence) > @@ -130,19 +130,13 @@ static bool msm_fence_signaled(struct dma_fence *fence) > return fence_completed(f->fctx, f->base.seqno); > } > > -static void msm_fence_release(struct dma_fence *fence) > -{ > - struct msm_fence *f = to_msm_fence(fence); > - kfree_rcu(f, base.rcu); > -} > - > static const struct dma_fence_ops msm_fence_ops = { > .get_driver_name = msm_fence_get_driver_name, > .get_timeline_name = msm_fence_get_timeline_name, > .enable_signaling = msm_fence_enable_signaling, > .signaled = msm_fence_signaled, > .wait = dma_fence_default_wait, > - .release = msm_fence_release, > + .release = dma_fence_free, > }; > > struct dma_fence * > -- > 2.11.0 > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel