Re: [PATCH v5 10/16] iio: buffer-dmaengine: add devm_iio_dmaengine_buffer_setup_ext2()

From: Jonathan Cameron
Date: Sun Dec 08 2024 - 13:32:17 EST


On Fri, 6 Dec 2024 16:04:40 -0600
David Lechner <dlechner@xxxxxxxxxxxx> wrote:

> On 12/6/24 3:36 PM, David Lechner wrote:
> > On 11/24/24 11:16 AM, Jonathan Cameron wrote:
> >> On Fri, 15 Nov 2024 14:18:49 -0600
> >> David Lechner <dlechner@xxxxxxxxxxxx> wrote:
> >>
> >>> Add a new devm_iio_dmaengine_buffer_setup_ext2() function to handle
> >>> cases where the DMA channel is managed by the caller rather than being
> >>> requested and released by the iio_dmaengine module.
> >>>
> >>> Signed-off-by: David Lechner <dlechner@xxxxxxxxxxxx>
> >> Fresh read and I'm wondering if the lifetimes in here can be managed
> >> more simply either by pushing the DMA channel get down, or dragging
> >> the release up. Basically I'd like to see them at the same level
> >> of nesting in the code. If it ends up being necessary to duplicate
> >> more code that is fine if it makes this easier to reason about.
> >>
> >
> > One option could be instead of introducing a 2nd function, change
>
> Oops. The new function is devm_ so would still need a 2nd function
> but changing iio_dmaengine_buffer_setup_ext() to have basically
> the same signature would still avoid the asymmetry.
That sounds sensible. (though I've mostly forgotten the background ;)

>
> > the existing iio_dmaengine_buffer_setup_ext() to use the signature
> > of the proposed devm_iio_dmaengine_buffer_setup_ext2(). There are
> > only two users of these functions. So we could move the dma chan
> > request/release out to the drivers for those.
> >
> > Otherwise, we can't completely get rid of the owns_chan bit.
> >