Re: [PATCH v4 01/10] dmaengine: Move enum dma_slave_buswidth to a new header
From: Frank Li
Date: Tue Sep 15 2026 - 13:23:06 EST
On Tue, Sep 15, 2026 at 09:50:22PM +0530, Vinod Koul wrote:
> On 15-09-26, 21:22, Vinod Koul wrote:
> > On 15-09-26, 10:29, Andy Shevchenko wrote:
> > > On Mon, Sep 14, 2026 at 09:18:42AM -0500, Frank Li wrote:
> > > > On Fri, Sep 11, 2026 at 06:25:36PM +0100, Nuno Sá wrote:
> > > > > In preparation for the bitmap based bus width capabilities, move
> > > > > enum dma_slave_buswidth out of linux/dmaengine.h into a new
> > > > > include/linux/dma/engine/types.h.
> > > > >
> > > > > linux/dmaengine.h is included nearly everywhere, so growing it with the
> > > > > new interface would make every one of its users pay for it. Keeping the
> > > > > basic types in a separate header lets the new interface live next to it
> > > > > without that cost. linux/dmaengine.h includes the new header, so its
> > > > > users are unaffected.
> > > > >
> > > > > While at it, add the missing kernel-doc for the enum members. The block
> > > > > already opened with /**, so kernel-doc expected every member to be
> > > > > described and warned about each one of them. Describe the UNDEFINED case
> > > > > in particular, as its meaning depends on where the value is used.
> > >
> > > ...
> > >
> > > > > include/linux/dmaengine.h | 20 +++-----------------
> > > >
> > > > I think it is good to split dmengine consumer and provider header files to
> > > > hidden dmaengine's detail.
> > >
> > > It's indeed desirable change. but isn't it a bit out of scope of the series?
> > > I suggest to do one step at a time. Would it work for you?
> > >
> > > > suggest name
> > > > dma/engine.h
> > > >
> > > > so we can start move more API to this files.
> > > >
> > > > after all user include this consumer header file, old
> > > > include/linux/dmaengine.h rename to include/linux/dmaengine-provider.h,
> > > > which only include by dmaengine drivers.
> > >
> > > Traditional naming would be
> > > dma/engine/provider.h
> > > dma/engine/consumer.h
> >
> > consumer and provider and good names.. I would retain the full dmaengine
> > everywhere please. dma causes confusion already!
>
> Thinking about it again, drivers/dma/dmaengine.h should be the provider
There some dmaengine code outside drivers/dma directory, like
drivers/crypto/ccp/ccp-dmaengine.c
Frank
> and include/linux/dmaengine.h the consumer header, things can be
> arranged into these files.. I would say whatever is not used by
> consumers can be moved into local header
>
> Thanks
> --
> ~Vinod