Re: [PATCH] usb: gadget: f_fs: Remove deprecated dma_fence->ops
From: Philipp Stanner
Date: Thu Oct 29 2026 - 09:57:33 EST
Hi,
On Thu, 2026-10-29 at 14:19 +0100, Paul Cercueil wrote:
> Hi Philipp,
>
> For context, this .release() callback was added to avoid the implicit free of
> the base class, which IIRC was a request I got during the review process of this
> change set.
Can't say anything about the request you got, but fences are reference-
counted and the ability to free itself exists since at least
3c3b177a9369 (2014).
>From dma_fence's perspective it's certainly the desired canonical
pattern since the release() ops prevents fences from the important
feature of decoupling fence producer and consumer.
>
> I'm personally fine with the change, but do we need a "keep this field at the
> top" comment for the base class in the ffs_dma_fence struct? Or what's the
> policy here?
When I got into the kernel I was told that it's common practice to
always have the base class as the first element. That also allows for
obtaining the parent class by a mere pointer-cast instead of
container_of.
But the reality is also that some users are not aware of this rule. I
can document it in a v2 if you like.
Regards,
Philipp